| 
					
				 | 
			
			
				@@ -69,6 +69,42 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<ClassGroupTeacherMapper> oldClassGroupTeacherMapper = classGroupTeacherMapperDao.getClassGroupTeacherMapper(classGroupTeacherMapperList, GroupType.MUSIC); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (ClassGroup classGroup : classGroups) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            imGroupMemberList.clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //原设置的老师删除群组 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (ClassGroupTeacherMapper classGroupTeacherMapper : oldClassGroupTeacherMapper) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (!classGroup.getId().equals(classGroupTeacherMapper.getClassGroupId())) continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                imGroupMemberList.add(new ImGroupMember(classGroupTeacherMapper.getUserId().toString())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (imGroupMemberList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ImGroupMember[] imGroupMembers = imGroupMemberList.toArray(new ImGroupMember[imGroupMemberList.size()]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                imFeignService.groupQuit(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 新设置的老师加入群组 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            imGroupMemberList.clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (ClassGroupTeacherMapper classGroupTeacherMapper : classGroupTeacherMapperList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (!classGroup.getId().equals(classGroupTeacherMapper.getClassGroupId())) continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                classGroupTeacherMapper.setMusicGroupId(classGroup.getMusicGroupId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                classGroupTeacherMapper.setGroupType(classGroup.getGroupType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                imGroupMemberList.add(new ImGroupMember(classGroupTeacherMapper.getUserId().toString())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ImGroupMember[] imGroupMembers = imGroupMemberList.toArray(new ImGroupMember[imGroupMemberList.size()]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            imFeignService.groupJoin(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        classGroupTeacherMapperDao.delMusicGroupTeacherMapper(classGroupTeacherMapperList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return classGroupTeacherMapperDao.classGroupTeachersInsert(classGroupTeacherMapperList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int classGroupTeachersInsert(List<ClassGroupTeacherMapper> classGroupTeacherMapperList, boolean checkCourser) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String classGroupIds = classGroupTeacherMapperList.stream().map(classGroupTeacherMapper -> classGroupTeacherMapper.getClassGroupId().toString()).collect(Collectors.joining(",")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //老师加入群组 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<ImGroupMember> imGroupMemberList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<ClassGroup> classGroups = classGroupService.findClassGroupByIds(classGroupIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<ClassGroupTeacherMapper> oldClassGroupTeacherMapper = classGroupTeacherMapperDao.getClassGroupTeacherMapper(classGroupTeacherMapperList, GroupType.MUSIC); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Set<String> oldTeacher = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Set<String> newTeacher = new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for (ClassGroup classGroup : classGroups) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -98,11 +134,11 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         classGroupTeacherMapperDao.delMusicGroupTeacherMapper(classGroupTeacherMapperList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //老师不相同删除老师未开始的课程 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (oldTeacher.size() != newTeacher.size() || !newTeacher.containsAll(oldTeacher)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (checkCourser && (oldTeacher.size() != newTeacher.size() || !newTeacher.containsAll(oldTeacher))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String musicGroupId = classGroupTeacherMapperList.get(0).getMusicGroupId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             List<CourseSchedule> musicGroupCourseSchedules = courseScheduleDao.findMusicGroupCourseSchedules(musicGroupId, GroupType.MUSIC.getCode(), CourseStatusEnum.NOT_START.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(musicGroupCourseSchedules != null && musicGroupCourseSchedules.size() >0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                courseScheduleService.batchDeleteMusicGroupNotStartCourse(musicGroupId,GroupType.MUSIC); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (musicGroupCourseSchedules != null && musicGroupCourseSchedules.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                courseScheduleService.batchDeleteMusicGroupNotStartCourse(musicGroupId, GroupType.MUSIC); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -428,7 +464,7 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return courseScheduleTeacherSalary; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public List<ClassGroupTeacherMapper> getClassGroupTeachers(Integer classGroupId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public List<ClassGroupTeacherMapper> getClassGroupTeachers(Integer classGroupId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return classGroupTeacherMapperDao.findClassGroupTeachers(classGroupId.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |