Explorar el Código

添加视频字段

liujunchi hace 2 años
padre
commit
2db6517da7

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/vo/ImLiveBroadcastRoomVo.java

@@ -123,6 +123,17 @@ public class ImLiveBroadcastRoomVo implements Serializable {
     @ApiModelProperty(value = "禁言状态: 0 取消;1禁言")
     private Integer banStatus;
 
+    @ApiModelProperty("视频数量")
+    private Integer videoNum;
+
+    public Integer getVideoNum() {
+        return videoNum;
+    }
+
+    public void setVideoNum(Integer videoNum) {
+        this.videoNum = videoNum;
+    }
+
     public SysUserType getClientType() {
         return clientType;
     }

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ImLiveRoomVideoService.java

@@ -6,6 +6,7 @@ import com.ym.mec.biz.dal.entity.ImLiveRoomVideo;
 import com.ym.mec.biz.dal.vo.ImLiveRoomVideoVo;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 直播视频记录(ImLiveRoomVideo)表服务接口
@@ -18,5 +19,12 @@ public interface ImLiveRoomVideoService extends IService<ImLiveRoomVideo> {
     ImLiveRoomVideoDao getDao();
 
     List<ImLiveRoomVideoVo> queryList(String roomUid);
+
+    /**
+     * 直播间的视频数
+     *
+     * @param roomIdList 直播间id
+     */
+    Map<String,Integer> queryRoomUidCountMap(List<String> roomIdList);
 }
 

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImLiveBroadcastRoomServiceImpl.java

@@ -251,6 +251,7 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
         // 直播房间统计信息
         getRoomData(room);
 
+
         // 直播间配置信息
         return room.userSig(userSig).liveRoomConfig(pluginService.getLiveRoomConfig());
     }
@@ -315,6 +316,16 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
             record.setRoomReservationNum(imLiveBroadcastRoomVos.get(0).getRoomReservationNum());
         }
 
+        // 查询直播间视频数
+        Map<String, Integer> uidCountMap = imLiveRoomVideoService.queryRoomUidCountMap(roomIdList);
+        for (ImLiveBroadcastRoomVo record : records) {
+            Integer count = uidCountMap.get(record.getRoomUid());
+            if (count == null) {
+                record.setVideoNum(0);
+            }
+            record.setVideoNum(count);
+        }
+
         return PageUtil.pageInfo(page);
     }
 
@@ -1686,6 +1697,15 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
         roomVo.setTotalLookNum(getNum.apply(this::getTotalUserCache, roomVo.getRoomUid()));
         //在房间观看用户数量
         roomVo.setLookNum(getNum.apply(this::getOnlineUserCache, roomVo.getRoomUid()));
+
+
+        // 直播视频数
+        List<ImLiveRoomVideoVo> imLiveRoomVideoVos = imLiveRoomVideoService.queryList(roomVo.getRoomUid());
+        if (CollectionUtils.isNotEmpty(imLiveRoomVideoVos)) {
+            roomVo.setVideoNum(imLiveRoomVideoVos.size());
+        } else {
+            roomVo.setVideoNum(0);
+        }
     }
 
     /**

+ 27 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImLiveRoomVideoServiceImpl.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.google.common.collect.Maps;
 import com.ym.mec.biz.dal.dao.ImLiveRoomVideoDao;
 import com.ym.mec.biz.dal.entity.ImLiveRoomVideo;
 import com.ym.mec.biz.dal.vo.ImLiveRoomVideoVo;
@@ -11,6 +12,7 @@ import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 直播视频记录(ImLiveRoomVideo)表服务实现类
@@ -32,5 +34,30 @@ public class ImLiveRoomVideoServiceImpl extends ServiceImpl<ImLiveRoomVideoDao,
         return baseMapper.queryVideoList(roomUid);
     }
 
+    /**
+     * 直播间的视频数
+     *
+     * @param roomIdList 直播间id
+     */
+    @Override
+    public Map<String, Integer> queryRoomUidCountMap(List<String> roomIdList) {
+        if (roomIdList == null || roomIdList.isEmpty()) {
+            return Maps.newHashMap();
+        }
+        List<ImLiveRoomVideo> list = this.lambdaQuery().in(ImLiveRoomVideo::getRoomUid, roomIdList).list();
+        Map<String, Integer> map = Maps.newHashMap();
+        for (ImLiveRoomVideo imLiveRoomVideo : list) {
+            String roomUid = imLiveRoomVideo.getRoomUid();
+            Integer count = map.get(roomUid);
+            if (count == null) {
+                count = 0;
+            }
+            map.put(roomUid, count + 1);
+        }
+        return map;
+
+
+    }
+
 }