ProjectsServiceImpl.java 3.19 KB
package com.project.demo.service.Impl;

import com.project.demo.domain.Projects;
import com.project.demo.domain.SalesMan;
import com.project.demo.domain.Users;
import com.project.demo.mapper.ProjectsMapper;
import com.project.demo.service.ProjectsService;
import com.project.demo.service.SalesManService;
import com.project.demo.service.UsersService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.*;

/**
 * Created by xuwenhao on 2018/4/10.
 */
@Service
public class ProjectsServiceImpl implements ProjectsService{
    @Autowired
    private ProjectsMapper projectsMapper;
    @Autowired
    private UsersService usersService;
    @Autowired
    private SalesManService salesManService;
    @Override
    public List<Projects> search(Map<String, Object> params){
        List<Projects> projectsList = projectsMapper.search(params);
        projectsList.stream().forEach(d ->{
           Users users = usersService.findById(d.getUsersId());
            d.setUsersName(users.getName());
            if(d.getProjectName().length()>8){
               d.setProjectName( d.getProjectName().substring(0,8)+"......");
            }
            if(d.getRemark().length()>32){
                d.setRemark( d.getRemark().substring(0,32)+"......");
            }
        });
        return projectsList;
    }
    @Override
    public Projects findById(Integer id){
        return projectsMapper.findById(id);
    }
    @Override
    public  List<Integer> salesMans(Integer id){
        final Map<String,Object> params = new HashMap<>();
        List<Integer> salesMansIds = new ArrayList<>();
        Integer createMan = findById(id).getUsersId();
        salesMansIds.add(createMan);
        params.put("projectsId",id);
        List<SalesMan> salesManList = salesManService.search(params);
        if(salesManList.size()>0){
            for(int i = 0;i < salesManList.size();i++){
                salesMansIds.add(salesManList.get(i).getUsersId());
            }
        }
        return salesMansIds;
    }
    @Override
    public List<Projects> findByUsersId(Integer usersId){
        return projectsMapper.findByUsersId(usersId);
    }
    @Override
    public List<Integer> usersProjects(Integer usersId){
        final Map<String,Object> params = new HashMap<>();
        List<Integer> projectsIds = new ArrayList<>();
        params.put("usersId",usersId);
        List<SalesMan> salesManList = salesManService.search(params);
        for(int i=0;i<salesManList.size();i++){
            projectsIds.add(salesManList.get(i).getProjectsId());
        }
        List<Projects> createList = findByUsersId(usersId);
        for(int j=0;j<createList.size();j++){
            projectsIds.add(createList.get(j).getId());
        }
        projectsIds.add(0);
        return projectsIds;
    }
    @Override
    public void updateProjects(Integer id,Map<String, Object> params){
        projectsMapper.updateProjects(id,params);
    }

    @Override
    public Integer saveProjects(Projects projects){
        return projectsMapper.saveProjects(projects);
    }
    @Override
    public Projects findByStartTime(Date startTime){
        return projectsMapper.findByStartTime(startTime);
    }

}