| 
					
				 | 
			
			
				@@ -134,320 +134,402 @@ public class ImUserFriendServiceImpl extends BaseServiceImpl<Long, ImUserFriend> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public void classGroupAddStudent(Integer classGroupId, List<Integer> studentIds) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		Set<Integer> teacherIds = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		Set<Integer> educations = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public void refreshCourseImUserFriend(Long courseId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		CourseSchedule courseSchedule = courseScheduleDao.get(courseId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//获取班级关联的老师列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Set<Integer> teacherIds = classGroupTeacherMapperDao.queryTeacherIdsByClassGroupId(courseSchedule.getClassGroupId(),null,null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//获取班级关联的学员列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Set<Integer> studentIds = classGroupStudentMapperDao.queryStudentIdsByClassGroupId(courseSchedule.getClassGroupId(),null,null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ClassGroup classGroup = classGroupDao.get(courseSchedule.getClassGroupId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		GroupType groupType = classGroup.getGroupType(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		saveImUserFriends(studentIds,teacherIds,groupType,classGroup.getMusicGroupId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public void refreshClassImUserFriend(Integer classGroupId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//获取班级关联的老师列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Set<Integer> teacherIds = classGroupTeacherMapperDao.queryTeacherIdsByClassGroupId(classGroupId,null,null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//获取班级关联的学员列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Set<Integer> studentIds = classGroupStudentMapperDao.queryStudentIdsByClassGroupId(classGroupId,null,null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		ClassGroup classGroup = classGroupDao.get(classGroupId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		List<ImUserFriend> imUserFriends = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		//获取班级关联的老师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		List<ClassGroupTeacherMapper> classGroupTeacherMappers = classGroupTeacherMapperDao.findByClassGroup(classGroupId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		teacherIds.addAll(classGroupTeacherMappers.stream().map(e->e.getUserId()).collect(Collectors.toSet())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		//学员关联的课程上的老师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		teacherIds.addAll(courseScheduleTeacherSalaryDao.queryTeacherByTeaching(classGroupId,null)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		teacherIds.addAll(studentIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		GroupType groupType = classGroup.getGroupType(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		saveImUserFriends(studentIds,teacherIds,groupType,classGroup.getMusicGroupId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public void refreshGroupImUserFriend(String musicGroupId,GroupType groupType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//获取班级关联的老师列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Set<Integer> teacherIds = classGroupTeacherMapperDao.queryTeacherIdsByClassGroupId(null,musicGroupId,groupType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//获取班级关联的学员列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Set<Integer> studentIds = classGroupStudentMapperDao.queryStudentIdsByClassGroupId(null,musicGroupId,groupType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		saveImUserFriends(studentIds,teacherIds,groupType,musicGroupId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private void saveImUserFriends(Set<Integer> studentIds,Set<Integer> teacherIds,GroupType groupType,String musicGroupId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		List<ImUserFriend> imUserFriends = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Set<Integer> educationIds = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		MusicGroup musicGroup = new MusicGroup(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//获取当前学员声部 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		Map<Integer,String> studentSubjectName = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		GroupType groupType = classGroup.getGroupType(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Map<Integer, String> teacherSubjectNameMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if(teacherIds.size() > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			teacherSubjectNameMap = MapUtil.convertIntegerMap(teacherDao.querySubjectNameByIdList(new ArrayList<>(teacherIds))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if(groupType == MUSIC){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			//学员关联乐团管理人员通讯录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			musicGroup = musicGroupDao.get(classGroup.getMusicGroupId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			teacherIds.add(musicGroup.getDirectorUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			teacherIds.add(musicGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			teacherIds.add(musicGroup.getTeamTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			educations.add(musicGroup.getDirectorUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			educations.add(musicGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			educations.add(musicGroup.getTeamTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			//获取当前学员声部 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			studentSubjectName = MapUtil.convertMybatisMap(studentRegistrationDao.getStudentSubjectNameByStuIds(musicGroup.getId(),studentIds)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			musicGroup = musicGroupDao.get(musicGroupId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			educationIds.add(musicGroup.getDirectorUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			educationIds.add(musicGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			educationIds.add(musicGroup.getTeamTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(studentIds.size() > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				studentSubjectName = MapUtil.convertMybatisMap(studentRegistrationDao.getStudentSubjectNameByStuIds(musicGroup.getId(),studentIds)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		}else if(groupType == VIP){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			VipGroup vipGroup = vipGroupDao.get(Long.parseLong(classGroup.getMusicGroupId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			teacherIds.add(vipGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			educations.add(vipGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			VipGroup vipGroup = vipGroupDao.get(Long.parseLong(musicGroupId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			educationIds.add(vipGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		}else if(groupType == PRACTICE){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			PracticeGroup practiceGroup = practiceGroupDao.get(Long.parseLong(classGroup.getMusicGroupId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			teacherIds.add(practiceGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			educations.add(practiceGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			PracticeGroup practiceGroup = practiceGroupDao.get(Long.parseLong(musicGroupId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			educationIds.add(practiceGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		educations.removeAll(Collections.singleton(null)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		studentIds.removeAll(Collections.singleton(null)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		teacherIds.removeAll(Collections.singleton(null)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		//获取通讯录昵称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		Map<Integer, String> nameIdMap = MapUtil.convertIntegerMap(teacherDao.queryNameByIdList(new ArrayList<>(teacherIds))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		//获取老师声部 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		Map<Integer, String> teacherSubjectNameMap = MapUtil.convertIntegerMap(teacherDao.querySubjectNameByIdList(new ArrayList<>(teacherIds))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		educationIds.removeAll(Collections.singleton(null)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Map<Integer, String> usernameMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if(studentIds.size() > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			usernameMap = MapUtil.convertMybatisMap(teacherDao.queryUserNameByIdList(new ArrayList<>(studentIds))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Map<Integer, String> teacherRealNameMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if(teacherIds.size() > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			usernameMap = MapUtil.convertMybatisMap(teacherDao.queryUserNameByIdList(new ArrayList<>(teacherIds))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Map<Integer, String> educationRealNameMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if(educationIds.size() > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			usernameMap = MapUtil.convertMybatisMap(teacherDao.queryUserNameByIdList(new ArrayList<>(educationIds))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//老师关联教务、学员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		for (Integer teacherId : teacherIds) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			//老师关联学员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			for (Integer studentId : studentIds) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				if(teacherId == studentId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				//学员、教务关联的老师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				ImUserFriend imUserFriend = new ImUserFriend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend.setUserId(studentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend.setFriendId(teacherId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend.setFriendNickname(nameIdMap.get(teacherId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imUserFriend.setUserId(teacherId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imUserFriend.setFriendId(studentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imUserFriend.setFriendNickname(usernameMap.get(studentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				imUserFriend.setMemo(musicGroup.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend.setTags(teacherSubjectNameMap.get(teacherId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imUserFriend.setTags(studentSubjectName.get(studentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imUserFriends.add(imUserFriend); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			//老师关联教务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			for (Integer educationId : educationIds) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if(teacherId == educationId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				ImUserFriend imUserFriend = new ImUserFriend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imUserFriend.setUserId(teacherId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imUserFriend.setFriendId(educationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imUserFriend.setFriendNickname(educationRealNameMap.get(educationId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				imUserFriends.add(imUserFriend); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				//老师关联的学生、教务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				ImUserFriend imUserFriend1 = new ImUserFriend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend1.setUserId(teacherId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend1.setFriendId(studentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend1.setFriendNickname(nameIdMap.get(studentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend1.setMemo(musicGroup.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend1.setTags(studentSubjectName.get(studentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriends.add(imUserFriend1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		for (Integer education : educations) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//教务关联的老师、学员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		for (Integer educationId : educationIds) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			//教务关联学员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			for (Integer studentId : studentIds) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				if(education == studentId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if(educationId == studentId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				//学员关联教务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				ImUserFriend imUserFriend = new ImUserFriend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend.setUserId(studentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend.setFriendId(education); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend.setFriendNickname(nameIdMap.get(education)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imUserFriend.setUserId(educationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imUserFriend.setFriendId(studentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imUserFriend.setFriendNickname(usernameMap.get(studentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				imUserFriend.setMemo(musicGroup.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend.setTags(teacherSubjectNameMap.get(education)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imUserFriend.setTags(studentSubjectName.get(studentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				imUserFriends.add(imUserFriend); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				//教务关联学员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				ImUserFriend imUserFriend1 = new ImUserFriend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend1.setUserId(education); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend1.setFriendId(studentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend1.setFriendNickname(nameIdMap.get(studentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend1.setMemo(musicGroup.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend1.setTags(studentSubjectName.get(studentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriends.add(imUserFriend1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if(imUserFriends.size() > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			batchInsert(imUserFriends); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public void classGroupChangeTeacher(Integer classGroupId, Integer teacherId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		Set<Integer> studentIds = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		Set<Integer> educations = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		ClassGroup classGroup = classGroupDao.get(classGroupId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		List<ImUserFriend> imUserFriends = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		//获取班级关联的学员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		List<ClassGroupStudentMapper> studentMappers = classGroupStudentMapperDao.findAllByClassGroup(classGroupId.longValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		studentIds.addAll(studentMappers.stream().map(e->e.getUserId()).collect(Collectors.toSet())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		MusicGroup musicGroup = new MusicGroup(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		Map<Integer,String> studentSubjectName = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		studentIds.add(teacherId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		//获取老师声部 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		Map<Integer, String> teacherSubjectNameMap = MapUtil.convertIntegerMap(teacherDao.querySubjectNameByIdList(new ArrayList<>(studentIds))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		GroupType groupType = classGroup.getGroupType(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if(groupType == MUSIC){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			//获取当前学员声部 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			studentSubjectName = MapUtil.convertMybatisMap(studentRegistrationDao.getStudentSubjectNameByStuIds(musicGroup.getId(),studentIds)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			//关联乐团管理人员通讯录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			musicGroup = musicGroupDao.get(classGroup.getMusicGroupId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			studentIds.add(musicGroup.getDirectorUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			studentIds.add(musicGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			studentIds.add(musicGroup.getTeamTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			educations.add(musicGroup.getDirectorUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			educations.add(musicGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			educations.add(musicGroup.getTeamTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		}else if(groupType == VIP){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			VipGroup vipGroup = vipGroupDao.get(Long.parseLong(classGroup.getMusicGroupId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			studentIds.add(vipGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			educations.add(vipGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		}else if(groupType == PRACTICE){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			PracticeGroup practiceGroup = practiceGroupDao.get(Long.parseLong(classGroup.getMusicGroupId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			studentIds.add(practiceGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			educations.add(practiceGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		educations.removeAll(Collections.singleton(null)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		studentIds.removeAll(Collections.singleton(null)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		//获取通讯录昵称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		Map<Integer, String> nameIdMap = MapUtil.convertIntegerMap(teacherDao.queryNameByIdList(new ArrayList<>(studentIds))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		for (Integer studentId : studentIds) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			if(teacherId == studentId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			//老师关联的学员、教务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			ImUserFriend imUserFriend = new ImUserFriend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriend.setUserId(teacherId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriend.setFriendId(studentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriend.setFriendNickname(nameIdMap.get(studentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriend.setMemo(musicGroup.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriend.setTags(teacherSubjectNameMap.get(studentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriends.add(imUserFriend); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			//学员、教务关联的老师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			ImUserFriend imUserFriend1 = new ImUserFriend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriend1.setUserId(studentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriend1.setFriendId(teacherId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriend1.setFriendNickname(nameIdMap.get(teacherId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriend1.setMemo(musicGroup.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriend1.setTags(studentSubjectName.get(teacherId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriends.add(imUserFriend1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			for (Integer education : educations) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				if(studentId == education){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			//教务关联老师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			for (Integer teacher : teacherIds) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if(educationId == teacher){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				//教务关联的学员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				ImUserFriend imUserFriend2 = new ImUserFriend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend2.setUserId(education); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend2.setFriendId(studentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend2.setFriendNickname(nameIdMap.get(studentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend2.setMemo(musicGroup.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend2.setTags(studentSubjectName.get(studentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriends.add(imUserFriend2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				//学员关联的教务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				ImUserFriend imUserFriend3 = new ImUserFriend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend3.setUserId(studentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend3.setFriendId(education); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend3.setFriendNickname(nameIdMap.get(education)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend3.setMemo(musicGroup.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend3.setTags(teacherSubjectNameMap.get(education)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriends.add(imUserFriend3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				ImUserFriend imUserFriend = new ImUserFriend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imUserFriend.setUserId(educationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imUserFriend.setFriendId(teacher); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imUserFriend.setFriendNickname(teacherRealNameMap.get(teacher)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imUserFriend.setMemo(musicGroup.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imUserFriend.setTags(teacherSubjectNameMap.get(teacher)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imUserFriends.add(imUserFriend); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if(imUserFriends.size() > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			batchInsert(imUserFriends); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public void groupChangeEducation(String groupId, Integer educationId, GroupType groupType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		Set<Integer> studentIds = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		List<ImUserFriend> imUserFriends = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		//获取班级关联的学员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		List<ClassGroupStudentInfoDto> studentMappers = classGroupStudentMapperDao.findByGroupOrClassGroup(groupId, groupType, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		studentIds.addAll(studentMappers.stream().map(e->e.getUserId()).collect(Collectors.toSet())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		//获取班级关联的老师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		List<ClassGroupTeacherMapper> classGroupTeacherMappers = classGroupTeacherMapperDao.findAllByMusicGroup(groupId,groupType,null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		studentIds.addAll(classGroupTeacherMappers.stream().map(e->e.getUserId()).collect(Collectors.toSet())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		//获取课程关联的老师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		List<CourseScheduleTeacherSalary> teacherSalaries = courseScheduleTeacherSalaryDao.findByGroup(groupId, groupType.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		studentIds.addAll(teacherSalaries.stream().map(e->e.getUserId()).collect(Collectors.toSet())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		studentIds.add(educationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		//获取通讯录昵称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		Map<Integer, String> nameIdMap = MapUtil.convertIntegerMap(teacherDao.queryNameByIdList(new ArrayList<>(studentIds))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		//获取老师声部 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		Map<Integer, String> teacherSubjectNameMap = MapUtil.convertIntegerMap(teacherDao.querySubjectNameByIdList(new ArrayList<>(studentIds))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//学员关联的老师、教务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		for (Integer studentId : studentIds) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			if(educationId == studentId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			//教务关联的老师、学员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			ImUserFriend imUserFriend = new ImUserFriend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriend.setUserId(educationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriend.setFriendId(studentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriend.setFriendNickname(nameIdMap.get(studentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriend.setTags(teacherSubjectNameMap.get(studentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriends.add(imUserFriend); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			//学员老师关联教务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			ImUserFriend imUserFriend1 = new ImUserFriend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriend1.setUserId(studentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriend1.setFriendId(educationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriend1.setFriendNickname(nameIdMap.get(educationId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriends.add(imUserFriend1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if(imUserFriends.size() > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			batchInsert(imUserFriends); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public void courseScheduleChangeTeacher(Long courseScheduleId, Integer teacherId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		Set<Integer> studentIds = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		Set<Integer> educations = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		List<ImUserFriend> imUserFriends = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		//获取课程上关联的学员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		List<CourseScheduleStudentPayment> studentPayments = courseScheduleStudentPaymentDao.findByCourseSchedule(courseScheduleId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		studentIds.addAll(studentPayments.stream().map(e->e.getUserId()).collect(Collectors.toSet())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		studentIds.add(teacherId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		//学员声部列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		Map<Integer,String> studentSubjectName = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		MusicGroup musicGroup = new MusicGroup(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		GroupType groupType = courseSchedule.getGroupType(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if(groupType == MUSIC){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			musicGroupDao.get(courseSchedule.getMusicGroupId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			//获取学员声部列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			studentSubjectName = MapUtil.convertMybatisMap(studentRegistrationDao.getStudentSubjectNameByStuIds(musicGroup.getId(),studentIds)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			//关联乐团管理人员通讯录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			musicGroup = musicGroupDao.get(courseSchedule.getMusicGroupId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			studentIds.add(musicGroup.getDirectorUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			studentIds.add(musicGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			studentIds.add(musicGroup.getTeamTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			educations.add(musicGroup.getDirectorUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			educations.add(musicGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			educations.add(musicGroup.getTeamTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		}else if(groupType == VIP){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			VipGroup vipGroup = vipGroupDao.get(Long.parseLong(courseSchedule.getMusicGroupId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			educations.add(vipGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			studentIds.add(vipGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		}else if(groupType == PRACTICE){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			PracticeGroup practiceGroup = practiceGroupDao.get(Long.parseLong(courseSchedule.getMusicGroupId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			studentIds.add(practiceGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			educations.add(practiceGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		educations.removeAll(Collections.singleton(null)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		studentIds.removeAll(Collections.singleton(null)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		//获取通讯录昵称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		Map<Integer, String> nameIdMap = MapUtil.convertIntegerMap(teacherDao.queryNameByIdList(new ArrayList<>(studentIds))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		//获取老师声部 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		Map<Integer, String> teacherSubjectNameMap = MapUtil.convertIntegerMap(teacherDao.querySubjectNameByIdList(new ArrayList<>(studentIds))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		for (Integer studentId : studentIds) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			if(teacherId == studentId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			//学员关联的老师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			for (Integer teacher : teacherIds) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if(teacher == studentId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				ImUserFriend imUserFriend = new ImUserFriend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imUserFriend.setUserId(studentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imUserFriend.setFriendId(teacher); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imUserFriend.setFriendNickname(teacherRealNameMap.get(teacher)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imUserFriend.setMemo(musicGroup.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imUserFriend.setTags(teacherSubjectNameMap.get(teacher)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imUserFriends.add(imUserFriend); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			//老师关联的学员和教务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			ImUserFriend imUserFriend = new ImUserFriend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriend.setUserId(teacherId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriend.setFriendId(studentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriend.setFriendNickname(nameIdMap.get(studentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriend.setMemo(musicGroup.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriend.setTags(studentSubjectName.get(studentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriends.add(imUserFriend); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			//学员关联的老师、教务关联老师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			ImUserFriend imUserFriend1 = new ImUserFriend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriend1.setUserId(studentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriend1.setFriendId(teacherId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriend1.setFriendNickname(nameIdMap.get(teacherId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriend1.setMemo(musicGroup.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriend1.setTags(teacherSubjectNameMap.get(teacherId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			imUserFriends.add(imUserFriend1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			for (Integer education : educations) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				if(studentId == education){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			//学员关联的教务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			for (Integer education : educationIds) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if(education == studentId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				//学员关联教务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				ImUserFriend imUserFriend2 = new ImUserFriend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend2.setUserId(studentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend2.setFriendId(education); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend2.setFriendNickname(nameIdMap.get(education)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend2.setMemo(musicGroup.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend2.setTags(teacherSubjectNameMap.get(education)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriends.add(imUserFriend2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				//教务关联学员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				ImUserFriend imUserFriend3 = new ImUserFriend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend3.setUserId(education); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend3.setFriendId(studentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend3.setFriendNickname(nameIdMap.get(studentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend3.setMemo(musicGroup.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriend3.setTags(studentSubjectName.get(studentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				imUserFriends.add(imUserFriend3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				ImUserFriend imUserFriend = new ImUserFriend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imUserFriend.setUserId(studentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imUserFriend.setFriendId(education); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imUserFriend.setFriendNickname(educationRealNameMap.get(education)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				imUserFriends.add(imUserFriend); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if(imUserFriends.size() > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			batchInsert(imUserFriends); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//	@Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//	public void classGroupAddStudent(Integer classGroupId, Set<Integer> studentIds) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		ClassGroup classGroup = classGroupDao.get(classGroupId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		//获取关联的老师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		Set<Integer> teacherIds = classGroupTeacherMapperDao.queryTeacherIdsByClassGroupId(classGroupId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		GroupType groupType = classGroup.getGroupType(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		saveImUserFriends(studentIds,teacherIds,groupType,classGroup.getMusicGroupId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//	@Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//	public void classGroupChangeTeacher(Integer classGroupId, Integer teacherId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		Set<Integer> studentIds = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		Set<Integer> educations = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		ClassGroup classGroup = classGroupDao.get(classGroupId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		List<ImUserFriend> imUserFriends = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		//获取班级关联的学员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		List<ClassGroupStudentMapper> studentMappers = classGroupStudentMapperDao.findAllByClassGroup(classGroupId.longValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		studentIds.addAll(studentMappers.stream().map(e->e.getUserId()).collect(Collectors.toSet())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		MusicGroup musicGroup = new MusicGroup(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		Map<Integer,String> studentSubjectName = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		studentIds.add(teacherId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		//获取老师声部 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		Map<Integer, String> teacherSubjectNameMap = MapUtil.convertIntegerMap(teacherDao.querySubjectNameByIdList(new ArrayList<>(studentIds))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		GroupType groupType = classGroup.getGroupType(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		if(groupType == MUSIC){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			//获取当前学员声部 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			studentSubjectName = MapUtil.convertMybatisMap(studentRegistrationDao.getStudentSubjectNameByStuIds(musicGroup.getId(),studentIds)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			//关联乐团管理人员通讯录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			musicGroup = musicGroupDao.get(classGroup.getMusicGroupId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			studentIds.add(musicGroup.getDirectorUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			studentIds.add(musicGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			studentIds.add(musicGroup.getTeamTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			educations.add(musicGroup.getDirectorUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			educations.add(musicGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			educations.add(musicGroup.getTeamTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		}else if(groupType == VIP){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			VipGroup vipGroup = vipGroupDao.get(Long.parseLong(classGroup.getMusicGroupId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			studentIds.add(vipGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			educations.add(vipGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		}else if(groupType == PRACTICE){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			PracticeGroup practiceGroup = practiceGroupDao.get(Long.parseLong(classGroup.getMusicGroupId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			studentIds.add(practiceGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			educations.add(practiceGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		educations.removeAll(Collections.singleton(null)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		studentIds.removeAll(Collections.singleton(null)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		//获取通讯录昵称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		Map<Integer, String> nameIdMap = MapUtil.convertIntegerMap(teacherDao.queryNameByIdList(new ArrayList<>(studentIds))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		for (Integer studentId : studentIds) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			if(teacherId == studentId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			//老师关联的学员、教务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			ImUserFriend imUserFriend = new ImUserFriend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriend.setUserId(teacherId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriend.setFriendId(studentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriend.setFriendNickname(nameIdMap.get(studentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriend.setMemo(musicGroup.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriend.setTags(teacherSubjectNameMap.get(studentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriends.add(imUserFriend); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			//学员、教务关联的老师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			ImUserFriend imUserFriend1 = new ImUserFriend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriend1.setUserId(studentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriend1.setFriendId(teacherId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriend1.setFriendNickname(nameIdMap.get(teacherId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriend1.setMemo(musicGroup.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriend1.setTags(studentSubjectName.get(teacherId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriends.add(imUserFriend1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			for (Integer education : educations) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				if(studentId == education){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//					continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				//教务关联的学员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				ImUserFriend imUserFriend2 = new ImUserFriend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				imUserFriend2.setUserId(education); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				imUserFriend2.setFriendId(studentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				imUserFriend2.setFriendNickname(nameIdMap.get(studentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				imUserFriend2.setMemo(musicGroup.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				imUserFriend2.setTags(studentSubjectName.get(studentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				imUserFriends.add(imUserFriend2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				//学员关联的教务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				ImUserFriend imUserFriend3 = new ImUserFriend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				imUserFriend3.setUserId(studentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				imUserFriend3.setFriendId(education); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				imUserFriend3.setFriendNickname(nameIdMap.get(education)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				imUserFriend3.setMemo(musicGroup.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				imUserFriend3.setTags(teacherSubjectNameMap.get(education)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				imUserFriends.add(imUserFriend3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		if(imUserFriends.size() > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			batchInsert(imUserFriends); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//	@Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//	public void groupChangeEducation(String groupId, Integer educationId, GroupType groupType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		Set<Integer> studentIds = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		List<ImUserFriend> imUserFriends = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		//获取班级关联的学员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		List<ClassGroupStudentInfoDto> studentMappers = classGroupStudentMapperDao.findByGroupOrClassGroup(groupId, groupType, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		studentIds.addAll(studentMappers.stream().map(e->e.getUserId()).collect(Collectors.toSet())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		//获取班级关联的老师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		List<ClassGroupTeacherMapper> classGroupTeacherMappers = classGroupTeacherMapperDao.findAllByMusicGroup(groupId,groupType,null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		studentIds.addAll(classGroupTeacherMappers.stream().map(e->e.getUserId()).collect(Collectors.toSet())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		//获取课程关联的老师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		List<CourseScheduleTeacherSalary> teacherSalaries = courseScheduleTeacherSalaryDao.findByGroup(groupId, groupType.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		studentIds.addAll(teacherSalaries.stream().map(e->e.getUserId()).collect(Collectors.toSet())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		studentIds.add(educationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		//获取通讯录昵称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		Map<Integer, String> nameIdMap = MapUtil.convertIntegerMap(teacherDao.queryNameByIdList(new ArrayList<>(studentIds))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		//获取老师声部 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		Map<Integer, String> teacherSubjectNameMap = MapUtil.convertIntegerMap(teacherDao.querySubjectNameByIdList(new ArrayList<>(studentIds))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		for (Integer studentId : studentIds) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			if(educationId == studentId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			//教务关联的老师、学员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			ImUserFriend imUserFriend = new ImUserFriend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriend.setUserId(educationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriend.setFriendId(studentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriend.setFriendNickname(nameIdMap.get(studentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriend.setTags(teacherSubjectNameMap.get(studentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriends.add(imUserFriend); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			//学员老师关联教务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			ImUserFriend imUserFriend1 = new ImUserFriend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriend1.setUserId(studentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriend1.setFriendId(educationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriend1.setFriendNickname(nameIdMap.get(educationId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriends.add(imUserFriend1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		if(imUserFriends.size() > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			batchInsert(imUserFriends); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//	@Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//	public void courseScheduleChangeTeacher(Long courseScheduleId, Integer teacherId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		Set<Integer> studentIds = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		Set<Integer> educations = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		List<ImUserFriend> imUserFriends = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		//获取课程上关联的学员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		List<CourseScheduleStudentPayment> studentPayments = courseScheduleStudentPaymentDao.findByCourseSchedule(courseScheduleId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		studentIds.addAll(studentPayments.stream().map(e->e.getUserId()).collect(Collectors.toSet())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		studentIds.add(teacherId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		//学员声部列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		Map<Integer,String> studentSubjectName = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		MusicGroup musicGroup = new MusicGroup(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		GroupType groupType = courseSchedule.getGroupType(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		if(groupType == MUSIC){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			musicGroupDao.get(courseSchedule.getMusicGroupId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			//获取学员声部列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			studentSubjectName = MapUtil.convertMybatisMap(studentRegistrationDao.getStudentSubjectNameByStuIds(musicGroup.getId(),studentIds)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			//关联乐团管理人员通讯录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			musicGroup = musicGroupDao.get(courseSchedule.getMusicGroupId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			studentIds.add(musicGroup.getDirectorUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			studentIds.add(musicGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			studentIds.add(musicGroup.getTeamTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			educations.add(musicGroup.getDirectorUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			educations.add(musicGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			educations.add(musicGroup.getTeamTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		}else if(groupType == VIP){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			VipGroup vipGroup = vipGroupDao.get(Long.parseLong(courseSchedule.getMusicGroupId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			educations.add(vipGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			studentIds.add(vipGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		}else if(groupType == PRACTICE){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			PracticeGroup practiceGroup = practiceGroupDao.get(Long.parseLong(courseSchedule.getMusicGroupId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			studentIds.add(practiceGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			educations.add(practiceGroup.getEducationalTeacherId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		educations.removeAll(Collections.singleton(null)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		studentIds.removeAll(Collections.singleton(null)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		//获取通讯录昵称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		Map<Integer, String> nameIdMap = MapUtil.convertIntegerMap(teacherDao.queryNameByIdList(new ArrayList<>(studentIds))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		//获取老师声部 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		Map<Integer, String> teacherSubjectNameMap = MapUtil.convertIntegerMap(teacherDao.querySubjectNameByIdList(new ArrayList<>(studentIds))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		for (Integer studentId : studentIds) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			if(teacherId == studentId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			//老师关联的学员和教务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			ImUserFriend imUserFriend = new ImUserFriend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriend.setUserId(teacherId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriend.setFriendId(studentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriend.setFriendNickname(nameIdMap.get(studentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriend.setMemo(musicGroup.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriend.setTags(studentSubjectName.get(studentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriends.add(imUserFriend); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			//学员关联的老师、教务关联老师 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			ImUserFriend imUserFriend1 = new ImUserFriend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriend1.setUserId(studentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriend1.setFriendId(teacherId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriend1.setFriendNickname(nameIdMap.get(teacherId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriend1.setMemo(musicGroup.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriend1.setTags(teacherSubjectNameMap.get(teacherId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			imUserFriends.add(imUserFriend1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			for (Integer education : educations) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				if(studentId == education){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//					continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				//学员关联教务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				ImUserFriend imUserFriend2 = new ImUserFriend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				imUserFriend2.setUserId(studentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				imUserFriend2.setFriendId(education); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				imUserFriend2.setFriendNickname(nameIdMap.get(education)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				imUserFriend2.setMemo(musicGroup.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				imUserFriend2.setTags(teacherSubjectNameMap.get(education)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				imUserFriends.add(imUserFriend2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				//教务关联学员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				ImUserFriend imUserFriend3 = new ImUserFriend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				imUserFriend3.setUserId(education); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				imUserFriend3.setFriendId(studentId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				imUserFriend3.setFriendNickname(nameIdMap.get(studentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				imUserFriend3.setMemo(musicGroup.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				imUserFriend3.setTags(studentSubjectName.get(studentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//				imUserFriends.add(imUserFriend3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		if(imUserFriends.size() > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			batchInsert(imUserFriends); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |