刘俊驰 hai 9 meses
pai
achega
e2c423e041

+ 5 - 0
cooleshow-common/src/main/java/com/yonge/cooleshow/common/constant/SysConfigConstant.java

@@ -429,4 +429,9 @@ public interface SysConfigConstant {
      * 草稿保存时长
      */
     String USER_MUSIC_DRAFT_TIME = "user_music_draft_time";
+
+    /**
+     * 管乐迷和酷乐秀同时直播老师ID
+     */
+    String LIVE_TEACHER_IDS = "live_teacher_ids";
 }

+ 13 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImGroupServiceImpl.java

@@ -230,6 +230,14 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
     @Override
     public String getImUserId(String userId, String clientType) {
         String imUserId = userId;
+
+        if (StringUtils.isNotBlank(clientType) && clientType.equals(ClientEnum.TEACHER.name())) {
+            String teacherIds = sysConfigService.findConfigValue(SysConfigConstant.LIVE_TEACHER_IDS);
+            if (StringUtils.isNotBlank(teacherIds) && Arrays.asList(teacherIds.split(",")).contains(userId)) {
+                return userId;
+            }
+        }
+
         if (StringUtils.isNotBlank(imConfig.getAppPrefix()) && !userId.startsWith(imConfig.getAppPrefix())) {
             imUserId = MessageFormat.format("{0}_{1}_{2}", imConfig.getAppPrefix(), userId, clientType);
         }
@@ -286,6 +294,11 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
      */
     @Override
     public boolean checkImUserId(String imUserId) {
+
+        String teacherIds = sysConfigService.findConfigValue(SysConfigConstant.LIVE_TEACHER_IDS);
+        if (StringUtils.isNotBlank(teacherIds) && Arrays.asList(teacherIds.split(",")).contains(imUserId)) {
+            return true;
+        }
        return imUserId.startsWith(imConfig.getAppPrefix());
     }
 

+ 5 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/LiveRoomServiceImpl.java

@@ -353,7 +353,11 @@ public class LiveRoomServiceImpl extends ServiceImpl<LiveRoomDao, LiveRoom> impl
             return;
         }
         LiveRoom room = new LiveRoom();
-        room.setRoomUid(GenRoomUid.apply(c.getTeacherId(), en));
+        if (StringUtils.isBlank(c.getRoomUid())) {
+            room.setRoomUid(GenRoomUid.apply(c.getTeacherId(), en));
+        } else {
+            room.setRoomUid(c.getRoomUid());
+        }
         room.setRoomTitle(titleMap.get(c.getCourseGroupId()));
         room.setLiveRemark(remarkMap.get(c.getCourseGroupId()));
         room.setSpeakerId(c.getTeacherId());