|  | @@ -1,5 +1,18 @@
 | 
											
												
													
														|  |  package com.ym.mec.biz.service.impl;
 |  |  package com.ym.mec.biz.service.impl;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +import java.util.ArrayList;
 | 
											
												
													
														|  | 
 |  | +import java.util.HashMap;
 | 
											
												
													
														|  | 
 |  | +import java.util.List;
 | 
											
												
													
														|  | 
 |  | +import java.util.Map;
 | 
											
												
													
														|  | 
 |  | +import java.util.Set;
 | 
											
												
													
														|  | 
 |  | +import java.util.stream.Collectors;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +import org.apache.commons.lang3.StringUtils;
 | 
											
												
													
														|  | 
 |  | +import org.springframework.beans.factory.annotation.Autowired;
 | 
											
												
													
														|  | 
 |  | +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 | 
											
												
													
														|  | 
 |  | +import org.springframework.stereotype.Service;
 | 
											
												
													
														|  | 
 |  | +import org.springframework.transaction.annotation.Transactional;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  import com.ym.mec.auth.api.client.SysUserFeignService;
 |  |  import com.ym.mec.auth.api.client.SysUserFeignService;
 | 
											
												
													
														|  |  import com.ym.mec.auth.api.entity.SysUser;
 |  |  import com.ym.mec.auth.api.entity.SysUser;
 | 
											
												
													
														|  |  import com.ym.mec.auth.api.enums.YesOrNoEnum;
 |  |  import com.ym.mec.auth.api.enums.YesOrNoEnum;
 | 
											
										
											
												
													
														|  | @@ -10,7 +23,6 @@ import com.ym.mec.biz.dal.dao.TeacherDao;
 | 
											
												
													
														|  |  import com.ym.mec.biz.dal.dto.EmployeeDto;
 |  |  import com.ym.mec.biz.dal.dto.EmployeeDto;
 | 
											
												
													
														|  |  import com.ym.mec.biz.dal.dto.EmployeeLevelDto;
 |  |  import com.ym.mec.biz.dal.dto.EmployeeLevelDto;
 | 
											
												
													
														|  |  import com.ym.mec.biz.dal.dto.SimpleUserDto;
 |  |  import com.ym.mec.biz.dal.dto.SimpleUserDto;
 | 
											
												
													
														|  | -import com.ym.mec.biz.dal.entity.ClassGroup;
 |  | 
 | 
											
												
													
														|  |  import com.ym.mec.biz.dal.entity.Employee;
 |  |  import com.ym.mec.biz.dal.entity.Employee;
 | 
											
												
													
														|  |  import com.ym.mec.biz.dal.entity.SysUserCashAccount;
 |  |  import com.ym.mec.biz.dal.entity.SysUserCashAccount;
 | 
											
												
													
														|  |  import com.ym.mec.biz.dal.enums.EmployeeOperateEnum;
 |  |  import com.ym.mec.biz.dal.enums.EmployeeOperateEnum;
 | 
											
										
											
												
													
														|  | @@ -29,15 +41,6 @@ import com.ym.mec.common.service.impl.BaseServiceImpl;
 | 
											
												
													
														|  |  import com.ym.mec.im.ImFeignService;
 |  |  import com.ym.mec.im.ImFeignService;
 | 
											
												
													
														|  |  import com.ym.mec.util.collection.MapUtil;
 |  |  import com.ym.mec.util.collection.MapUtil;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -import org.apache.commons.lang3.StringUtils;
 |  | 
 | 
											
												
													
														|  | -import org.springframework.beans.factory.annotation.Autowired;
 |  | 
 | 
											
												
													
														|  | -import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 |  | 
 | 
											
												
													
														|  | -import org.springframework.stereotype.Service;
 |  | 
 | 
											
												
													
														|  | -import org.springframework.transaction.annotation.Transactional;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -import java.util.*;
 |  | 
 | 
											
												
													
														|  | -import java.util.stream.Collectors;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  |  @Service
 |  |  @Service
 | 
											
												
													
														|  |  public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  implements EmployeeService {
 |  |  public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  implements EmployeeService {
 | 
											
												
													
														|  |  	
 |  |  	
 | 
											
										
											
												
													
														|  | @@ -224,7 +227,9 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 | 
											
												
													
														|  |  	@Transactional(rollbackFor = Exception.class)
 |  |  	@Transactional(rollbackFor = Exception.class)
 | 
											
												
													
														|  |  	public void level(List<EmployeeLevelDto> employeeLevelDtos) {
 |  |  	public void level(List<EmployeeLevelDto> employeeLevelDtos) {
 | 
											
												
													
														|  |  		Integer levelUserId = employeeLevelDtos.get(0).getLevelUserId();
 |  |  		Integer levelUserId = employeeLevelDtos.get(0).getLevelUserId();
 | 
											
												
													
														|  | -		List<ImGroupModel> imGroupModels = new ArrayList<>();
 |  | 
 | 
											
												
													
														|  | 
 |  | +		List<ImGroupModel> educationGroupModels = new ArrayList<>();
 | 
											
												
													
														|  | 
 |  | +		List<ImGroupModel> teamGroupModels = new ArrayList<>();
 | 
											
												
													
														|  | 
 |  | +		List<ImGroupModel> directorGroupModels = new ArrayList<>();
 | 
											
												
													
														|  |  		//获取用户需要加入的群组列表
 |  |  		//获取用户需要加入的群组列表
 | 
											
												
													
														|  |  		Map<String, List<EmployeeLevelDto>> collect = employeeLevelDtos.stream().collect(Collectors.groupingBy(e -> e.getRoleName()));
 |  |  		Map<String, List<EmployeeLevelDto>> collect = employeeLevelDtos.stream().collect(Collectors.groupingBy(e -> e.getRoleName()));
 | 
											
												
													
														|  |  		Set<String> roleNames = collect.keySet();
 |  |  		Set<String> roleNames = collect.keySet();
 | 
											
										
											
												
													
														|  | @@ -241,28 +246,52 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 | 
											
												
													
														|  |  					switch (roleName){
 |  |  					switch (roleName){
 | 
											
												
													
														|  |  						case "education":
 |  |  						case "education":
 | 
											
												
													
														|  |  							//教务老师所需加入的群组
 |  |  							//教务老师所需加入的群组
 | 
											
												
													
														|  | -							imGroupModels.addAll(classGroupDao.queryEducationGroups(employeeLevelDto.getTransferUserId(),levelUserId,organId));
 |  | 
 | 
											
												
													
														|  | 
 |  | +							educationGroupModels.addAll(classGroupDao.queryEducationGroups(employeeLevelDto.getTransferUserId(),levelUserId,organId));
 | 
											
												
													
														|  |  							break;
 |  |  							break;
 | 
											
												
													
														|  |  						case "teamTeacher":
 |  |  						case "teamTeacher":
 | 
											
												
													
														|  |  							//运营主管所需加入的群组
 |  |  							//运营主管所需加入的群组
 | 
											
												
													
														|  | -							imGroupModels.addAll(classGroupDao.queryTeamTeacherGroups(employeeLevelDto.getTransferUserId(),levelUserId,organId));
 |  | 
 | 
											
												
													
														|  | 
 |  | +							teamGroupModels.addAll(classGroupDao.queryTeamTeacherGroups(employeeLevelDto.getTransferUserId(),levelUserId,organId));
 | 
											
												
													
														|  |  							break;
 |  |  							break;
 | 
											
												
													
														|  |  						case "director":
 |  |  						case "director":
 | 
											
												
													
														|  |  							//乐队指导所需加入的群组
 |  |  							//乐队指导所需加入的群组
 | 
											
												
													
														|  | -							imGroupModels.addAll(classGroupDao.queryDirectorGroups(employeeLevelDto.getTransferUserId(),levelUserId,organId));
 |  | 
 | 
											
												
													
														|  | 
 |  | +							directorGroupModels.addAll(classGroupDao.queryDirectorGroups(employeeLevelDto.getTransferUserId(),levelUserId,organId));
 | 
											
												
													
														|  |  							break;
 |  |  							break;
 | 
											
												
													
														|  |  					}
 |  |  					}
 | 
											
												
													
														|  |  				}
 |  |  				}
 | 
											
												
													
														|  |  			}
 |  |  			}
 | 
											
												
													
														|  |  		}
 |  |  		}
 | 
											
												
													
														|  | -		if(imGroupModels.size() > 0){
 |  | 
 | 
											
												
													
														|  | 
 |  | +		if(educationGroupModels.size() > 0){
 | 
											
												
													
														|  | 
 |  | +			//❤️用户加群
 | 
											
												
													
														|  | 
 |  | +			for (ImGroupModel imGroupModel : educationGroupModels) {
 | 
											
												
													
														|  | 
 |  | +				Map<Integer,String> userRoleMap = new HashMap<Integer, String>();
 | 
											
												
													
														|  | 
 |  | +				
 | 
											
												
													
														|  | 
 |  | +				List<ImGroupMember> memberList = imGroupModel.getMemberList();
 | 
											
												
													
														|  | 
 |  | +				for(ImGroupMember member : memberList){
 | 
											
												
													
														|  | 
 |  | +					userRoleMap.put(Integer.parseInt(member.getId()), "乐团主管");
 | 
											
												
													
														|  | 
 |  | +				}
 | 
											
												
													
														|  | 
 |  | +				imGroupMemberService.join(Long.parseLong(imGroupModel.getId()), userRoleMap);
 | 
											
												
													
														|  | 
 |  | +			}
 | 
											
												
													
														|  | 
 |  | +		}
 | 
											
												
													
														|  | 
 |  | +		if(teamGroupModels.size() > 0){
 | 
											
												
													
														|  | 
 |  | +			//❤️用户加群
 | 
											
												
													
														|  | 
 |  | +			for (ImGroupModel imGroupModel : teamGroupModels) {
 | 
											
												
													
														|  | 
 |  | +				Map<Integer,String> userRoleMap = new HashMap<Integer, String>();
 | 
											
												
													
														|  | 
 |  | +				
 | 
											
												
													
														|  | 
 |  | +				List<ImGroupMember> memberList = imGroupModel.getMemberList();
 | 
											
												
													
														|  | 
 |  | +				for(ImGroupMember member : memberList){
 | 
											
												
													
														|  | 
 |  | +					userRoleMap.put(Integer.parseInt(member.getId()), "运营主管");
 | 
											
												
													
														|  | 
 |  | +				}
 | 
											
												
													
														|  | 
 |  | +				imGroupMemberService.join(Long.parseLong(imGroupModel.getId()), userRoleMap);
 | 
											
												
													
														|  | 
 |  | +			}
 | 
											
												
													
														|  | 
 |  | +		}
 | 
											
												
													
														|  | 
 |  | +		if(directorGroupModels.size() > 0){
 | 
											
												
													
														|  |  			//❤️用户加群
 |  |  			//❤️用户加群
 | 
											
												
													
														|  | -			for (ImGroupModel imGroupModel : imGroupModels) {
 |  | 
 | 
											
												
													
														|  | 
 |  | +			for (ImGroupModel imGroupModel : directorGroupModels) {
 | 
											
												
													
														|  |  				Map<Integer,String> userRoleMap = new HashMap<Integer, String>();
 |  |  				Map<Integer,String> userRoleMap = new HashMap<Integer, String>();
 | 
											
												
													
														|  |  				
 |  |  				
 | 
											
												
													
														|  |  				List<ImGroupMember> memberList = imGroupModel.getMemberList();
 |  |  				List<ImGroupMember> memberList = imGroupModel.getMemberList();
 | 
											
												
													
														|  |  				for(ImGroupMember member : memberList){
 |  |  				for(ImGroupMember member : memberList){
 | 
											
												
													
														|  | -					userRoleMap.put(Integer.parseInt(member.getId()), "");
 |  | 
 | 
											
												
													
														|  | 
 |  | +					userRoleMap.put(Integer.parseInt(member.getId()), "乐队指导");
 | 
											
												
													
														|  |  				}
 |  |  				}
 | 
											
												
													
														|  |  				imGroupMemberService.join(Long.parseLong(imGroupModel.getId()), userRoleMap);
 |  |  				imGroupMemberService.join(Long.parseLong(imGroupModel.getId()), userRoleMap);
 | 
											
												
													
														|  |  			}
 |  |  			}
 |