|  | @@ -52,6 +52,8 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 | 
	
		
			
				|  |  |  	@Autowired
 | 
	
		
			
				|  |  |  	private MusicGroupDao musicGroupDao;
 | 
	
		
			
				|  |  |  	@Autowired
 | 
	
		
			
				|  |  | +	private StudentRegistrationDao studentRegistrationDao;
 | 
	
		
			
				|  |  | +	@Autowired
 | 
	
		
			
				|  |  |  	private DemoGroupDao demoGroupDao;
 | 
	
		
			
				|  |  |  	@Autowired
 | 
	
		
			
				|  |  |  	private OrganizationDao organizationDao;
 | 
	
	
		
			
				|  | @@ -238,6 +240,45 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	@Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  |  	public void queryGroupStudents1(Integer teacherId, String search) {
 | 
	
		
			
				|  |  | +		List<ImUserFriendDto> imUserFriendDtos = imUserFriendDao.queryFriendListByUserId(teacherId, search);
 | 
	
		
			
				|  |  | +		if(imUserFriendDtos.size() > 0){
 | 
	
		
			
				|  |  | +			return;
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		Set<BasicUserDto> basicUserDtos = new HashSet<>();
 | 
	
		
			
				|  |  | +		//学员关联的通讯录
 | 
	
		
			
				|  |  | +		//获取相关课程,班级老师列表
 | 
	
		
			
				|  |  | +		Set<Integer> teacherIds = teacherDao.findMusicTeacherIds(teacherId);
 | 
	
		
			
				|  |  | +		//获取学员所在乐团列表
 | 
	
		
			
				|  |  | +		List<String> musicGroupIds = studentRegistrationDao.queryStudentMusicGroup(teacherId);
 | 
	
		
			
				|  |  | +		if (musicGroupIds != null && musicGroupIds.size() > 0) {
 | 
	
		
			
				|  |  | +			List<MusicGroup> musicGroups = musicGroupDao.queryListByIds(StringUtils.join(musicGroupIds, ","));
 | 
	
		
			
				|  |  | +			musicGroups.forEach(e -> {
 | 
	
		
			
				|  |  | +				teacherIds.add(e.getDirectorUserId());
 | 
	
		
			
				|  |  | +				teacherIds.add(e.getEducationalTeacherId());
 | 
	
		
			
				|  |  | +				teacherIds.add(e.getTeamTeacherId());
 | 
	
		
			
				|  |  | +			});
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		//获取相关vip课老师列表
 | 
	
		
			
				|  |  | +		teacherIds.addAll(teacherDao.findVipTeacherIds(teacherId));
 | 
	
		
			
				|  |  | +		//获取陪练课老师列表
 | 
	
		
			
				|  |  | +		teacherIds.addAll(teacherDao.findPracticeTeacherIds(teacherId));
 | 
	
		
			
				|  |  | +		//获取对外课程老师列表
 | 
	
		
			
				|  |  | +		teacherIds.addAll(teacherDao.findCloseCourseTeacherIds(teacherId));
 | 
	
		
			
				|  |  | +		//获取陪练课课程教务老师
 | 
	
		
			
				|  |  | +		teacherIds.addAll(teacherDao.findPracticeEducationalTeacherId(teacherId));
 | 
	
		
			
				|  |  | +		//获取VIP课程教务老师
 | 
	
		
			
				|  |  | +		teacherIds.addAll(teacherDao.findVipEducationalTeacherId(teacherId));
 | 
	
		
			
				|  |  | +		//获取对外课程务老师
 | 
	
		
			
				|  |  | +		teacherIds.addAll(teacherDao.findCommEducationalTeacherId(teacherId));
 | 
	
		
			
				|  |  | +		//获取关联的指导老师
 | 
	
		
			
				|  |  | +		Student student = studentDao.get(teacherId);
 | 
	
		
			
				|  |  | +		if (student != null && student.getTeacherId() != null) {
 | 
	
		
			
				|  |  | +			teacherIds.add(student.getTeacherId());
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		if (teacherIds.size() > 0) {
 | 
	
		
			
				|  |  | +			basicUserDtos.addAll(teacherDao.queryTeacherBaseInfo(teacherIds, search));
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  		//获取关联的学员列表
 | 
	
		
			
				|  |  |  		Set<Integer> studentIds = teacherDao.queryCourseClassStudentIds(teacherId);
 | 
	
		
			
				|  |  |  		//获取关联的老师列表
 | 
	
	
		
			
				|  | @@ -256,7 +297,7 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		studentIds.removeAll(Collections.singleton(null));
 | 
	
		
			
				|  |  |  		List<ImGroupModel> musicGroups =  musicGroupDao.queryTeacherGroups(teacherId,search);
 | 
	
		
			
				|  |  | -		List<BasicUserDto> teachers = new ArrayList<>();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  		if(musicGroups != null && musicGroups.size() > 0){
 | 
	
		
			
				|  |  |  			Set<String> musicGroupId = musicGroups.stream().map(ImGroupModel::getId).collect(Collectors.toSet());
 | 
	
		
			
				|  |  |  			List<MusicGroup> musicGroupList = musicGroupDao.queryListByIds(StringUtils.join(musicGroupId, ","));
 | 
	
	
		
			
				|  | @@ -271,15 +312,16 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 | 
	
		
			
				|  |  |  			teacherIdSet.remove(teacherId);
 | 
	
		
			
				|  |  |  			teacherIdSet.removeAll(Collections.singleton(null));
 | 
	
		
			
				|  |  |  			if(teacherIdSet.size() > 0){
 | 
	
		
			
				|  |  | -				teachers = teacherDao.queryMusicGroupStudents(StringUtils.join(teacherIdSet,","), search);
 | 
	
		
			
				|  |  | +				basicUserDtos.addAll(teacherDao.queryMusicGroupStudents(StringUtils.join(teacherIdSet,","), search));
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  		List<BasicUserDto> userDtos = teacherDao.queryGroupStudents(teacherId, search);
 | 
	
		
			
				|  |  |  		if(userDtos != null && userDtos.size() > 0){
 | 
	
		
			
				|  |  | -			teachers.addAll(userDtos);
 | 
	
		
			
				|  |  | -			Set<String> musicGroupIds = userDtos.stream().map(e -> e.getMusicGroupId()).collect(Collectors.toSet());
 | 
	
		
			
				|  |  | -			if(musicGroupIds != null && musicGroupIds.size() > 0){
 | 
	
		
			
				|  |  | -				Map<String, String> musicGroupNameMap = MapUtil.convertIntegerMap(musicGroupDao.queryMusicGroupNameMap(musicGroupIds));
 | 
	
		
			
				|  |  | +			basicUserDtos.addAll(userDtos);
 | 
	
		
			
				|  |  | +			Set<String> musicGroupIds1 = userDtos.stream().map(e -> e.getMusicGroupId()).collect(Collectors.toSet());
 | 
	
		
			
				|  |  | +			if(musicGroupIds1 != null && musicGroupIds1.size() > 0){
 | 
	
		
			
				|  |  | +				Map<String, String> musicGroupNameMap = MapUtil.convertIntegerMap(musicGroupDao.queryMusicGroupNameMap(musicGroupIds1));
 | 
	
		
			
				|  |  |  				userDtos.forEach(e->{
 | 
	
		
			
				|  |  |  					e.setMusicGroupName(musicGroupNameMap.get(e.getMusicGroupId()));
 | 
	
		
			
				|  |  |  				});
 | 
	
	
		
			
				|  | @@ -287,20 +329,12 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		studentIds.removeAll(userDtos.stream().map(e->e.getUserId()).collect(Collectors.toSet()));
 | 
	
		
			
				|  |  |  		studentIds.remove(teacherId);
 | 
	
		
			
				|  |  | -		//获取课程关联的学生列表
 | 
	
		
			
				|  |  | -//		teachers.addAll(teacherDao.findCloseCourseStudentIds(teacherId, search));
 | 
	
		
			
				|  |  | -		//获取相关vip陪练教务的学员编号
 | 
	
		
			
				|  |  | -//		teachers.addAll(teacherDao.findVipEducationalStudentId(teacherId,search));
 | 
	
		
			
				|  |  | -//		teachers.addAll(teacherDao.findCommEducationalStudentId(teacherId,search));
 | 
	
		
			
				|  |  | -//		teachers.addAll(teacherDao.findPracticeEducationalStudentId(teacherId,search));
 | 
	
		
			
				|  |  |  		if(studentIds.size() > 0){
 | 
	
		
			
				|  |  | -			teachers.addAll(teacherDao.queryTeacherBaseInfo(studentIds,search));
 | 
	
		
			
				|  |  | +			basicUserDtos.addAll(teacherDao.queryTeacherBaseInfo(studentIds,search));
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | -		if(teachers.size() > 0){
 | 
	
		
			
				|  |  | -			//删除现有的用户通讯录
 | 
	
		
			
				|  |  | -			imUserFriendDao.deleteByUserId(teacherId);
 | 
	
		
			
				|  |  | +		if(basicUserDtos.size() > 0){
 | 
	
		
			
				|  |  |  			//批量新增
 | 
	
		
			
				|  |  | -			imUserFriendDao.batchInsert(teachers,teacherId);
 | 
	
		
			
				|  |  | +			imUserFriendDao.batchInsert(basicUserDtos,teacherId);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 |