فهرست منبع

修改直播间观看权限-未完成

hgw 3 سال پیش
والد
کامیت
9fc1c3774c

+ 30 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ImLiveRoomPurviewService.java

@@ -21,6 +21,36 @@ public interface ImLiveRoomPurviewService extends IService<ImLiveRoomPurview> {
     ImLiveRoomPurviewDao getDao();
 
     /**
+     * 删除观看权限数据
+     *
+     * @param ids     bizId
+     * @param roomUid 直播间UID
+     */
+    void delete(String ids, String roomUid);
+
+    /**
+     * 查询学员列表-观看权限
+     *
+     * @param param 参数
+     *              <p> - search 搜索关键字
+     *              <p> - subjectId 声部ID
+     *              <p> - roomUid 直播间UID
+     *              <p> -page 页数
+     *              <p> -rows 每页数量
+     */
+    PageInfo<SysUserDto> queryStudent(Map<String, Object> param);
+
+    /**
+     * 查询群聊列表-观看权限
+     *
+     * @param param 参数
+     *              <p> - search 搜索关键字
+     *              <p> - roomUid 直播间UID
+     *              <p> - groupType 群类型
+     */
+    PageInfo<ImGroup> queryGroup(Map<String, Object> param);
+
+    /**
      * 选择列表-观看权限-查询学员列表
      *
      * @param param 参数

+ 42 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImLiveRoomPurviewServiceImpl.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.service.impl;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ym.mec.auth.api.client.SysUserFeignService;
@@ -21,6 +22,7 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
 import java.util.Map;
 import java.util.Objects;
 import java.util.Optional;
@@ -46,6 +48,22 @@ public class ImLiveRoomPurviewServiceImpl extends ServiceImpl<ImLiveRoomPurviewD
     }
 
     /**
+     * 删除观看权限数据
+     *
+     * @param ids     bizId
+     * @param roomUid 直播间UID
+     */
+    @Override
+    public void delete(String ids, String roomUid) {
+        Optional.ofNullable(roomUid).orElseThrow(() -> new BizException("房间uid不能为空"));
+        Optional.ofNullable(ids).orElseThrow(() -> new BizException("请选择要删除的数据"));
+        List<String> strings = WrapperUtil.toList(ids);
+        this.remove(Wrappers.<ImLiveRoomPurview>lambdaQuery()
+                .in(ImLiveRoomPurview::getBizId, strings)
+                .eq(ImLiveRoomPurview::getRoomUid, roomUid));
+    }
+
+    /**
      * 查询学员列表-观看权限
      *
      * @param param 参数
@@ -55,13 +73,29 @@ public class ImLiveRoomPurviewServiceImpl extends ServiceImpl<ImLiveRoomPurviewD
      *              <p> -page 页数
      *              <p> -rows 每页数量
      */
-    public PageInfo<SysUserDto>  queryStudent(Map<String, Object> param){
+    @Override
+    public PageInfo<SysUserDto> queryStudent(Map<String, Object> param) {
         WrapperUtil.toStr(param, "roomUid", "房间uid不能为空");
         Page<SysUserDto> pageInfo = PageUtil.getPageInfo(param);
         return PageUtil.pageInfo(baseMapper.queryStudent(pageInfo, param));
     }
 
     /**
+     * 查询群聊列表-观看权限
+     *
+     * @param param 参数
+     *              <p> - search 搜索关键字
+     *              <p> - roomUid 直播间UID
+     *              <p> - groupType 群类型
+     */
+    @Override
+    public PageInfo<ImGroup> queryGroup(Map<String, Object> param) {
+        WrapperUtil.toStr(param, "roomUid", "房间uid不能为空");
+        param.put("in", 1);
+        return getImGroupPageInfo(param);
+    }
+
+    /**
      * 选择-观看权限-查询学员列表
      *
      * @param param 参数
@@ -71,6 +105,7 @@ public class ImLiveRoomPurviewServiceImpl extends ServiceImpl<ImLiveRoomPurviewD
      *              <p> -page 页数
      *              <p> -rows 每页数量
      */
+    @Override
     public PageInfo<SysUserDto> selectRoomPurviewStudent(Map<String, Object> param) {
         WrapperUtil.toStr(param, "roomUid", "房间uid不能为空");
         Page<SysUserDto> pageInfo = PageUtil.getPageInfo(param);
@@ -95,8 +130,14 @@ public class ImLiveRoomPurviewServiceImpl extends ServiceImpl<ImLiveRoomPurviewD
      *              <p> - roomUid 直播间UID
      *              <p> - groupType 群类型
      */
+    @Override
     public PageInfo<ImGroup> selectRoomPurviewGroup(Map<String, Object> param) {
         WrapperUtil.toStr(param, "roomUid", "房间uid不能为空");
+        param.put("notIn", 1);
+        return getImGroupPageInfo(param);
+    }
+
+    private PageInfo<ImGroup> getImGroupPageInfo(Map<String, Object> param) {
         //查询当前登录人分部
         SysUser sysUser = getSysUser();
         param.put("userId", sysUser.getId());

+ 7 - 1
mec-biz/src/main/resources/config/mybatis/ImLiveRoomPurviewMapper.xml

@@ -99,7 +99,13 @@
         from im_group as a
                  inner join im_group_member b on a.id_ = b.im_group_id_
         where b.user_id_ = (param.userId)
-          and a.id_ not in
+        and a.id_
+        <if test="param.notIn != null">
+          not in
+        </if>
+        <if test="param.in != null">
+            in
+        </if>
               (select biz_id_ from im_live_room_purview where room_uid_ = #{param.roomUid} and type_ = #{param.type})
         <if test="param.search != null and search != ''">
             AND (a.name_ like concat('%',#{param.search},'%') or a..tags_ like concat('%',#{param.search},'%'))

+ 42 - 5
mec-web/src/main/java/com/ym/mec/web/controller/ImLiveRoomPurviewController.java

@@ -10,10 +10,7 @@ import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.security.access.prepost.PreAuthorize;
-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 org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import java.util.Map;
@@ -34,13 +31,53 @@ public class ImLiveRoomPurviewController extends BaseController {
     private ImLiveRoomPurviewService imLiveRoomPurviewService;
 
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "ids", dataType = "String", value = "删除的id,学员id,群id, 逗号分开"),
+            @ApiImplicitParam(name = "roomUid", dataType = "String", value = "直播间UID", required = true),
+    })
+    @ApiOperation("删除观看权限数据")
+    @GetMapping("/delete")
+    @PreAuthorize("@pcs.hasPermissions('imLiveRoomPurview/delete')")
+    public HttpResponseResult<Object> delete(String ids, String roomUid){
+        imLiveRoomPurviewService.delete(ids, roomUid);
+        return succeed();
+    }
+
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "search", dataType = "String", value = "模糊查询关键字"),
+            @ApiImplicitParam(name = "subjectId", dataType = "String", value = "声部ID"),
+            @ApiImplicitParam(name = "roomUid", dataType = "String", value = "直播间UID", required = true),
+            @ApiImplicitParam(name = "page", dataType = "Integer", value = "页数"),
+            @ApiImplicitParam(name = "rows", dataType = "Integer", value = "每页数量"),
+    })
+    @ApiOperation("查询当前直播间学员列表-观看权限")
+    @PostMapping("/queryStudent")
+    @PreAuthorize("@pcs.hasPermissions('imLiveRoomPurview/queryStudent')")
+    public HttpResponseResult<PageInfo<SysUserDto>> queryStudent(@RequestBody Map<String, Object> param) {
+        return succeed(imLiveRoomPurviewService.queryStudent(param));
+    }
+
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "search", dataType = "String", value = "模糊查询关键字"),
+            @ApiImplicitParam(name = "groupType", dataType = "String", value = "群类型"),
+            @ApiImplicitParam(name = "roomUid", dataType = "String", value = "直播间UID", required = true),
+            @ApiImplicitParam(name = "page", dataType = "Integer", value = "页数"),
+            @ApiImplicitParam(name = "rows", dataType = "Integer", value = "每页数量"),
+    })
+    @ApiOperation("查询当前直播间群聊列表-观看权限")
+    @PostMapping("/queryGroup")
+    @PreAuthorize("@pcs.hasPermissions('imLiveRoomPurview/queryGroup')")
+    public HttpResponseResult<PageInfo<ImGroup>> queryGroup(@RequestBody Map<String, Object> param){
+        return succeed(imLiveRoomPurviewService.queryGroup(param));
+    }
+
+    @ApiImplicitParams({
             @ApiImplicitParam(name = "search", dataType = "String", value = "模糊查询关键字"),
             @ApiImplicitParam(name = "subjectId", dataType = "String", value = "声部ID"),
             @ApiImplicitParam(name = "roomUid", dataType = "String", value = "直播间UID", required = true),
             @ApiImplicitParam(name = "page", dataType = "Integer", value = "页数"),
             @ApiImplicitParam(name = "rows", dataType = "Integer", value = "每页数量"),
     })
-    @ApiOperation("选择列表-观看权限-查询学员列表")
+    @ApiOperation("选择列表-观看权限-学员列表")
     @PostMapping("/selectRoomPurviewStudent")
     @PreAuthorize("@pcs.hasPermissions('imLiveRoomPurview/selectRoomPurviewStudent')")
     public HttpResponseResult<PageInfo<SysUserDto>> selectRoomPurviewStudent(@RequestBody Map<String, Object> param) {