Browse Source

im相关改造

zouxuan 1 year ago
parent
commit
9868faa6d7

+ 14 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupStudentMapperServiceImpl.java

@@ -506,6 +506,20 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
 
         classGroupService.updateClassStudentNum(classGroupId.intValue(), allStudentIds.size());
 
+        if(musicGroup.getStatus() == MusicGroupStatusEnum.PROGRESS){
+            if (!CollectionUtils.isEmpty(removeStudentIds)){
+                //5、学生退出班级群组
+                imGroupMemberService.quit(classGroup.getId().toString(), new ArrayList<Integer>(removeStudentIds));
+            }
+            if (!CollectionUtils.isEmpty(addStudentIds)) {
+                Map<Integer,String> userRoleMap = new HashMap<>();
+                for (Integer addStudentId : addStudentIds) {
+                    userRoleMap.put(addStudentId, "");
+                }
+                //5、添加进IM群组
+                imGroupMemberService.join(classGroup.getId().toString(), userRoleMap);
+            }
+        }
         if (CollectionUtils.isEmpty(classGroupNotStartCourse)) {
             if (!CollectionUtils.isEmpty(addStudentIds)) {
                 if(musicGroup.getStatus() == MusicGroupStatusEnum.PROGRESS){
@@ -534,23 +548,11 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
 
         if (!CollectionUtils.isEmpty(removeStudentIds)) {
             courseScheduleDao.deleteMusicGroupCourseSchedulesWithStudents(courseIds, new ArrayList<>(removeStudentIds));
-            if(musicGroup.getStatus() == MusicGroupStatusEnum.PROGRESS){
-                //5、学生退出班级群组
-                imGroupMemberService.quit(classGroup.getId().toString(), new ArrayList<Integer>(addStudentIds));
-            }
         }
 
         if (!CollectionUtils.isEmpty(addStudentIds)) {
             courseScheduleStudentPaymentService.createForMusicGroup(classGroup.getMusicGroupId(), classGroupNotStartCourse, new ArrayList<>(addStudentIds));
             studentDao.updateStudentServiceTag(null, new ArrayList<>(addStudentIds), YesOrNoEnum.YES.getCode());
-            if(musicGroup.getStatus() == MusicGroupStatusEnum.PROGRESS){
-                Map<Integer,String> userRoleMap = new HashMap<>();
-                for (Integer addStudentId : addStudentIds) {
-                    userRoleMap.put(addStudentId, "");
-                }
-                //5、添加进IM群组
-                imGroupMemberService.join(classGroup.getId().toString(), userRoleMap);
-            }
         }
 
         //4、调整未上课课酬

+ 0 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImUserFriendServiceImpl.java

@@ -234,8 +234,6 @@ public class ImUserFriendServiceImpl extends BaseServiceImpl<Long, ImUserFriend>
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void refreshGroupImUserFriend(String musicGroupId,GroupType groupType) {
-//		ExecutorService executor = Executors.newCachedThreadPool();
-//		CompletableFuture.runAsync(()->{
         List<ClassGroup> classGroups = classGroupDao.queryClassGroups(musicGroupId, groupType==null?null:groupType.getCode());
         List<ImUserFriend> imUserFriends = new ArrayList<>();
         classGroups.forEach(e->{
@@ -248,14 +246,11 @@ public class ImUserFriendServiceImpl extends BaseServiceImpl<Long, ImUserFriend>
 
         setSchoolStaffImFriend(musicGroupId, imUserFriends);
 
-
         if(imUserFriends.size() > 0){
             batchInsert(imUserFriends);
         }
         //更新用户朋友昵称是空的历史数据(线上没有发现这种问题)
         imUserFriendDao.updateNullNickName();
-//		},executor);
-//		executor.shutdown();
     }
 
     private void setSchoolStaffImFriend(String musicGroupId, List<ImUserFriend> imUserFriends) {

+ 0 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -4029,13 +4029,10 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         if (Objects.nonNull(vipGroupApplyBaseInfo.getEducationalTeacherId()) && !vipGroupApplyBaseInfo.getEducationalTeacherId().equals(oldVipGroupInfo.getEducationalTeacherId())) {
             ClassGroup classGroup = classGroupDao.findByMusicGroupAndType(oldVipGroupInfo.getId().toString(), oldVipGroupInfo.getGroupType());
             if (Objects.nonNull(oldVipGroupInfo.getEducationalTeacherId())) {
-
                 imGroupMemberService.quit(classGroup.getId().toString(), oldVipGroupInfo.getEducationalTeacherId());
             }
-
             oldVipGroupInfo.setEducationalTeacherId(vipGroupApplyBaseInfo.getEducationalTeacherId());
             isChange = true;
-
             imGroupMemberService.join(classGroup.getId().toString(), oldVipGroupInfo.getEducationalTeacherId(), "乐团主管", false);
         }
         if (Objects.nonNull(vipGroupApplyBaseInfo.getOrganId()) && !vipGroupApplyBaseInfo.getOrganId().equals(oldVipGroupInfo.getOrganId())) {

+ 2 - 2
mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

@@ -640,14 +640,14 @@ public class RoomServiceImpl implements RoomService {
             roomResult.setMembers(roomMemberList, midiMap, examSongMap, scheduleStudentMusicScores);
 
             // 全员静音状态开启
-            if (muteAll && TencentCloudRTCPlugin.PLUGIN_NAME.equals(courseSchedule.getServiceProvider())) {
+            /*if (muteAll && TencentCloudRTCPlugin.PLUGIN_NAME.equals(courseSchedule.getServiceProvider())) {
                 for (RoomResult.MemberResult item : roomResult.getMembers()) {
                     // 重置学生用户当前静音状态
                     if (RoleStudent.getValue() == item.getRole()) {
                         item.setMicrophone(false);
                     }
                 }
-            }
+            }*/
         }
         roomResult.setWhiteboards(whiteboardDao.findByRid(roomId));
         if (room != null) {