Browse Source

Merge branch 'saas_hgw_2022_6_7' into saas

hgw 3 năm trước cách đây
mục cha
commit
1d6e29cb64

+ 18 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImLiveBroadcastRoomServiceImpl.java

@@ -113,7 +113,7 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
     public static final int PRE_LIVE_TIME_MINUTE = 30;
 
     /**
-     * 进入直播间检查数据
+     * 进入直播间检查数据-现在只有学生端用
      *
      * @param roomUid 房间uid
      * @param userId  用户id
@@ -127,14 +127,23 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
         } else {
             sysUser = getSysUser(userId);
         }
+        osType = Optional.ofNullable(osType).orElse(1);
         return queryRoomAndCheck(roomUid, sysUser, osType);
     }
 
     public ImLiveBroadcastRoomVo queryRoomAndCheck(String roomUid, SysUser sysUser, Integer osType) {
+        Optional<ImLiveBroadcastRoomVo> optional;
+        //如果是学生端,则需要检查是否有权限进入
+        if (osType == 1) {
+            Map<String, Object> param = new HashMap<>();
+            param.put("roomUid", roomUid);
+            optional = Optional.of(param).map(this::getImLiveBroadcastRoomVo);
+            optional.orElseThrow(() -> new BizException("您无法观看该直播"));
+        } else {
+            optional = Optional.ofNullable(roomUid).map(this::queryRoomInfo);
+            optional.orElseThrow(() -> new BizException("直播间不存在"));
+        }
         //直播间信息校验
-        Optional<ImLiveBroadcastRoomVo> optional = Optional.ofNullable(roomUid)
-                .map(this::queryRoomInfo);
-        optional.orElseThrow(() -> new BizException("直播间不存在"));
         optional.filter(r -> r.getTenantId().equals(sysUser.getTenantId()))
                 .orElseThrow(() -> new BizException("您不是该直播机构人员,不可观看!"));
         optional.filter(r -> r.getRoomState() != 1).orElseThrow(() -> new BizException("直播间不存在"));
@@ -203,7 +212,7 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
         //查询该人员分部  及 分部下包含的学校(合作单位)
         SysUser sysUser = getSysUser();
         //分部
-        String organIds = null;
+        String organIds;
         //如果是超管就查询当前机构所有的直播间
         if (sysUser.getTenantId() == -1 || sysUser.getIsSuperAdmin()) {
             param.put("allRoom", 1);
@@ -396,6 +405,10 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
         param.put("tenantId", TenantContextHolder.getTenantId());
         param.put("popularize", 1);
         param.put("liveState", 1);
+        return getImLiveBroadcastRoomVo(param);
+    }
+
+    private ImLiveBroadcastRoomVo getImLiveBroadcastRoomVo(Map<String, Object> param) {
         PageInfo<ImLiveBroadcastRoomVo> pageInfo = imLiveRoomReservationService.queryPageStudent(param);
         List<ImLiveBroadcastRoomVo> list = pageInfo.getRows();
         if (CollectionUtils.isNotEmpty(list)) {

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImLiveRoomReservationServiceImpl.java

@@ -98,6 +98,7 @@ public class ImLiveRoomReservationServiceImpl extends ServiceImpl<ImLiveRoomRese
         if (Objects.nonNull(student) && Objects.nonNull(student.getCooperationOrganId())) {
             param.put("schoolId", student.getCooperationOrganId());
         }
+        //乐团
         String teamIds = baseMapper.queryMusicGroupIds(user.getId());
         if (StringUtils.isNotBlank(teamIds)) {
             param.put("teamIds", teamIds);

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/ImLiveRoomReservationMapper.xml

@@ -89,6 +89,9 @@
             <if test="param.popularize != null">
                 and a.popularize_ = #{param.popularize}
             </if>
+            <if test="param.roomUid != null">
+                and a.room_uid_ = #{param.roomUid}
+            </if>
         </where>
     </select>
 

+ 3 - 5
mec-web/src/main/java/com/ym/mec/web/controller/ImLiveBroadcastRoomController.java

@@ -1,9 +1,8 @@
 package com.ym.mec.web.controller;
 
-
 import com.ym.mec.biz.dal.dto.ImLiveBroadcastRoomDto;
-import com.ym.mec.biz.dal.page.LiveRoomGoodsOrderQueryInfo;
 import com.ym.mec.biz.dal.dto.RoomReservationUserSearch;
+import com.ym.mec.biz.dal.page.LiveRoomGoodsOrderQueryInfo;
 import com.ym.mec.biz.dal.vo.BaseRoomUserVo;
 import com.ym.mec.biz.dal.vo.ImLiveBroadcastRoomVo;
 import com.ym.mec.biz.dal.vo.LiveRoomGoodsOrderVo;
@@ -13,7 +12,6 @@ import com.ym.mec.common.controller.BaseController;
 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.QueryInfo;
 import com.ym.mec.common.page.WrapperUtil;
 import io.swagger.annotations.*;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -67,7 +65,7 @@ public class ImLiveBroadcastRoomController extends BaseController {
     @GetMapping("/queryRoom")
     public HttpResponseResult<ImLiveBroadcastRoomVo> queryRoomAndCheck(@ApiParam(value = "房间uid", required = true) String roomUid,
                                                                        @ApiParam(value = "用户id", required = true) Integer userId) {
-        return succeed(imLiveBroadcastRoomService.queryRoomAndCheck(roomUid, userId, 0));
+        return succeed(imLiveBroadcastRoomService.queryRoomAndCheck(roomUid, userId, null));
     }
 
     @ApiOperation("查询房间信息")
@@ -214,7 +212,7 @@ public class ImLiveBroadcastRoomController extends BaseController {
 
     @ApiOperation("查询直播间商品订单列表")
     @GetMapping("/queryLiveRoomGoodsOrderList")
-    public HttpResponseResult<PageInfo<LiveRoomGoodsOrderVo>> queryLiveRoomGoodsOrderList(LiveRoomGoodsOrderQueryInfo queryInfo){
+    public HttpResponseResult<PageInfo<LiveRoomGoodsOrderVo>> queryLiveRoomGoodsOrderList(LiveRoomGoodsOrderQueryInfo queryInfo) {
         return succeed(imLiveBroadcastRoomService.queryLiveRoomGoodsOrderList(queryInfo));
     }
 }