|  | @@ -160,7 +160,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          insert(classGroup);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          //2、插入班级学生关联关系
 | 
	
		
			
				|  |  | -        List<ImGroupMember> imGroupMemberList = new ArrayList<>();
 | 
	
		
			
				|  |  | +        List<Integer> userIdList = new  ArrayList<>();
 | 
	
		
			
				|  |  |          List<ClassGroupStudentMapper> classGroupStudentList = new ArrayList<>();
 | 
	
		
			
				|  |  |          for (String userId : userIdStrSet) {
 | 
	
		
			
				|  |  |              ClassGroupStudentMapper classGroupStudentMapper = new ClassGroupStudentMapper();
 | 
	
	
		
			
				|  | @@ -178,13 +178,12 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |              studentRegistration.setUserId(Integer.parseInt(userId));
 | 
	
		
			
				|  |  |              studentRegistration.setMusicGroupId(classGroup.getMusicGroupId());
 | 
	
		
			
				|  |  |              studentRegistrationDao.updateByUserIdAndMusicGroupId(studentRegistration);
 | 
	
		
			
				|  |  | -            imGroupMemberList.add(new ImGroupMember(userId));
 | 
	
		
			
				|  |  | +            userIdList.add(Integer.parseInt(userId));
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        imGroupMemberList.addAll(musicGroupService.queryMusicGroupTeachers(classGroup.getMusicGroupId()));
 | 
	
		
			
				|  |  |          classGroupStudentMapperDao.classGroupStudentsInsert(classGroupStudentList);
 | 
	
		
			
				|  |  | -        ImGroupMember[] imGroupMembers = imGroupMemberList.toArray(new ImGroupMember[imGroupMemberList.size()]);
 | 
	
		
			
				|  |  | -        // 创建群组
 | 
	
		
			
				|  |  | -        imFeignService.groupCreate(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName()));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        //加入IM群组
 | 
	
		
			
				|  |  | +        addImGroup(classGroup,userIdList);
 | 
	
		
			
				|  |  |          return classGroup;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -217,13 +216,14 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          classGroup.setUpdateTime(date);
 | 
	
		
			
				|  |  |          insert(classGroup);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        List<ImGroupMember> imGroupMemberList = new ArrayList<>();
 | 
	
		
			
				|  |  | +        List<Integer> userIdList = new ArrayList<>();
 | 
	
		
			
				|  |  |          List<ClassGroupStudentMapper> mixClassGroupStudentMappers = new ArrayList<>();
 | 
	
		
			
				|  |  |          List<ClassGroupStudentMapper> classGroupStudentMappers = classGroupStudentMapperDao.findByClassGroups(classGroupIdList);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          for (ClassGroupStudentMapper classGroupStudentMapper : classGroupStudentMappers) {
 | 
	
		
			
				|  |  |              ClassGroupStudentMapper mixClassGroupStudentMapper = new ClassGroupStudentMapper();
 | 
	
		
			
				|  |  |              if (classGroupStudentMapper.getStatus().equals(ClassGroupStudentStatusEnum.QUIT)) continue;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              mixClassGroupStudentMapper.setMusicGroupId(musicGroupId);
 | 
	
		
			
				|  |  |              mixClassGroupStudentMapper.setClassGroupId(classGroup.getId());
 | 
	
		
			
				|  |  |              mixClassGroupStudentMapper.setUserId(classGroupStudentMapper.getUserId());
 | 
	
	
		
			
				|  | @@ -232,7 +232,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |              mixClassGroupStudentMapper.setGroupType(GroupType.MUSIC);
 | 
	
		
			
				|  |  |              mixClassGroupStudentMappers.add(mixClassGroupStudentMapper);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            imGroupMemberList.add(new ImGroupMember(classGroupStudentMapper.getUserId().toString()));
 | 
	
		
			
				|  |  | +            userIdList.add(classGroupStudentMapper.getUserId());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          //插入学生关联关系
 | 
	
		
			
				|  |  |          classGroupStudentMapperDao.classGroupStudentsInsert(mixClassGroupStudentMappers);
 | 
	
	
		
			
				|  | @@ -247,10 +247,10 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |              classGroupRelationList.add(classGroupRelation);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          classGroupRelationService.classGroupRelationsInsert(classGroupRelationList);
 | 
	
		
			
				|  |  | -        imGroupMemberList.addAll(musicGroupService.queryMusicGroupTeachers(classGroup.getMusicGroupId()));
 | 
	
		
			
				|  |  | -        ImGroupMember[] imGroupMembers = imGroupMemberList.toArray(new ImGroupMember[imGroupMemberList.size()]);
 | 
	
		
			
				|  |  | -        // 创建群组
 | 
	
		
			
				|  |  | -        imFeignService.groupCreate(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName()));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        //加入IM群组
 | 
	
		
			
				|  |  | +        addImGroup(classGroup,userIdList);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          return classGroup;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -348,11 +348,11 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |              //检测新排课冲突
 | 
	
		
			
				|  |  |              courseScheduleService.checkNewCourseSchedules(courseScheduleList, false);
 | 
	
		
			
				|  |  |              courseScheduleDao.batchAddCourseSchedules(courseScheduleList);
 | 
	
		
			
				|  |  | -            List<ImGroupMember> groupMembers = musicGroupService.queryMusicGroupTeachers(highClassGroup.getMusicGroupId());
 | 
	
		
			
				|  |  | -            groupMembers.add(new ImGroupMember(classGroupTeacherMapper.getUserId().toString()));
 | 
	
		
			
				|  |  | -            ImGroupMember[] imGroupMembers = groupMembers.toArray(new ImGroupMember[groupMembers.size()]);
 | 
	
		
			
				|  |  | -            // 创建群组
 | 
	
		
			
				|  |  | -            imFeignService.groupCreate(new ImGroupModel(highClassGroup.getId().toString(), imGroupMembers, highClassGroup.getName()));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            List<Integer> userIdList = new ArrayList<>();
 | 
	
		
			
				|  |  | +            userIdList.add(classGroupTeacherMapper.getUserId());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            addImGroup(highClassGroup,userIdList);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          return highClassGroupList;
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -912,7 +912,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          List<Integer> studentIdList = classGroup4MixDto.getStudents();
 | 
	
		
			
				|  |  |          List<StudentRegistration> studentList = studentRegistrationService.findStudentListByUserIdList(musicGroupId, studentIdList);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        List<Integer> subjectIdList = studentList.stream().map(student->student.getActualSubjectId()).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +        List<Integer> subjectIdList = studentList.stream().map(student -> student.getActualSubjectId()).collect(Collectors.toList());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          List<Subject> subjectList = subjectService.findBySubjectByIdList(subjectIdList);
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -968,7 +968,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          classGroupTeacherMapperDao.classGroupTeachersInsert(classGroupTeacherMapperList);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          //创建IM群组
 | 
	
		
			
				|  |  | -        addImGroup(classGroup,userIds);
 | 
	
		
			
				|  |  | +        addImGroup(classGroup, userIds);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          //5、插入班级排课信息
 | 
	
		
			
				|  |  |          LocalDateTime now = LocalDate.parse(classGroup4MixDto.getStartDate(), DateTimeFormatter.ofPattern("yyyy-MM-dd")).atStartOfDay();
 | 
	
	
		
			
				|  | @@ -1127,7 +1127,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          List<Integer> studentIdList = classGroup4MixDto.getStudents();
 | 
	
		
			
				|  |  |          List<StudentRegistration> studentList = studentRegistrationService.findStudentListByUserIdList(musicGroupId, studentIdList);
 | 
	
		
			
				|  |  | -        List<Integer> subjectIdList = studentList.stream().map(student->student.getActualSubjectId()).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +        List<Integer> subjectIdList = studentList.stream().map(student -> student.getActualSubjectId()).collect(Collectors.toList());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          List<Subject> subjectList = subjectService.findBySubjectByIdList(subjectIdList);
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -1384,7 +1384,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          classGroupTeacherMapperDao.classGroupTeachersInsert(classGroupTeacherMapperList);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          //创建IM群组
 | 
	
		
			
				|  |  | -        addImGroup(classGroup,userIds);
 | 
	
		
			
				|  |  | +        addImGroup(classGroup, userIds);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          //5、插入班级排课信息
 | 
	
		
			
				|  |  |          LocalDateTime now = LocalDate.parse(classGroup4MixDto.getStartDate(), DateTimeFormatter.ofPattern("yyyy-MM-dd")).atStartOfDay();
 | 
	
	
		
			
				|  | @@ -1695,8 +1695,19 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public Boolean addImGroup(ClassGroup classGroup, List<Integer> userIds) {
 | 
	
		
			
				|  |  | +        MusicGroup musicGroup = musicGroupDao.get(classGroup.getMusicGroupId());
 | 
	
		
			
				|  |  | +        List<Integer> userIdList = new ArrayList<>();
 | 
	
		
			
				|  |  | +        userIdList.add(musicGroup.getEducationalTeacherId());
 | 
	
		
			
				|  |  | +        userIdList.add(musicGroup.getTeamTeacherId());
 | 
	
		
			
				|  |  | +        userIdList.add(musicGroup.getOperatorUserId());
 | 
	
		
			
				|  |  | +        userIdList.add(musicGroup.getDirectorUserId());
 | 
	
		
			
				|  |  | +        if (userIds != null) {
 | 
	
		
			
				|  |  | +            userIdList.addAll(userIds);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          List<ImGroupMember> imGroupMemberList = new ArrayList<>();
 | 
	
		
			
				|  |  | -        for (Integer userId : userIds) {
 | 
	
		
			
				|  |  | +        for (Integer userId : userIdList) {
 | 
	
		
			
				|  |  | +            if (userId == null) continue;
 | 
	
		
			
				|  |  |              imGroupMemberList.add(new ImGroupMember(userId.toString()));
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          //创建IM群组
 |