shangke 2 years ago
parent
commit
9f590c5405
1 changed files with 17 additions and 1 deletions
  1. 17 1
      mec-im/src/main/java/com/ym/service/Impl/LiveRoomServiceImpl.java

+ 17 - 1
mec-im/src/main/java/com/ym/service/Impl/LiveRoomServiceImpl.java

@@ -2,9 +2,12 @@ package com.ym.service.Impl;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.google.common.collect.Lists;
 import com.ym.http.HttpHelper;
 import com.ym.mec.biz.dal.dto.TencentData;
+import com.ym.mec.biz.dal.entity.ImLiveBroadcastRoom;
 import com.ym.mec.biz.dal.entity.ImLiveRoomVideo;
+import com.ym.mec.biz.service.ImLiveBroadcastRoomService;
 import com.ym.mec.biz.service.ImLiveRoomVideoService;
 import com.ym.mec.common.entity.ImRoomMessage;
 import com.ym.mec.common.exception.BizException;
@@ -44,6 +47,8 @@ public class LiveRoomServiceImpl implements LiveRoomService {
     @Autowired
     private ImLiveRoomVideoService imLiveRoomVideoService;
     @Autowired
+    private ImLiveBroadcastRoomService imLiveBroadcastRoomService;
+    @Autowired
     private StoragePluginContext storagePluginContext;
 
     /**
@@ -347,7 +352,18 @@ public class LiveRoomServiceImpl implements LiveRoomService {
                 .last("LIMIT 1")
                 .one();
         if (Objects.isNull(video)) {
-            imLiveRoomVideoService.save(imLiveRoomVideo);
+
+            ImLiveBroadcastRoom room = imLiveBroadcastRoomService.getByRoomUid(imLiveRoomVideo.getRoomUid());
+            if (Objects.nonNull(room) && "LIVE".equals(room.getGroupType())) {
+
+                if (StringUtils.isBlank(room.getVideoRecord()) || Arrays.stream(room.getVideoRecord().split(","))
+                        .anyMatch(x -> x.equals(imLiveRoomVideo.getRecordId()))) {
+                    imLiveRoomVideoService.save(imLiveRoomVideo);
+                }
+            } else {
+                imLiveRoomVideoService.save(imLiveRoomVideo);
+            }
+
         }
 
     }