Browse Source

Merge remote-tracking branch 'origin/master_saas' into master_saas

yuanliang 2 năm trước cách đây
mục cha
commit
5e0640222a

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/IndexBaseMonthDataDao.java

@@ -369,12 +369,12 @@ public interface IndexBaseMonthDataDao extends BaseDAO<Long, IndexBaseMonthData>
     List<IndexBaseMonthData> getTotalAmountDataWithTimelyDetails(@Param("startDate") String startDate,
                                                                  @Param("endDate") String endDate,
                                                                  @Param("organIds") List<Integer> organIds,
-                                                                 @Param("orderTypeList") List<String> orderTypeList,
+                                                                 @Param("orderType") String orderType,
                                                                  @Param("tenantId") Integer tenantId);
     List<IndexBaseMonthData> getOrganTotalAmountDataWithTimelyDetails(@Param("startDate") String startDate,
                                                                  @Param("endDate") String endDate,
                                                                  @Param("organIds") List<Integer> organIds,
-                                                                 @Param("orderTypeList") List<String> orderTypeList,
+                                                                      @Param("orderType") String orderType,
                                                                  @Param("tenantId") Integer tenantId);
 
     List<IndexBaseMonthData> getVipAmountDataWithTimelyDetails(@Param("startDate") String startDate,

+ 5 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/ImGroupService.java

@@ -1,6 +1,6 @@
 package com.ym.mec.biz.service;
 
-import com.microsvc.toolkit.middleware.im.message.ImGroupMemberWrapper;
+import com.microsvc.toolkit.middleware.im.message.GroupMemberWrapper;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.ImGroupDto;
 import com.ym.mec.biz.dal.dto.ImGroupMemberDto;
@@ -119,10 +119,10 @@ public interface ImGroupService extends BaseService<String, ImGroup> {
     void addSchoolStaffGroup(Long schoolId, Integer userId,String name,String avatar, ESchoolStaffType leader) throws Exception;
 
     @Transactional(rollbackFor = Exception.class)
-    void addSchoolGroup(Long schoolId, List<ImGroupMemberWrapper.ImGroupMember> imGroupMembers);
+    void addSchoolGroup(Long schoolId, List<GroupMemberWrapper.ImGroupMember> imGroupMembers);
 
     @Transactional(rollbackFor = Exception.class)
-    void quitSchoolGroup(Long schoolId, List<ImGroupMemberWrapper.ImGroupMember> imGroupMembers);
+    void quitSchoolGroup(Long schoolId, List<GroupMemberWrapper.ImGroupMember> imGroupMembers);
 
     /**
      * 群主移交
@@ -136,8 +136,8 @@ public interface ImGroupService extends BaseService<String, ImGroup> {
      * 加群
      *
      * @param musicGroupIds 群组ID
-     * @param user          用户信息
-     * @param userType
+     * @param userId          用户信息
+     * @param roleType
      */
     void addImGroup(List<String> musicGroupIds, Long  userId,  String roleType);
 

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

@@ -2,7 +2,7 @@ package com.ym.mec.biz.service.impl;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
-import com.microsvc.toolkit.middleware.im.message.ImGroupMemberWrapper;
+import com.microsvc.toolkit.middleware.im.message.GroupMemberWrapper;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.ym.mec.auth.api.client.SysUserFeignService;
@@ -329,9 +329,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
         if (musicGroup != null && musicGroup.getCooperationOrganId() != null) {
 
-            List<ImGroupMemberWrapper.ImGroupMember > imGroupMemberList = new ArrayList<>();
+            List<GroupMemberWrapper.ImGroupMember > imGroupMemberList = new ArrayList<>();
             for (ClassGroupTeacherMapper classGroupTeacherMapper : teacherMapperList) {
-                ImGroupMemberWrapper.ImGroupMember build = ImGroupMemberWrapper.ImGroupMember.builder()
+                GroupMemberWrapper.ImGroupMember build = GroupMemberWrapper.ImGroupMember.builder()
                         .userId(classGroupTeacherMapper.getUserId().longValue())
                         .roleType(EFriendRoleType.ORCHESTRA_TEACHER.getMsg())
                         .build();
@@ -357,7 +357,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             List<MusicGroup> musicGroups = cooperationOrganService.musicGroupPage(musicGroup.getCooperationOrganId());
             List<String> ids = musicGroups.stream().map(o -> o.getId()).collect(Collectors.toList());
 
-            List<ImGroupMemberWrapper.ImGroupMember > imGroupMemberList = new ArrayList<>();
+            List<GroupMemberWrapper.ImGroupMember > imGroupMemberList = new ArrayList<>();
             for (ClassGroupTeacherMapper classGroupTeacherMapper : teacherMapperList) {
 
                 if (!CollectionUtils.isEmpty(ids)) {
@@ -367,7 +367,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                     }
                 }
 
-                ImGroupMemberWrapper.ImGroupMember build = ImGroupMemberWrapper.ImGroupMember.builder()
+                GroupMemberWrapper.ImGroupMember build = GroupMemberWrapper.ImGroupMember.builder()
                         .userId(classGroupTeacherMapper.getUserId().longValue())
                         .roleType(EFriendRoleType.ORCHESTRA_TEACHER.getMsg())
                         .build();

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

@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.google.common.collect.Lists;
 import com.microsvc.toolkit.middleware.im.ImPluginContext;
 import com.microsvc.toolkit.middleware.im.ImPluginService;
-import com.microsvc.toolkit.middleware.im.message.ImGroupMemberWrapper;
+import com.microsvc.toolkit.middleware.im.message.GroupMemberWrapper;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.ImGroupDto;
@@ -327,7 +327,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
                 }
             }
             try {
-                imPluginService.groupQuit(imGroupMember.getImGroupId(), ImGroupMemberWrapper.ImGroupMember.builder().userId(userId).imUserIdFormat(false).build());
+                imPluginService.groupQuit(imGroupMember.getImGroupId(), GroupMemberWrapper.ImGroupMember.builder().userId(userId).imUserIdFormat(false).build());
             } catch (Exception e) {
                 log.error("用户退出群失败{},{}", userId, imGroupMember.getImGroupId(), e);
             }
@@ -349,7 +349,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
         List<ImGroup> groups = imGroups.stream().filter(imGroup -> imGroup.getMemberNum().equals(1)).collect(Collectors.toList());
         for (ImGroup group : groups) {
             try {
-                ImGroupMemberWrapper.ImGroupMember build = ImGroupMemberWrapper.ImGroupMember.builder().userId(userId).imUserIdFormat(false).build();
+                GroupMemberWrapper.ImGroupMember build = GroupMemberWrapper.ImGroupMember.builder().userId(userId).imUserIdFormat(false).build();
                 imPluginService.groupDismiss(group.getId(), Lists.newArrayList(build));
             } catch (Exception e) {
                 log.error("解散群组失败{},{}", userId, group.getId(), e);
@@ -401,7 +401,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
 
             initSchoolGroup(imGroup.getSchoolId());
         }
-        imPluginService.groupJoin(imGroup.getId(), imGroup.getName(), ImGroupMemberWrapper.ImGroupMember.builder()
+        imPluginService.groupJoin(imGroup.getId(), imGroup.getName(), GroupMemberWrapper.ImGroupMember.builder()
                 .userId(userId.longValue()).imUserIdFormat(false).build());
 
         if (schoolStaffType.equals(ESchoolStaffType.ORCHESTRA_LEADER)) {
@@ -448,14 +448,14 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
             teacherIds.addAll(teacherMapperList.stream().map( o -> o.getUserId()).collect(Collectors.toSet()));
         }
 
-        List<ImGroupMemberWrapper.ImGroupMember> imGroupMembers = new ArrayList<>();
+        List<GroupMemberWrapper.ImGroupMember> imGroupMembers = new ArrayList<>();
         for (Integer groupLeaderId : groupLeaderIds) {
-            imGroupMembers.add(ImGroupMemberWrapper.ImGroupMember.builder()
+            imGroupMembers.add(GroupMemberWrapper.ImGroupMember.builder()
                     .userId(groupLeaderId.longValue()).roleType(EFriendRoleType.ORCHESTRA_MANAGER.getMsg()).imUserIdFormat(false).build());
         }
 
         for (Integer teacherId : teacherIds) {
-            imGroupMembers.add(ImGroupMemberWrapper.ImGroupMember.builder()
+            imGroupMembers.add(GroupMemberWrapper.ImGroupMember.builder()
                     .userId(teacherId.longValue()).roleType(EFriendRoleType.ORCHESTRA_TEACHER.getMsg()).imUserIdFormat(false).build());
         }
 
@@ -470,7 +470,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void addSchoolGroup(Long schoolId, List<ImGroupMemberWrapper.ImGroupMember> imGroupMembers) {
+    public void addSchoolGroup(Long schoolId, List<GroupMemberWrapper.ImGroupMember> imGroupMembers) {
         // 添加乐团领队,班级老师
         List<ImGroupMember> imGroupMemberList =new ArrayList<>();
 
@@ -484,7 +484,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
             return;
         }
 
-        for (ImGroupMemberWrapper.ImGroupMember groupMember : imGroupMembers) {
+        for (GroupMemberWrapper.ImGroupMember groupMember : imGroupMembers) {
             ImGroupMember imGroupMember = new ImGroupMember();
             imGroupMember.setImGroupId(imGroup.getId());
             imGroupMember.setUserId(groupMember.getUserId().intValue());
@@ -512,7 +512,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void quitSchoolGroup(Long schoolId, List<ImGroupMemberWrapper.ImGroupMember> imGroupMembers) {
+    public void quitSchoolGroup(Long schoolId, List<GroupMemberWrapper.ImGroupMember> imGroupMembers) {
         // 添加乐团领队,班级老师
 
 
@@ -531,7 +531,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
 
         List<Integer> userIds = new ArrayList<>();
         ImPluginService imPluginService =imPluginContext.getPluginService(serviceProvider);
-        for (ImGroupMemberWrapper.ImGroupMember imGroupMember : imGroupMembers) {
+        for (GroupMemberWrapper.ImGroupMember imGroupMember : imGroupMembers) {
             imGroupMember.setImUserIdFormat(false);
             userIds.add(imGroupMember.getUserId().intValue());
         }
@@ -583,7 +583,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
      * 加群
      *
      * @param imGroupIds    群组ID
-     * @param user          用户信息
+     * @param userId          用户信息
      * @param roleType      用户类型
      */
     @Override
@@ -609,7 +609,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
                 continue;
             }
             try {
-                imPluginService.groupJoin(imGroup.getId(), imGroup.getName(), ImGroupMemberWrapper.ImGroupMember.builder()
+                imPluginService.groupJoin(imGroup.getId(), imGroup.getName(), GroupMemberWrapper.ImGroupMember.builder()
                         .userId(userId)
                         .imUserIdFormat(false).build());
 
@@ -663,7 +663,7 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
         List<com.ym.mec.biz.dal.entity.ImGroupMember> imGroupMemberList = new ArrayList<>();
         for (ImGroup imGroup : groupList) {
             try {
-                imPluginService.groupQuit(imGroup.getId(),  ImGroupMemberWrapper.ImGroupMember.builder().userId(userId.longValue()).imUserIdFormat(false).build());
+                imPluginService.groupQuit(imGroup.getId(),  GroupMemberWrapper.ImGroupMember.builder().userId(userId.longValue()).imUserIdFormat(false).build());
             } catch (Exception e) {
                 log.error("退出群聊失败",e);
             }

+ 6 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/IndexBaseMonthDataServiceImpl.java

@@ -350,7 +350,6 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 				result.add(indexBaseData);
 			}
 		}
-		System.out.println(System.currentTimeMillis());
 		return result;
 	}
 
@@ -408,7 +407,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 			switch (data) {
 				case P1:
 				{
-					List<IndexBaseMonthData> renew = indexBaseMonthDataDao.getOrganTotalAmountDataWithTimelyDetails(startDate1, endDate1, arrayList, "RENEW", null, tenantId);
+					List<IndexBaseMonthData> renew = indexBaseMonthDataDao.getOrganTotalAmountDataWithTimelyDetails(startDate1, endDate1, arrayList, "RENEW", tenantId);
 					indexBaseDtoList.add(this.getIndexBaseDto(ORGAN_RENEW_AMOUNT,renew,organs));
 				}
 					break;
@@ -420,7 +419,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 					break;
 				case P3:
 				{
-					List<IndexBaseMonthData> details = indexBaseMonthDataDao.getOrganTotalAmountDataWithTimelyDetails(startDate1, endDate1, arrayList, "PRACTICE_GROUP_BUY,PRACTICE_GROUP_RENEW", null, tenantId);
+					List<IndexBaseMonthData> details = indexBaseMonthDataDao.getOrganTotalAmountDataWithTimelyDetails(startDate1, endDate1, arrayList, "PRACTICE_GROUP_BUY,PRACTICE_GROUP_RENEW", tenantId);
 					indexBaseDtoList.add(this.getIndexBaseDto(ORGAN_PRACTICE_AMOUNT,details,organs));
 				}
 					break;
@@ -432,7 +431,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 					break;
 				case P5:
 				{
-					List<IndexBaseMonthData> renewAmount = indexBaseMonthDataDao.getTotalAmountDataWithTimelyDetails(startDate1, endDate1, arrayList,"RENEW",null,tenantId);
+					List<IndexBaseMonthData> renewAmount = indexBaseMonthDataDao.getTotalAmountDataWithTimelyDetails(startDate1, endDate1, arrayList,"RENEW",tenantId);
 					typeDateMap.put(RENEW_AMOUNT,renewAmount);
 				}
 					break;
@@ -444,7 +443,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 					break;
 				case P7:
 				{
-					typeDateMap.put(PRACTICE_AMOUNT,indexBaseMonthDataDao.getTotalAmountDataWithTimelyDetails(startDate1, endDate1, arrayList,"PRACTICE_GROUP_BUY,PRACTICE_GROUP_RENEW",null,tenantId));
+					typeDateMap.put(PRACTICE_AMOUNT,indexBaseMonthDataDao.getTotalAmountDataWithTimelyDetails(startDate1, endDate1, arrayList,"PRACTICE_GROUP_BUY,PRACTICE_GROUP_RENEW",tenantId));
 				}
 				break;
 				case P8:
@@ -460,7 +459,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 					break;
 				case P10:
 				{
-					List<IndexBaseMonthData> apply = indexBaseMonthDataDao.getOrganTotalAmountDataWithTimelyDetails(startDate1, endDate1, arrayList, "APPLY,ADD_STUDENT", null, tenantId);
+					List<IndexBaseMonthData> apply = indexBaseMonthDataDao.getOrganTotalAmountDataWithTimelyDetails(startDate1, endDate1, arrayList, "APPLY,ADD_STUDENT", tenantId);
 					indexBaseDtoList.add(this.getIndexBaseDto(ORGAN_APPLY_AMOUNT,apply,organs));
 				}
 					break;
@@ -486,7 +485,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 					break;
 				case P15:
 				{
-					typeDateMap.put(APPLY_AMOUNT,indexBaseMonthDataDao.getTotalAmountDataWithTimelyDetails(startDate1, endDate1, arrayList,"APPLY,ADD_STUDENT",null,tenantId));
+					typeDateMap.put(APPLY_AMOUNT,indexBaseMonthDataDao.getTotalAmountDataWithTimelyDetails(startDate1, endDate1, arrayList,"APPLY,ADD_STUDENT",tenantId));
 				}
 					break;
 				case P16:

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -5,7 +5,7 @@ import com.alibaba.fastjson.TypeReference;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.beust.jcommander.internal.Lists;
-import com.microsvc.toolkit.middleware.im.message.ImGroupMemberWrapper;
+import com.microsvc.toolkit.middleware.im.message.GroupMemberWrapper;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.*;
@@ -1657,7 +1657,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         //统计变更学员数
         groupEventSource.musicGroupStudentChangeEvent(musicGroupId, StudentMusicGroupStatusEnum.NORMAL, null);
 
-        ImGroupMemberWrapper.ImGroupMember build = ImGroupMemberWrapper.ImGroupMember.builder()
+        GroupMemberWrapper.ImGroupMember build = GroupMemberWrapper.ImGroupMember.builder()
                 .userId(musicGroup.getEducationalTeacherId().longValue())
                 .roleType(EFriendRoleType.ORCHESTRA_MANAGER.getMsg())
                 .build();

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

@@ -187,10 +187,14 @@ public class RoomServiceImpl implements RoomService {
 
         Teacher teacher = teacherDao.get(Integer.parseInt(userId));
         CourseSchedule courseSchedule = courseScheduleDao.get(Long.parseLong(roomId));
+        if (Objects.isNull(courseSchedule)) {
+            return new BaseResponse(ErrorEnum.ERR_ROOM_NOT_EXIST, ErrorEnum.ERR_ROOM_NOT_EXIST.getErrMsg(), null);
+        }
         if (courseSchedule.getTeachMode() == TeachModeEnum.OFFLINE) {
             return new BaseResponse(ErrorEnum.JOIN_ROOM_ERROR, ErrorEnum.JOIN_ROOM_ERROR.getErrMsg(), null);
         }
-
+        // 获取RTC服务提供方
+        updateCourseScheduleServiceProvider(courseSchedule);
 
         //是否是连堂课
         String continueCourseTime = sysTenantConfigService.getTenantConfigValue(SysConfigService.ONLINE_CONTINUE_COURSE_TIME, courseSchedule.getTenantId());
@@ -220,6 +224,8 @@ public class RoomServiceImpl implements RoomService {
         if (Objects.isNull(schedule)) {
             schedule = courseScheduleDao.get(courseId);
         }
+        // 获取RTC服务提供方
+        updateCourseScheduleServiceProvider(schedule);
 
         //记录用户实际选择的房间
         if (courseSchedule.getGroupType() == GroupType.COMM) {
@@ -230,30 +236,6 @@ public class RoomServiceImpl implements RoomService {
         redisTemplate.opsForValue().setIfAbsent(roomId + userId, courseSchedule.getId().toString());
         log.info("joinRoom current: roomId={}, userId={}", roomId, userId);
 
-        // 获取RTC服务提供方
-        if (StringUtils.isBlank(courseSchedule.getServiceProvider())) {
-
-            String rtcServiceProvider = Optional.ofNullable(sysConfigDao.findConfigValue(SysConfigService.RTC_SERVICE_PROVIDER))
-                    .orElse(RongCloudRTCPlugin.PLUGIN_NAME);
-
-            // 按分部强制开始腾讯网络教室
-            {
-                List<Integer> collect = Arrays.stream(Optional.ofNullable(sysConfigDao.findConfigValue(SysConfigService.TENCENT_RTC_SERVICE_PROVIDER)).orElse("").split(","))
-                        .filter(StringUtils::isNotBlank)
-                        .map(Integer::parseInt).distinct().collect(Collectors.toList());
-
-                if (collect.contains(courseSchedule.getOrganId())) {
-                    // 强制开启腾讯网络教室
-                    rtcServiceProvider = TencentCloudRTCPlugin.PLUGIN_NAME;
-                }
-            }
-
-            courseSchedule.setServiceProvider(rtcServiceProvider);
-
-            // 更新网络课服务提供方
-            courseScheduleDao.updateServiceProvider(courseSchedule.getId(), courseSchedule.getServiceProvider());
-        }
-
         // 主讲老师信息
         SysUser teacherInfo = sysUserFeignService.queryUserById(courseSchedule.getActualTeacherId());
         if (Objects.isNull(teacherInfo)) {
@@ -378,6 +360,36 @@ public class RoomServiceImpl implements RoomService {
     }
 
     /**
+     * 更新课程RTC服务提供方
+     * @param courseSchedule CourseSchedule
+     */
+    private void updateCourseScheduleServiceProvider(CourseSchedule courseSchedule) {
+
+        if (StringUtils.isBlank(courseSchedule.getServiceProvider())) {
+
+            String rtcServiceProvider = Optional.ofNullable(sysConfigDao.findConfigValue(SysConfigService.RTC_SERVICE_PROVIDER))
+                    .orElse(RongCloudRTCPlugin.PLUGIN_NAME);
+
+            // 按分部强制开始腾讯网络教室
+            {
+                List<Integer> collect = Arrays.stream(Optional.ofNullable(sysConfigDao.findConfigValue(SysConfigService.TENCENT_RTC_SERVICE_PROVIDER)).orElse("").split(","))
+                        .filter(StringUtils::isNotBlank)
+                        .map(Integer::parseInt).distinct().collect(Collectors.toList());
+
+                if (collect.contains(courseSchedule.getOrganId())) {
+                    // 强制开启腾讯网络教室
+                    rtcServiceProvider = TencentCloudRTCPlugin.PLUGIN_NAME;
+                }
+            }
+
+            courseSchedule.setServiceProvider(rtcServiceProvider);
+
+            // 更新网络课服务提供方
+            courseScheduleDao.updateServiceProvider(courseSchedule.getId(), courseSchedule.getServiceProvider());
+        }
+    }
+
+    /**
      * 创建网络课直播间
      * @param roomId 课程房间编号
      * @param courseSchedule 课程信息