Eric 2 years ago
parent
commit
19955a99fe

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/LiveRoomStatus.java

@@ -29,4 +29,7 @@ public class LiveRoomStatus {
     @ApiModelProperty(value = "禁言状态: 0 取消;1禁言")
     private Integer banStatus;
 
+    @ApiModelProperty(value = "直播时长")
+    private Integer liveTotalTime;
+
 }

+ 12 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ImLiveBroadcastRoom.java

@@ -4,7 +4,6 @@ import java.util.Date;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
-import com.ym.mec.biz.dal.enums.LiveServiceProviderEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -67,6 +66,10 @@ public class ImLiveBroadcastRoom implements Serializable {
     @ApiModelProperty(value = "直播状态 0未开始 1开始 2已结束")
     private Integer liveState;
 
+    @TableField("live_total_time_")
+    @ApiModelProperty(value = "直播时长")
+    private Integer liveTotalTime;
+
     @TableField("room_state_")
     @ApiModelProperty(value = "房间状态 0正常 1已删除 2销毁")
     private Integer roomState;
@@ -318,5 +321,13 @@ public class ImLiveBroadcastRoom implements Serializable {
     public void setBanStatus(Integer banStatus) {
         this.banStatus = banStatus;
     }
+
+    public Integer getLiveTotalTime() {
+        return liveTotalTime;
+    }
+
+    public void setLiveTotalTime(Integer liveTotalTime) {
+        this.liveTotalTime = liveTotalTime;
+    }
 }
 

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

@@ -54,6 +54,9 @@ public class ImLiveBroadcastRoomVo implements Serializable {
     @ApiModelProperty(value = "直播状态 0未开始 1开始 2结束")
     private Integer liveState;
 
+    @ApiModelProperty(value = "直播时长")
+    private Integer liveTotalTime;
+
     @ApiModelProperty(value = "房间状态 0正常 1已删除")
     private Integer roomState;
 
@@ -387,5 +390,13 @@ public class ImLiveBroadcastRoomVo implements Serializable {
     public void setBanStatus(Integer banStatus) {
         this.banStatus = banStatus;
     }
+
+    public Integer getLiveTotalTime() {
+        return liveTotalTime;
+    }
+
+    public void setLiveTotalTime(Integer liveTotalTime) {
+        this.liveTotalTime = liveTotalTime;
+    }
 }
 

+ 7 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImLiveBroadcastRoomServiceImpl.java

@@ -1806,20 +1806,21 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
     /**
      * 更新主播直播间状态
      *
-     * @param status 直播间状态
+     * @param liveRoom 直播间状态
      */
     @Override
-    public Boolean updateRoomStatus(LiveRoomStatus status) {
+    public Boolean updateRoomStatus(LiveRoomStatus liveRoom) {
         // 获取直播间信息
-        ImLiveBroadcastRoomVo room = this.getImLiveBroadcastRoomVo(status.getRoomUid());
+        ImLiveBroadcastRoomVo room = this.getImLiveBroadcastRoomVo(liveRoom.getRoomUid());
         if (room == null) {
             throw new BizException("直播间不存在");
         }
         ImLiveBroadcastRoom imLiveBroadcastRoom = new ImLiveBroadcastRoom();
         imLiveBroadcastRoom.setId(room.getId());
-        imLiveBroadcastRoom.setSpeakerStatus(status.getSpeakerStatus());
-        imLiveBroadcastRoom.setPushStatus(status.getPushStatus());
-        imLiveBroadcastRoom.setBanStatus(status.getBanStatus());
+        imLiveBroadcastRoom.setSpeakerStatus(liveRoom.getSpeakerStatus());
+        imLiveBroadcastRoom.setPushStatus(liveRoom.getPushStatus());
+        imLiveBroadcastRoom.setBanStatus(liveRoom.getBanStatus());
+        imLiveBroadcastRoom.setLiveTotalTime(liveRoom.getLiveTotalTime());
 
         return this.updateById(imLiveBroadcastRoom);
     }

+ 1 - 0
mec-biz/src/main/resources/config/mybatis/ImLiveBroadcastRoomMapper.xml

@@ -52,6 +52,7 @@
         b.avatar_ AS speakerPic,
         a.live_start_time_ AS liveStartTime,
         a.live_state_ AS liveState,
+        a.live_toal_time_ AS liveTotalTime,
         a.room_state_ AS roomState,
         c.real_name_ AS createdByName,
         a.pre_template_ AS preTemplate,

+ 59 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherImLiveBroadcastRoomMemberController.java

@@ -0,0 +1,59 @@
+package com.ym.mec.teacher.controller;
+
+import com.ym.mec.biz.dal.vo.ImLiveBroadcastRoomDetailVo;
+import com.ym.mec.biz.dal.vo.ImLiveBroadcastRoomMemberVo;
+import com.ym.mec.biz.service.ImLiveBroadcastRoomMemberService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.page.PageInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.Map;
+
+/**
+ * 直播间人员关系表(ImLiveBroadcastRoomMember)表控制层
+ *
+ * @author hgw
+ * @since 2022-02-21 14:26:58
+ */
+@Api(tags = "直播间人员关系表")
+@RestController
+@RequestMapping("/imLiveBroadcastRoomMember")
+public class TeacherImLiveBroadcastRoomMemberController extends BaseController {
+    /**
+     * 服务对象
+     */
+    @Resource
+    private ImLiveBroadcastRoomMemberService imLiveBroadcastRoomMemberService;
+
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "roomUid", dataType = "String", value = "房间uid")
+    })
+    @ApiOperation("直播间详情")
+    @PostMapping("/queryRoomDetail")
+    public HttpResponseResult<ImLiveBroadcastRoomDetailVo> queryRoomDetail(@RequestBody Map<String, Object> param) {
+        return succeed(imLiveBroadcastRoomMemberService.queryRoomDetail(param));
+    }
+
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "search", dataType = "String", value = "模糊搜索 学员编号姓名"),
+            @ApiImplicitParam(name = "roomUid", dataType = "String", value = "房间uid"),
+            @ApiImplicitParam(name = "page", dataType = "Integer", value = "页数"),
+            @ApiImplicitParam(name = "rows", dataType = "Integer", value = "每页数量"),
+    })
+    @ApiOperation("分页查询直播间人员列表")
+    @PostMapping("/queryRoomMember")
+    public HttpResponseResult<PageInfo<ImLiveBroadcastRoomMemberVo>> queryRoomMember(@RequestBody Map<String, Object> param) {
+        return succeed(imLiveBroadcastRoomMemberService.queryRoomMember(param));
+    }
+
+}
+

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

@@ -1,11 +1,8 @@
 package com.ym.mec.web.controller;
 
-import com.alibaba.fastjson.JSON;
 import com.ym.mec.biz.dal.dto.ImLiveBroadcastRoomDto;
+import com.ym.mec.biz.dal.dto.LiveRoomStatus;
 import com.ym.mec.biz.dal.dto.RoomReservationUserSearch;
-import com.ym.mec.biz.dal.dto.TencentData;
-import com.ym.mec.biz.dal.dto.TencentImCallbackResult;
-import com.ym.mec.biz.dal.enums.ETencentImCallbackCommand;
 import com.ym.mec.biz.dal.page.LiveRoomGoodsOrderQueryInfo;
 import com.ym.mec.biz.dal.vo.BaseRoomUserVo;
 import com.ym.mec.biz.dal.vo.ImLiveBroadcastRoomVo;
@@ -17,13 +14,21 @@ import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.entity.ImUserState;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.WrapperUtil;
-import io.swagger.annotations.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 import java.io.IOException;
@@ -241,5 +246,11 @@ public class ImLiveBroadcastRoomController extends BaseController {
     public HttpResponseResult<PageInfo<LiveRoomGoodsOrderVo>> queryLiveRoomGoodsOrderList(LiveRoomGoodsOrderQueryInfo queryInfo) {
         return succeed(imLiveBroadcastRoomService.queryLiveRoomGoodsOrderList(queryInfo));
     }
+
+    @ApiOperation("更新直播间状态")
+    @PostMapping("/updateRoomStatus")
+    public HttpResponseResult<Boolean> updateRoomStatus(@RequestBody @Valid LiveRoomStatus status ) {
+        return succeed(imLiveBroadcastRoomService.updateRoomStatus(status));
+    }
 }