shangke 1 year ago
parent
commit
39281ea0ba
1 changed files with 16 additions and 14 deletions
  1. 16 14
      mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

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

@@ -231,21 +231,23 @@ public class RoomServiceImpl implements RoomService {
         RoleEnum roleEnum;
 
         // 获取RTC服务提供方
-        String rtcServiceProvider = Optional.ofNullable(sysConfigDao.findConfigValue(SysConfigService.RTC_SERVICE_PROVIDER))
-                .orElse(RongCloudRTCPlugin.PLUGIN_NAME);
+        if (StringUtils.isBlank(courseSchedule.getServiceProvider())) {
 
-        // 按分部强制开始腾讯网络教室
-        {
-            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());
+            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;
+                if (collect.contains(courseSchedule.getOrganId())) {
+                    // 强制开启腾讯网络教室
+                    rtcServiceProvider = TencentCloudRTCPlugin.PLUGIN_NAME;
+                }
             }
-        }
-        if (StringUtils.isBlank(courseSchedule.getServiceProvider())) {
+
             courseSchedule.setServiceProvider(rtcServiceProvider);
         }
 
@@ -271,7 +273,7 @@ public class RoomServiceImpl implements RoomService {
                 userName = sysUser.getUsername();
 
                 // 学生加入房间,判定老师是否已开启全员静音
-                if (TencentCloudRTCPlugin.PLUGIN_NAME.equals(rtcServiceProvider)) {
+                if (TencentCloudRTCPlugin.PLUGIN_NAME.equals(courseSchedule.getServiceProvider())) {
                     microphone = !muteAll;
                 }
             }
@@ -303,7 +305,7 @@ public class RoomServiceImpl implements RoomService {
             throw new BizException("主讲老师不存在");
         }
 
-        RTCRoomPluginService pluginService = rtcRoomPluginContext.getPluginService(rtcServiceProvider);
+        RTCRoomPluginService pluginService = rtcRoomPluginContext.getPluginService(courseSchedule.getServiceProvider());
         if (TencentCloudRTCPlugin.PLUGIN_NAME.equals(pluginService.pluginName())) {
             // 腾讯云RTC
             // 用户IM帐号创建