|
@@ -1,9 +1,18 @@
|
|
package com.dayou.service.impl;
|
|
package com.dayou.service.impl;
|
|
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
|
+import com.dayou.bo.LeaderRatioBO;
|
|
|
|
+import com.dayou.dto.TeamLeaderDTO;
|
|
|
|
+import com.dayou.entity.Team;
|
|
import com.dayou.entity.TeamMember;
|
|
import com.dayou.entity.TeamMember;
|
|
import com.dayou.mapper.TeamMemberMapper;
|
|
import com.dayou.mapper.TeamMemberMapper;
|
|
import com.dayou.service.ITeamMemberService;
|
|
import com.dayou.service.ITeamMemberService;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
+import com.dayou.service.IUserService;
|
|
|
|
+import com.dayou.vo.TeamMemberVO;
|
|
|
|
+import com.dayou.vo.TeamVO;
|
|
|
|
+import com.google.common.collect.Sets;
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
@@ -19,8 +28,10 @@ import org.apache.poi.ss.usermodel.Row;
|
|
import org.apache.poi.ss.usermodel.Sheet;
|
|
import org.apache.poi.ss.usermodel.Sheet;
|
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
-import java.util.List;
|
|
|
|
-import java.util.ArrayList;
|
|
|
|
|
|
+
|
|
|
|
+import java.util.*;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
+
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import com.dayou.enums.BatchTaskTypeEnum;
|
|
import com.dayou.enums.BatchTaskTypeEnum;
|
|
|
|
|
|
@@ -35,6 +46,11 @@ import com.dayou.enums.BatchTaskTypeEnum;
|
|
@Service
|
|
@Service
|
|
public class TeamMemberServiceImpl extends ServiceImpl<TeamMemberMapper, TeamMember> implements ITeamMemberService {
|
|
public class TeamMemberServiceImpl extends ServiceImpl<TeamMemberMapper, TeamMember> implements ITeamMemberService {
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private TeamMemberMapper teamMemberMapper;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private IUserService userService;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@SuppressWarnings("unchecked")
|
|
@SuppressWarnings("unchecked")
|
|
@@ -49,8 +65,19 @@ public class TeamMemberServiceImpl extends ServiceImpl<TeamMemberMapper, TeamMem
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public Boolean add(TeamMember teamMember){
|
|
|
|
- return this.save(teamMember);
|
|
|
|
|
|
+ public Boolean add(TeamVO teamVO){
|
|
|
|
+ List<Long> members = teamVO.getMemberIds();
|
|
|
|
+ Long teamId = teamVO.getId();
|
|
|
|
+ if (CollectionUtils.isNotEmpty(members) && teamId!=null){
|
|
|
|
+ Set<TeamMember> teamMembers = members.stream().map(x -> {
|
|
|
|
+ TeamMember teamMember = new TeamMember();
|
|
|
|
+ teamMember.setMemberId(x);
|
|
|
|
+ teamMember.setTeamId(teamId);
|
|
|
|
+ return teamMember;
|
|
|
|
+ }).collect(Collectors.toSet());
|
|
|
|
+ return this.saveBatch(teamMembers);
|
|
|
|
+ }
|
|
|
|
+ return Boolean.FALSE;
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -63,4 +90,19 @@ public class TeamMemberServiceImpl extends ServiceImpl<TeamMemberMapper, TeamMem
|
|
//逻辑删除
|
|
//逻辑删除
|
|
return this.removeById(id);
|
|
return this.removeById(id);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public Set<LeaderRatioBO> getLeader(Long userId,String departmentName) {
|
|
|
|
+ Team leader = teamMemberMapper.getLeader(userId, departmentName);
|
|
|
|
+ if (leader!=null){
|
|
|
|
+ Long supervisorId = leader.getSupervisorId();
|
|
|
|
+ Long cultivateId = leader.getCultivateId();
|
|
|
|
+ Set<Long> leaderIds = Sets.newHashSet(supervisorId, cultivateId);
|
|
|
|
+ Set<LeaderRatioBO> set = userService.getLeaderRatioBO(leaderIds);
|
|
|
|
+ return set;
|
|
|
|
+ }
|
|
|
|
+ //如果没有加入团队,则团队领导为营销经理
|
|
|
|
+ Set<LeaderRatioBO> set = userService.marketManagerRatioBO();
|
|
|
|
+ return set;
|
|
|
|
+ }
|
|
}
|
|
}
|