Преглед изворни кода

新增角色查询权限接口

wangliang пре 1 година
родитељ
комит
734b04fea2

+ 10 - 1
sop-business/src/main/java/com/qmth/sop/business/bean/params/SysRolePrivilegeParams.java

@@ -2,7 +2,6 @@ package com.qmth.sop.business.bean.params;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.qmth.sop.common.enums.RoleTypeEnum;
 import io.swagger.annotations.ApiModelProperty;
 import org.hibernate.validator.constraints.Length;
 
@@ -32,6 +31,16 @@ public class SysRolePrivilegeParams implements Serializable {
     @JsonSerialize(using = ToStringSerializer.class)
     private List<Long> privilegeIds;
 
+    public SysRolePrivilegeParams() {
+
+    }
+
+    public SysRolePrivilegeParams(Long id, String name, List<Long> privilegeIds) {
+        this.id = id;
+        this.name = name;
+        this.privilegeIds = privilegeIds;
+    }
+
     public Long getId() {
         return id;
     }

+ 12 - 1
sop-business/src/main/resources/db/log/wangliang_update_log.sql

@@ -398,4 +398,15 @@ WHERE name = seq_name;
 RETURN currval(seq_name);
 END;
 ;;
-delimiter ;
+delimiter ;
+
+UPDATE sys_privilege
+SET name='新增', url='Add', `type`='BUTTON', parent_id=16, `sequence`=1, property='AUTH', related='289,3016', enable=1, default_auth=0, front_display=1
+WHERE id=124;
+UPDATE sys_privilege
+SET name='修改', url='Update', `type`='LINK', parent_id=16, `sequence`=1, property='AUTH', related='289,3016', enable=1, default_auth=0, front_display=1
+WHERE id=125;
+INSERT INTO sys_privilege
+(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
+VALUES(3016, '角色权限查询接口', '/api/admin/role/privilege/list', 'URL', 16, 4, 'AUTH', NULL, 1, 1, 0);
+

+ 23 - 2
sop-server/src/main/java/com/qmth/sop/server/api/SysRoleController.java

@@ -3,13 +3,18 @@ package com.qmth.sop.server.api;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.boot.api.constant.ApiConstant;
-import com.qmth.sop.business.bean.dto.UserDto;
+import com.qmth.sop.business.bean.dto.RoleDto;
 import com.qmth.sop.business.bean.params.SysRolePrivilegeParams;
+import com.qmth.sop.business.cache.CommonCacheService;
+import com.qmth.sop.business.entity.SysRole;
+import com.qmth.sop.business.entity.SysRolePrivilege;
 import com.qmth.sop.business.service.SysRoleService;
 import com.qmth.sop.common.contant.SystemConstant;
+import com.qmth.sop.common.enums.ExceptionResultEnum;
 import com.qmth.sop.common.util.Result;
 import com.qmth.sop.common.util.ResultUtil;
 import io.swagger.annotations.*;
+import org.springframework.util.CollectionUtils;
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.*;
 
@@ -18,6 +23,9 @@ import javax.validation.Valid;
 import javax.validation.constraints.Max;
 import javax.validation.constraints.Min;
 import java.security.NoSuchAlgorithmException;
+import java.util.List;
+import java.util.Optional;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -35,9 +43,12 @@ public class SysRoleController {
     @Resource
     SysRoleService sysRoleService;
 
+    @Resource
+    CommonCacheService commonCacheService;
+
     @ApiOperation(value = "查询")
     @RequestMapping(value = "/list", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = UserDto.class)})
+    @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = RoleDto.class)})
     public Result list(@ApiParam(value = "角色名称") @RequestParam(required = false) String name,
                        @ApiParam(value = "是否启用") @RequestParam(required = false) Boolean enable,
                        @ApiParam(value = "页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
@@ -45,6 +56,16 @@ public class SysRoleController {
         return ResultUtil.ok(sysRoleService.query(new Page<>(pageNumber, pageSize), name, enable));
     }
 
+    @ApiOperation(value = "角色权限查询")
+    @RequestMapping(value = "/privilege/list", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = SysRolePrivilegeParams.class)})
+    public Result privilegeList(@ApiParam(value = "角色id", required = true) @RequestParam Long roleId) {
+        List<SysRolePrivilege> sysRolePrivilegeList = commonCacheService.rolePrivilegeCache(roleId);
+        SysRole sysRole = commonCacheService.roleCache(roleId);
+        Optional.ofNullable(sysRole).orElseThrow(() -> ExceptionResultEnum.ROLE_NO_EXISTS.exception());
+        return ResultUtil.ok(new SysRolePrivilegeParams(sysRole.getId(), sysRole.getName(), !CollectionUtils.isEmpty(sysRolePrivilegeList) ? sysRolePrivilegeList.stream().map(s -> s.getPrivilegeId()).collect(Collectors.toList()) : null));
+    }
+
     @ApiOperation(value = "新增/修改")
     @RequestMapping(value = "/save", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})