Browse Source

Merge branch 'feature/0205_network' into test

刘俊驰 3 months ago
parent
commit
346978b06b

+ 3 - 1
cooleshow-app/src/main/java/com/yonge/cooleshow/classroom/controller/HereWhiteController.java

@@ -2,7 +2,9 @@ package com.yonge.cooleshow.classroom.controller;
 
 import com.yonge.cooleshow.biz.dal.dto.HereWhiteDto;
 import com.yonge.cooleshow.biz.dal.entity.ImNetworkHereWhite;
+import com.yonge.cooleshow.biz.dal.entity.ImNetworkRoom;
 import com.yonge.cooleshow.biz.dal.service.ImNetworkHereWhiteService;
+import com.yonge.cooleshow.biz.dal.service.impl.ImNetworkRoomServiceImpl;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import io.swagger.annotations.ApiOperation;
@@ -21,6 +23,6 @@ public class HereWhiteController extends BaseController {
     @ApiOperation("创建白板,默认全部采用零时白板")
     @PostMapping(value = "create")
     public HttpResponseResult<ImNetworkHereWhite> userAdd(HereWhiteDto hereWhiteDto) throws Exception {
-        return succeed(hereWhiteService.create(hereWhiteDto.getName(), hereWhiteDto.getUserNum(),hereWhiteDto.getCourseScheduleId()));
+        return succeed(hereWhiteService.create(hereWhiteDto.getName(), hereWhiteDto.getUserNum(), Long.parseLong(ImNetworkRoomServiceImpl.getCourseIdByRoomId(hereWhiteDto.getCourseScheduleId()))));
     }
 }

+ 3 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/HereWhiteDto.java

@@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
 public class HereWhiteDto {
 
     @ApiModelProperty(value = "课程编号")
-    private Long courseScheduleId;
+    private String courseScheduleId;
 
     @ApiModelProperty(value = "白板名称")
     private String name;
@@ -13,11 +13,11 @@ public class HereWhiteDto {
     @ApiModelProperty(value = "白板人数上限,0不限制")
     private Integer userNum;
 
-    public Long getCourseScheduleId() {
+    public String getCourseScheduleId() {
         return courseScheduleId;
     }
 
-    public void setCourseScheduleId(Long courseScheduleId) {
+    public void setCourseScheduleId(String courseScheduleId) {
         this.courseScheduleId = courseScheduleId;
     }
 

+ 1 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/ImNetworkRoomService.java

@@ -63,5 +63,6 @@ public interface ImNetworkRoomService extends IService<ImNetworkRoom> {
 
     //查询不在教室的学员
     List<BasicUserInfoDto> queryNoJoinStu(String roomId);
+
 }
 

+ 50 - 35
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImNetworkRoomServiceImpl.java

@@ -93,13 +93,13 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
     }
 
     @Override
-    public BaseResponse<ImNetworkRoomResult> joinRoom(String roomId, RoleEnum userRole) {
+    public BaseResponse<ImNetworkRoomResult> joinRoom(String courseId, RoleEnum userRole) {
         // 当前登录用户ID
         Long userId = sysUserService.getUserId();
-        CourseSchedule courseSchedule = Optional.ofNullable(courseScheduleService.getById(roomId)).
+        CourseSchedule courseSchedule = Optional.ofNullable(courseScheduleService.getById(courseId)).
                 orElseThrow(()->new BizException("房间信息不存在"));
 
-        log.info("joinRoom params:roomId:{},userRole:{},userId:{}",roomId,userRole,userId);
+        log.info("joinRoom params:courseId:{},userRole:{},userId:{}",courseId,userRole,userId);
         BasicUserInfo sysUser = Optional.ofNullable(teacherDao.getBasicUserInfo(userId)).
                 orElseThrow(()-> new BizException("用户信息不存在"));
         Date now = new Date();
@@ -121,12 +121,13 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
         ImNetworkRoomResult joinRoomResult = new ImNetworkRoomResult();
         String imUserId = imGroupService.getImUserId(sysUser.getUserId(), userRole);
         List<CourseScheduleStudentMusicSheetResult> studentMusicSheetResults = this.initCourseScheduleStudentMusicScore(courseScheduleStudentMusicSheetService.getDao()
-                .queryBySheetIdAndCourseId(null,Long.parseLong(roomId), null, null, null));
+                .queryBySheetIdAndCourseId(null,Long.parseLong(courseId), null, null, null));
         //获取学员列表
         List<CourseScheduleStudentPayment> studentPayments =
-                courseScheduleStudentPaymentService.lambdaQuery().eq(CourseScheduleStudentPayment::getCourseId,roomId).list();
+                courseScheduleStudentPaymentService.lambdaQuery().eq(CourseScheduleStudentPayment::getCourseId,courseId).list();
         List<Long> studentIds = studentPayments.stream().map(CourseScheduleStudentPayment::getUserId).collect(Collectors.toList());
         //事务处理
+        String roomId = getRoomIdByCourseId(courseId);
         this.transaction(() -> {
             //初始化房间信息
             ImNetworkRoom room = null;
@@ -160,9 +161,9 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
             if(userRole == RoleEnum.RoleTeacher){
                 //重置节拍器数据
                 imNetworkRoomMemberStatusService.lambdaUpdate().set(ImNetworkRoomMemberStatus::getPlayMidi,null)
-                        .eq(ImNetworkRoomMemberStatus::getRoomId,roomId).update();
+                        .eq(ImNetworkRoomMemberStatus::getRoomId, roomId).update();
                 //获取所有学员的伴奏下载详情
-                setMusicSheetList(members,Long.parseLong(roomId));
+                setMusicSheetList(members,Long.parseLong(courseId));
             }else {
                 //获取节拍器信息
                 joinRoomResult.setPlayMidiJson(imNetworkRoomMemberStatusService.getMemberMidi(roomId));
@@ -183,9 +184,9 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
             joinRoomResult.setRtcRoomConfig(roomService.getRtcRoomConfig(courseSchedule.getServiceProvider(),roomMember));
         });
 
-        joinRoomResult.setGroupId(roomId);
+        joinRoomResult.setGroupId(roomId.toString());
         joinRoomResult.setStudentNums(studentIds.size());
-        redisTemplate.opsForValue().set("joinRoomSuccess:"+roomId+imUserId,imUserId,1L,TimeUnit.DAYS);
+        redisTemplate.opsForValue().set("joinRoomSuccess:"+ roomId +imUserId,imUserId,1L,TimeUnit.DAYS);
         return BaseResponse.success(joinRoomResult);
     }
 
@@ -234,7 +235,8 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
         // 当前登录用户ID
         String roomId = imNetworkBaseDto.getRoomId();
         Long userId = sysUserService.getUserId();
-        CourseSchedule courseSchedule = Optional.ofNullable(courseScheduleService.getById(imNetworkBaseDto.getRoomId())).
+        String courseId = getCourseIdByRoomId(imNetworkBaseDto.getRoomId());
+        CourseSchedule courseSchedule = Optional.ofNullable(courseScheduleService.getById(courseId)).
                 orElseThrow(()->new BizException("房间信息不存在"));
 
         RoleEnum userRole = RoleEnum.RoleStudent;
@@ -257,7 +259,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
                 .eq(ImNetworkRoomMember::getUserId,imUserId).last("LIMIT 1").one();
         List<CourseScheduleStudentMusicSheetResult> studentMusicSheetResults =
                 this.initCourseScheduleStudentMusicScore(courseScheduleStudentMusicSheetService.getDao()
-                        .queryBySheetIdAndCourseId(null, Long.parseLong(roomId), null, null, null));
+                        .queryBySheetIdAndCourseId(null, Long.parseLong(courseId), null, null, null));
         if(!CollectionUtils.isEmpty(studentMusicSheetResults)){
             List<CourseScheduleStudentMusicSheetResult> musicScores = studentMusicSheetResults.stream().
                     filter(e -> e.getUserId().equals(userId)).collect(Collectors.toList());
@@ -279,7 +281,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
         //如果是老师,
         if(userRole == RoleEnum.RoleTeacher){
             //获取所有学员的伴奏下载详情
-            setMusicSheetList(members,Long.parseLong(roomId));
+            setMusicSheetList(members,Long.parseLong(courseId));
         }else {
             //获取节拍器信息
             joinRoomResult.setPlayMidiJson(imNetworkRoomMemberStatusService.getMemberMidi(roomId));
@@ -296,7 +298,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
         //获取腾讯所需基本信息配置
         joinRoomResult.setRtcRoomConfig(roomService.getRtcRoomConfig(courseSchedule.getServiceProvider(),roomMember));
         joinRoomResult.setGroupId(roomId);
-        joinRoomResult.setStudentNums(courseScheduleStudentPaymentService.lambdaQuery().eq(CourseScheduleStudentPayment::getCourseId,roomId).count());
+        joinRoomResult.setStudentNums(courseScheduleStudentPaymentService.lambdaQuery().eq(CourseScheduleStudentPayment::getCourseId,courseId).count());
         return BaseResponse.success(joinRoomResult);
     }
 
@@ -323,8 +325,8 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
         Long userId = Long.parseLong(imGroupService.analysisImUserId(imUserId));
         // 客户端类型
         ClientEnum clientType = ClientEnum.valueOf(imGroupService.analysisImUserClient(imUserId));
-
-        CourseSchedule courseSchedule = Optional.ofNullable(courseScheduleService.getById(roomId)).
+        String courseId = getCourseIdByRoomId(roomId);
+        CourseSchedule courseSchedule = Optional.ofNullable(courseScheduleService.getById(courseId)).
                 orElseThrow(()->new BizException("房间信息不存在"));
         BasicUserInfo sysUser = Optional.ofNullable(teacherDao.getBasicUserInfo(userId)).
                 orElseThrow(()-> new BizException("用户信息不存在"));
@@ -380,8 +382,8 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
             ClientEnum clientType = ClientEnum.valueOf(imGroupService.analysisImUserClient(imUserId));
             // 网络教室用户身份
             RoleEnum userRole = clientType == ClientEnum.TEACHER ? RoleEnum.RoleTeacher : RoleEnum.RoleStudent;
-
-            CourseSchedule courseSchedule = Optional.ofNullable(courseScheduleService.getById(roomId))
+            String courseId = getCourseIdByRoomId(roomId);
+            CourseSchedule courseSchedule = Optional.ofNullable(courseScheduleService.getById(courseId))
                     .orElseThrow(()->new BizException("房间信息不存在"));
             Long courseScheduleId = courseSchedule.getId();
             Long userId = Long.parseLong(imGroupService.analysisImUserId(imUserId));
@@ -418,7 +420,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
             roleEnum = RoleEnum.RoleStudent;
         }
         customMessage.setCurrentUserId(imGroupService.getImUserId(sysUserService.getUserId(),roleEnum));
-        CourseSchedule courseSchedule = courseScheduleService.getById(customMessage.getRoomId());
+        CourseSchedule courseSchedule = courseScheduleService.getById(getCourseIdByRoomId(customMessage.getRoomId()));
         customMessage.setServiceProvider(courseSchedule.getServiceProvider());
         //发送节拍器消息
         imService.sendImPlayMidiMessage(customMessage);
@@ -435,21 +437,22 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
         String accompanimentId = Optional.of(musicSheetDto).map(ImNetworkMusicSheetDto::getMusicScoreAccompanimentId).orElseThrow(() -> new BizException("伴奏编号不能为空"));
         log.info("pushDownloadMusicSheetMsg: roomId:{} ,accompanimentId:{}", roomId,accompanimentId);
         Long userId = sysUserService.getUserId();
+        String courseId = getCourseIdByRoomId(roomId);
         List<CourseScheduleStudentMusicSheetResult> scheduleStudentMusicSheetResults = courseScheduleStudentMusicSheetService.getDao().
-                queryBySheetIdAndCourseId(accompanimentId, Long.parseLong(roomId), null, null, 0);
+                queryBySheetIdAndCourseId(accompanimentId, Long.parseLong(courseId), null, null, 0);
 
         //获取曲目信息
         CbsMusicSheetWrapper.MusicSheetAccApplication sheetApplication = this.getSheetApplication(accompanimentId);
         if (CollectionUtils.isEmpty(scheduleStudentMusicSheetResults)) {
             //第一次下载,生成数据
             List<CourseScheduleStudentPayment> studentPayments =
-                    courseScheduleStudentPaymentService.lambdaQuery().eq(CourseScheduleStudentPayment::getCourseId,roomId).list();
+                    courseScheduleStudentPaymentService.lambdaQuery().eq(CourseScheduleStudentPayment::getCourseId,courseId).list();
             Set<Long> studentIds = studentPayments.stream().map(CourseScheduleStudentPayment::getUserId).collect(Collectors.toSet());
             studentIds.forEach(e -> {
                 CourseScheduleStudentMusicSheetResult musicSheet = new CourseScheduleStudentMusicSheetResult();
                 musicSheet.setMusicScoreAccompanimentId(accompanimentId);
                 musicSheet.setSpeed(sheetApplication.getPlaySpeed());
-                musicSheet.setCourseScheduleId(Long.parseLong(roomId));
+                musicSheet.setCourseScheduleId(Long.parseLong(courseId));
                 musicSheet.setUserId(e);
                 musicSheet.setUserType(0);
                 scheduleStudentMusicSheetResults.add(musicSheet);
@@ -457,7 +460,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
             CourseScheduleStudentMusicSheetResult musicSheet = new CourseScheduleStudentMusicSheetResult();
             musicSheet.setMusicScoreAccompanimentId(accompanimentId);
             musicSheet.setSpeed(sheetApplication.getPlaySpeed());
-            musicSheet.setCourseScheduleId(Long.parseLong(roomId));
+            musicSheet.setCourseScheduleId(Long.parseLong(courseId));
             musicSheet.setUserId(userId);
             musicSheet.setUserType(1);
             scheduleStudentMusicSheetResults.add(musicSheet);
@@ -476,7 +479,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
         content.setUrl(accompaniment.getAudioFileUrl());
         BasicUserInfo basicUserInfo = teacherDao.getBasicUserInfo(userId);
         basicUserInfo.setImUserId(imUserId);
-        CourseSchedule courseSchedule = courseScheduleService.getById(roomId);
+        CourseSchedule courseSchedule = courseScheduleService.getById(courseId);
         content.setServiceProvider(courseSchedule.getServiceProvider());
         content.setRoomId(roomId);
         imService.pushDownloadMusicSheetMsg(content,basicUserInfo);
@@ -487,7 +490,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
     @Transactional(rollbackFor = Exception.class)
     public void display(ImNetworkDisplayDataDto displayData) throws Exception {
         log.info("display in data = {}", displayData);
-        CourseSchedule courseSchedule = courseScheduleService.getById(displayData.getRoomId());
+        CourseSchedule courseSchedule = courseScheduleService.getById(getCourseIdByRoomId(displayData.getRoomId()));
         displayData.setTeacherId(imGroupService.getImUserId(courseSchedule.getTeacherId(),RoleEnum.RoleTeacher));
         roomService.display(displayData,courseSchedule.getServiceProvider());
     }
@@ -499,10 +502,11 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
         if (StringUtils.isNotEmpty(deviceControl.getUserId())) {
             controlDevice(deviceControl);
         } else {
+            String courseId = getCourseIdByRoomId(deviceControl.getRoomId());
             if (deviceType == ImNetworkDeviceTypeEnum.EXAM_SONG ||
                     deviceType == ImNetworkDeviceTypeEnum.MUSIC_SHEET ||
                     deviceType == ImNetworkDeviceTypeEnum.ACCOMPANIMENT) {
-                List<CourseScheduleStudentPayment> studentPayments = courseScheduleStudentPaymentService.getDao().queryByCourseId(Long.parseLong(deviceControl.getRoomId()));
+                List<CourseScheduleStudentPayment> studentPayments = courseScheduleStudentPaymentService.getDao().queryByCourseId(Long.parseLong(courseId));
 
                 for (CourseScheduleStudentPayment studentPayment : studentPayments) {
                     deviceControl.setUserId(imGroupService.getImUserId(String.valueOf(studentPayment.getUserId()), ClientEnum.STUDENT.name()));
@@ -512,7 +516,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
             }else {
                 // 同步全员静音状态
                 if (deviceControl.getDeviceType() == ImNetworkDeviceTypeEnum.MICROPHONE || deviceControl.getCancelMuteFlag() != null) {
-                    CourseSchedule courseSchedule = courseScheduleService.getById(deviceControl.getRoomId());
+                    CourseSchedule courseSchedule = courseScheduleService.getById(courseId);
                     if(deviceControl.getEnable() != null){
                         courseSchedule.setMuteAll(!deviceControl.getEnable());
                     }
@@ -579,7 +583,8 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
         log.info("controlDevice: roomId:{} ,deviceType:{} ,enable:{} ,imUserId:{}", roomId,deviceControl.getDeviceType(),enable,imUserId);
 
         // RTC服务对象
-        CourseSchedule courseSchedule = courseScheduleService.getById(roomId);
+        String courseId = getCourseIdByRoomId(roomId);
+        CourseSchedule courseSchedule = courseScheduleService.getById(courseId);
         BasicUserInfo teacher = teacherDao.getBasicUserInfo(sysUser.getId());
         teacher.setImUserId(imGroupService.getImUserId(teacher.getUserId(),RoleEnum.RoleTeacher));
 
@@ -587,7 +592,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
 
         long userId = Long.parseLong(imGroupService.analysisImUserId(imUserId));
         if(enable){
-            long scheduleId = Long.parseLong(roomId);
+            long scheduleId = Long.parseLong(courseId);
             switch (deviceControl.getDeviceType()) {
                 case MUSIC_SHEET:
                     String musicSheetId = Optional.ofNullable(deviceControl.getMusicScoreAccompanimentId()).
@@ -607,7 +612,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
                     break;
             }
         }else {
-            long scheduleId = Long.parseLong(roomId);
+            long scheduleId = Long.parseLong(courseId);
             switch (deviceControl.getDeviceType()) {
                 case MUSIC_SHEET:
                 case ACCOMPANIMENT:
@@ -633,7 +638,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
                         .eq(ImNetworkRoomMember::getUserId,imUserId)
                         .eq(ImNetworkRoomMember::getRole,userRole.getValue()).last("LIMIT 1").one()).
                 orElseThrow(()-> new BizException("用户不在房间内"));
-        CourseSchedule courseSchedule = courseScheduleService.getById(deviceControl.getRoomId());
+        CourseSchedule courseSchedule = courseScheduleService.getById(getCourseIdByRoomId(deviceControl.getRoomId()));
         deviceControl.setServiceProvider(courseSchedule.getServiceProvider());
 
         imService.pushApproveControlDevice(deviceControl,roomMember,
@@ -652,7 +657,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
             userRole = RoleEnum.RoleStudent;
         }
 
-        CourseSchedule courseSchedule = courseScheduleService.getById(deviceStatusSync.getRoomId());
+        CourseSchedule courseSchedule = courseScheduleService.getById(getCourseIdByRoomId(deviceStatusSync.getRoomId()));
         deviceStatusSync.setServiceProvider(courseSchedule.getServiceProvider());
         String imUserId = imGroupService.getImUserId(userId, userRole);
         ImNetworkRoomMember roomMember = Optional.ofNullable(imNetworkRoomMemberService.lambdaQuery().eq(ImNetworkRoomMember::getRoomId,deviceStatusSync.getRoomId())
@@ -669,7 +674,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
                 .eq(ImNetworkRoomMember::getRole, RoleEnum.RoleStudent.getValue()).list()
                 .stream().map(e -> imGroupService.analysisImUserId(e.getUserId())).collect(Collectors.toList());
         //获取不在教室的学员列表
-        List<BasicUserInfoDto> userInfos = courseScheduleStudentPaymentService.getDao().queryNoJoinStu(roomId,studentIds);
+        List<BasicUserInfoDto> userInfos = courseScheduleStudentPaymentService.getDao().queryNoJoinStu(getCourseIdByRoomId(roomId),studentIds);
         for (BasicUserInfoDto item : userInfos) {
             item.setUserId(imGroupService.getImUserId(item.getUserId(),ClientEnum.STUDENT.name()));
         }
@@ -682,7 +687,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
         log.info("rejectControlDevice: roomId:{} ,deviceType:{}", deviceControl.getRoomId(),deviceControl.getDeviceType());
         SysUser sysUser = sysUserService.getUser();
 
-        CourseSchedule courseSchedule = courseScheduleService.getById(deviceControl.getRoomId());
+        CourseSchedule courseSchedule = courseScheduleService.getById(getCourseIdByRoomId(deviceControl.getRoomId()));
         deviceControl.setServiceProvider(courseSchedule.getServiceProvider());
         ImNetworkRoomMember roomMember = imNetworkRoomMemberService.lambdaQuery()
                 .eq(ImNetworkRoomMember::getUserId, sysUser.getId())
@@ -700,8 +705,9 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
         Integer status = Optional.of(musicSheetDto).map(ImNetworkMusicSheetDto::getStatus).orElseThrow(() -> new BizException("伴奏下载状态不能为空"));
         log.info("musicSheetDownNotify: roomId:{} ,accompanimentId:{} ,status:{}", roomId,accompanimentId,status);
         Long userId = sysUserService.getUserId();
+        String courseId = getCourseIdByRoomId(roomId);
         List<CourseScheduleStudentMusicSheetResult> studentMusicSheetResults = this.initCourseScheduleStudentMusicScore(courseScheduleStudentMusicSheetService.getDao().
-                queryBySheetIdAndCourseId(accompanimentId, Long.parseLong(roomId),userId, null, null));
+                queryBySheetIdAndCourseId(accompanimentId, Long.parseLong(courseId),userId, null, null));
         if(CollectionUtils.isEmpty(studentMusicSheetResults)){
             return;
         }
@@ -710,7 +716,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
         musicSheetResult.setDownStatus(status);
         courseScheduleStudentMusicSheetService.updateById(musicSheetResult);
         //给老师发送学员曲目下载状态
-        CourseSchedule courseSchedule = courseScheduleService.getById(roomId);
+        CourseSchedule courseSchedule = courseScheduleService.getById(courseId);
         ImNetworkMusicSheetDownloadStatusMessage statusMessage = new ImNetworkMusicSheetDownloadStatusMessage(status,studentMusicSheetResults);
 
         // IM用户ID
@@ -752,4 +758,13 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
         }
         return applications.get(0);
     }
+
+
+    public static String getCourseIdByRoomId(String roomId) {
+        return roomId.replace("CLX_NetworkRoom_", "");
+    }
+
+    public static  String getRoomIdByCourseId(String courseId) {
+        return "CLX_NetworkRoom_" + courseId;
+    }
 }