刘俊驰 1 年之前
父節點
當前提交
03fed5b00e

+ 66 - 0
cooleshow-api/src/main/java/com/yonge/cooleshow/api/feign/dto/RoomMember.java

@@ -0,0 +1,66 @@
+package com.yonge.cooleshow.api.feign.dto;
+
+
+import com.alibaba.fastjson.JSON;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class RoomMember {
+
+
+    @ApiModelProperty(value = "房间编号")
+    private String roomUid;
+
+    @ApiModelProperty(value = "房间标题")
+    private String roomTitle;
+
+    @ApiModelProperty(value = "主讲人")
+    private String speakerName;
+
+    @ApiModelProperty(value = "学生编号")
+    private Long studentId;
+
+
+    @ApiModelProperty(value = "学生编号")
+    private String imUserId;
+
+    @ApiModelProperty(value = "学生姓名")
+    private String studentName;
+
+    @ApiModelProperty(value = "学生头像")
+    private String avatar;
+
+    @ApiModelProperty(value = "手机号")
+    private String phone;
+
+    @ApiModelProperty(value = "声部名称")
+    private String subName;
+
+    @ApiModelProperty(value = "进入房间时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date joinTime;
+
+    @ApiModelProperty(value = "累计观看时长")
+    private Integer totalViewTime;
+
+    @ApiModelProperty(value = "连麦状态 0:未申请1:申请连麦中2:连麦中")
+    private Integer whetherMicStatus;
+
+    @ApiModelProperty(value = "是否黑名单")
+    private boolean blackFlag;
+
+    @ApiModelProperty("游客凭据")
+    private String fingerprint;
+
+    @ApiModelProperty(value = "是否能上麦:false否;true是")
+    private boolean microphoneFlag;
+    public String jsonString() {
+        return JSON.toJSONString(this);
+    }
+
+}

+ 18 - 2
cooleshow-app/src/main/java/com/yonge/cooleshow/admin/controller/open/OpenLiveController.java

@@ -1,5 +1,9 @@
 package com.yonge.cooleshow.admin.controller.open;
 
+import com.alibaba.fastjson.JSON;
+import com.yonge.cooleshow.api.feign.dto.RoomMember;
+import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
+import com.yonge.cooleshow.biz.dal.service.ImGroupService;
 import com.yonge.cooleshow.biz.dal.service.ImLiveBroadcastRoomMemberService;
 import com.yonge.cooleshow.biz.dal.service.LiveRoomService;
 import com.yonge.cooleshow.biz.dal.wrapper.liveroom.ImLiveBroadcastRoomMemberWrapper;
@@ -12,6 +16,7 @@ import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -29,6 +34,9 @@ public class OpenLiveController extends BaseController {
     @Autowired
     private ImLiveBroadcastRoomMemberService imLiveBroadcastRoomMemberService;
 
+    @Autowired
+    private ImGroupService imGroupService;
+
     @ApiOperation("查询房间人数")
     @GetMapping("/queryRoomInfo")
     public HttpResponseResult<ImLiveBroadcastRoomMemberWrapper.RoomMemberNumDto> queryRoomInfo(@ApiParam(value = "房间uid", required = true) String roomUid) {
@@ -46,9 +54,17 @@ public class OpenLiveController extends BaseController {
         @ApiImplicitParam(name = "rows", dataType = "Integer", value = "每页数量"),
     })
     @PostMapping("/queryRoomMember")
-    public HttpResponseResult<List<ImLiveBroadcastRoomMemberWrapper.ImLiveBroadcastRoomMember>> queryRoomMember(@RequestBody Map<String, Object> param) {
+    public HttpResponseResult<List<RoomMember>> queryRoomMember(@RequestBody Map<String, Object> param) {
         param.put("page",1);
         param.put("rows",-1);
-        return succeed(imLiveBroadcastRoomMemberService.queryRoomMember(param).getRows());
+        List<ImLiveBroadcastRoomMemberWrapper.ImLiveBroadcastRoomMember> rows = imLiveBroadcastRoomMemberService.queryRoomMember(param).getRows();
+        if (CollectionUtils.isNotEmpty(rows)) {
+            List<RoomMember> roomMembers = JSON.parseArray(JSON.toJSONString(rows), RoomMember.class);
+            for (RoomMember roomMember : roomMembers) {
+                roomMember.setImUserId(imGroupService.getImUserId(roomMember.getStudentId(), ClientEnum.STUDENT));
+            }
+            return succeed(roomMembers);
+        }
+        return succeed();
     }
 }