فهرست منبع

直播间人数

刘俊驰 1 سال پیش
والد
کامیت
fc82f5df98

+ 10 - 0
mec-application/src/main/java/com/ym/mec/teacher/controller/TeacherImLiveBroadcastRoomController.java

@@ -5,6 +5,7 @@ import com.ym.mec.biz.dal.dto.LiveRoomStatus;
 import com.ym.mec.biz.dal.dto.RoomReservationUserSearch;
 import com.ym.mec.biz.dal.dto.RoomReservationUserSearch;
 import com.ym.mec.biz.dal.page.LiveRoomGoodsOrderQueryInfo;
 import com.ym.mec.biz.dal.page.LiveRoomGoodsOrderQueryInfo;
 import com.ym.mec.biz.dal.vo.*;
 import com.ym.mec.biz.dal.vo.*;
+import com.ym.mec.biz.dal.wrapper.LiveRoomWrapper;
 import com.ym.mec.biz.service.ImLiveBroadcastRoomMemberService;
 import com.ym.mec.biz.service.ImLiveBroadcastRoomMemberService;
 import com.ym.mec.biz.service.ImLiveBroadcastRoomService;
 import com.ym.mec.biz.service.ImLiveBroadcastRoomService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.controller.BaseController;
@@ -196,5 +197,14 @@ public class TeacherImLiveBroadcastRoomController extends BaseController {
         // 直播间推流状态查询
         // 直播间推流状态查询
         return succeed(imLiveBroadcastRoomService.roomLiveStreamStatus(roomUid));
         return succeed(imLiveBroadcastRoomService.roomLiveStreamStatus(roomUid));
     }
     }
+
+
+
+    @ApiOperation("查询房间人数")
+    @PostMapping("/queryRoomMemberCount")
+    public HttpResponseResult<LiveRoomWrapper.LiveRoomCount> queryRoomMemberCount(String roomUid) {
+        return succeed(imLiveBroadcastRoomService.queryRoomMemberCount(roomUid));
+    }
+
 }
 }
 
 

+ 7 - 0
mec-application/src/main/java/com/ym/mec/web/controller/ImLiveBroadcastRoomController.java

@@ -11,6 +11,7 @@ import com.ym.mec.biz.dal.vo.BaseRoomUserVo;
 import com.ym.mec.biz.dal.vo.ImLiveBroadcastRoomVo;
 import com.ym.mec.biz.dal.vo.ImLiveBroadcastRoomVo;
 import com.ym.mec.biz.dal.vo.LiveRoomGoodsOrderVo;
 import com.ym.mec.biz.dal.vo.LiveRoomGoodsOrderVo;
 import com.ym.mec.biz.dal.vo.RoomReservationUserVo;
 import com.ym.mec.biz.dal.vo.RoomReservationUserVo;
+import com.ym.mec.biz.dal.wrapper.LiveRoomWrapper;
 import com.ym.mec.biz.service.ImLiveBroadcastRoomService;
 import com.ym.mec.biz.service.ImLiveBroadcastRoomService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.entity.HttpResponseResult;
@@ -325,5 +326,11 @@ public class ImLiveBroadcastRoomController extends BaseController {
         return succeed(chatRoomGroupDefinedData);
         return succeed(chatRoomGroupDefinedData);
     }
     }
 
 
+
+    @ApiOperation("查询房间人数")
+    @PostMapping("/queryRoomMemberCount")
+    public HttpResponseResult<LiveRoomWrapper.LiveRoomCount> queryRoomMemberCount(String roomUid) {
+        return succeed(imLiveBroadcastRoomService.queryRoomMemberCount(roomUid));
+    }
 }
 }
 
 

+ 18 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/LiveRoomWrapper.java

@@ -0,0 +1,18 @@
+package com.ym.mec.biz.dal.wrapper;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+public class LiveRoomWrapper {
+
+
+    @Data
+    public static class LiveRoomCount{
+
+
+        @ApiModelProperty(value = "当前观看人数")
+        private Integer lookNum;
+        @ApiModelProperty(value = "累计观看人数")
+        private Integer totalLookNum;
+    }
+}

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ImLiveBroadcastRoomService.java

@@ -11,6 +11,7 @@ import com.ym.mec.biz.dal.vo.ImLiveBroadcastRoomVo;
 import com.ym.mec.biz.dal.vo.RoomReservationUserVo;
 import com.ym.mec.biz.dal.vo.RoomReservationUserVo;
 import com.ym.mec.biz.dal.vo.LiveRoomGoodsOrderVo;
 import com.ym.mec.biz.dal.vo.LiveRoomGoodsOrderVo;
 import com.ym.mec.biz.dal.vo.RoomUserInfoVo;
 import com.ym.mec.biz.dal.vo.RoomUserInfoVo;
+import com.ym.mec.biz.dal.wrapper.LiveRoomWrapper;
 import com.ym.mec.common.entity.ImUserState;
 import com.ym.mec.common.entity.ImUserState;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.PageInfo;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.NotNull;
@@ -252,5 +253,7 @@ public interface ImLiveBroadcastRoomService extends IService<ImLiveBroadcastRoom
      * @return
      * @return
      */
      */
     ImLiveBroadcastRoom getByRoomUid(String liveRoomId);
     ImLiveBroadcastRoom getByRoomUid(String liveRoomId);
+
+    LiveRoomWrapper.LiveRoomCount queryRoomMemberCount(String roomUid);
 }
 }
 
 

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

@@ -33,6 +33,7 @@ import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.enums.live.ELiveViewMode;
 import com.ym.mec.biz.dal.enums.live.ELiveViewMode;
 import com.ym.mec.biz.dal.page.LiveRoomGoodsOrderQueryInfo;
 import com.ym.mec.biz.dal.page.LiveRoomGoodsOrderQueryInfo;
 import com.ym.mec.biz.dal.vo.*;
 import com.ym.mec.biz.dal.vo.*;
+import com.ym.mec.biz.dal.wrapper.LiveRoomWrapper;
 import com.ym.mec.biz.redisson.RedissonMessageService;
 import com.ym.mec.biz.redisson.RedissonMessageService;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.biz.service.im.ImGroupCoreService;
 import com.ym.mec.biz.service.im.ImGroupCoreService;
@@ -3178,6 +3179,34 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
         return list.get(0);
         return list.get(0);
     }
     }
 
 
+    @Override
+    public LiveRoomWrapper.LiveRoomCount queryRoomMemberCount(String roomUid) {
+        LiveRoomWrapper.LiveRoomCount liveRoomCount = new LiveRoomWrapper.LiveRoomCount();
+        liveRoomCount.setLookNum(0);
+        liveRoomCount.setTotalLookNum(0);
+        try {
+
+            List<TencentWrapper.ChatRoomGroupCounter> chatRoomGroupDefinedData = livePluginContext.getPluginService().getChatRoomGroupDefinedData(roomUid);
+            if (CollectionUtils.isNotEmpty(chatRoomGroupDefinedData)) {
+                chatRoomGroupDefinedData.forEach(data -> {
+                    switch (data.getKey()) {
+                        case "MEMBER_TOTAL":
+                            liveRoomCount.setTotalLookNum(Integer.parseInt(data.getValue()));
+                            break;
+                        case "MEMBER_ONLINE":
+                            liveRoomCount.setLookNum(Integer.parseInt(data.getValue()));
+                            break;
+                        default:
+                            break;
+                    }
+                });
+            }
+        } catch (Exception e) {
+            log.error("获取直播群配置失败", e);
+        }
+        return liveRoomCount;
+    }
+
 
 
     /**
     /**
      * 查询直播间所有用户信息
      * 查询直播间所有用户信息