Bladeren bron

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

zouxuan 5 jaren geleden
bovenliggende
commit
6dd3c7d0ac
1 gewijzigde bestanden met toevoegingen van 34 en 23 verwijderingen
  1. 34 23
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

+ 34 - 23
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -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,12 @@ 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());
+
+            //加入Im群组
+            addImGroup(highClassGroup,userIdList);
         }
         return highClassGroupList;
     }
@@ -912,7 +913,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 +969,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 +1128,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 +1385,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,13 +1696,23 @@ 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群组
         ImGroupMember[] imGroupMembers = imGroupMemberList.toArray(new ImGroupMember[imGroupMemberList.size()]);
-        // 创建群组
         imFeignService.groupCreate(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName()));
         return true;
     }