Browse Source

添加 获取选择的上级角色对应的菜单/操作权限树 的接口
添加用户和登录的模块名

v_HuilingDeng 4 years ago
parent
commit
38f44115cc

+ 2 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/controller/console/LoginController.java

@@ -14,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 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;
 
 /**
@@ -25,6 +26,7 @@ import org.springframework.web.bind.annotation.RestController;
  */
 @Slf4j
 @RestController
+@RequestMapping("login")
 @Api(tags = "登录")
 public class LoginController {
 

+ 9 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/controller/console/RoleManagerController.java

@@ -45,6 +45,15 @@ public class RoleManagerController {
         return BaseResponse.create(result);
     }
 
+    @ApiOperation("获取选择的上级角色对应的菜单/操作权限树")
+    @GetMapping("listResourceTreeBySelectRoleCode")
+    public BaseResponse<ListResourceTreeBySelectRoleCodeRes> listResourceTreeBySelectRoleCode(@Validated ListResourceTreeBySelectRoleCodeReq listResourceTreeBySelectRoleCodeReq) throws Exception{
+        //获取登录角色下级的角色树
+        ListResourceTreeBySelectRoleCodeRes  result = roleManagerService.listResourceTreeBySelectRoleCode(listResourceTreeBySelectRoleCodeReq);
+        //包装出参
+        return BaseResponse.create(result);
+    }
+
     @ApiOperation("获取登录用户需要的页面以及按钮权限")
     @GetMapping("listLoginUserResource")
     public BaseResponse<ListLoginUserResourceRes> listLoginUserResource() throws Exception{

+ 1 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/controller/console/UserManagerController.java

@@ -22,6 +22,7 @@ import org.springframework.web.bind.annotation.*;
  */
 @Slf4j
 @RestController
+@RequestMapping("user")
 @Api(tags = "用户管理")
 public class UserManagerController {
 

+ 21 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/ListResourceTreeBySelectRoleCodeReq.java

@@ -0,0 +1,21 @@
+package com.abi.qms.platform.dto.req;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author Eurus
+ * @date 2021/5/11 19:36
+ * @Description: 获取选择的上级角色对应的菜单/操作权限树 入参
+ */
+@Data
+@ApiModel
+public class ListResourceTreeBySelectRoleCodeReq  implements Serializable {
+
+    @ApiModelProperty(value = "角色code")
+    private String roleCode;
+
+}

+ 51 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/ListResourceTreeBySelectRoleCodeRes.java

@@ -0,0 +1,51 @@
+package com.abi.qms.platform.dto.res;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.ToString;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author Eurus
+ * @date 2021/5/11 19:38
+ * @Description: 获取选择的上级角色对应的菜单/操作权限树 出参
+ */
+@Data
+@ApiModel
+public class ListResourceTreeBySelectRoleCodeRes implements Serializable {
+
+    @ApiModelProperty("资源列表")
+    private List<ListResourceTreeBySelectRoleCodeRes.ResourceBean> resourceBeanList;
+
+    /**
+     * 资源
+     */
+    @Data
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @ToString
+    @ApiModel(value = "ListResourceTreeBySelectRoleCodeRes_ResourceBean")
+    public static class ResourceBean implements Serializable {
+
+        @ApiModelProperty(value = "资源code")
+        private String resourceCode;
+
+        @ApiModelProperty(value = "资源名称")
+        private String resourceName;
+
+        @ApiModelProperty(value = "资源类型 1-页面路由 2-按钮 3-查看页面")
+        private String resourceType;
+
+        @ApiModelProperty(value = "资源内容")
+        private String content;
+
+        @ApiModelProperty("子资源列表 当返回要求是树形结构时,才会返回")
+        private List<ListResourceTreeBySelectRoleCodeRes.ResourceBean> resourceBeanList;
+
+    }
+}

+ 8 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/RoleManagerService.java

@@ -71,6 +71,14 @@ public interface RoleManagerService {
      */
     ListResourceTreeByRoleCodeRes listResourceTreeByRoleCode(ListResourceTreeByRoleCodeReq listResourceTreeByRoleCodeReq) throws Exception;
 
+    /**
+     * 获取选择的上级角色对应的菜单/操作权限树
+     * @param listResourceTreeBySelectRoleCodeReq
+     * @return
+     * @throws Exception
+     */
+    ListResourceTreeBySelectRoleCodeRes listResourceTreeBySelectRoleCode(ListResourceTreeBySelectRoleCodeReq listResourceTreeBySelectRoleCodeReq) throws Exception;
+
     /**
      * 获取登录用户需要的页面以及按钮权限
      * @return

+ 34 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/RoleManagerServiceImpl.java

@@ -273,6 +273,40 @@ public class RoleManagerServiceImpl implements RoleManagerService {
         return res;
     }
 
+    @Override
+    public ListResourceTreeBySelectRoleCodeRes listResourceTreeBySelectRoleCode(ListResourceTreeBySelectRoleCodeReq listResourceTreeBySelectRoleCodeReq) throws Exception {
+        //1-查询角色树
+        List<UserResource> userResourceList = userResourceMapper.listResourceTreeByRoleCode(listResourceTreeBySelectRoleCodeReq.getRoleCode(),null);
+
+        //构造出参
+        ListResourceTreeBySelectRoleCodeRes res = new ListResourceTreeBySelectRoleCodeRes();
+        List<ListResourceTreeBySelectRoleCodeRes.ResourceBean> resourceBeanList = new ArrayList<>();
+
+        //2-转树形
+        //放一个map,用于快捷查找到list  key为父resourceCode
+        Map<String,List<ListResourceTreeBySelectRoleCodeRes.ResourceBean>> resourceListMap = new HashMap<>();
+        //如果父类code为null,那么父list就是顶层list
+        resourceListMap.put(null,resourceBeanList);
+        //开始循环放入,因为查询语句排过序,所以查到的顺序,一定是先父后子
+        for(UserResource resource:userResourceList){
+            //先获取父类列表
+            List<ListResourceTreeBySelectRoleCodeRes.ResourceBean> parentList = resourceListMap.get(resource.getParentResourceCode());
+            //然后放入自己
+            ListResourceTreeBySelectRoleCodeRes.ResourceBean resourceBean = PojoConverterUtils.copy(resource, ListResourceTreeBySelectRoleCodeRes.ResourceBean.class);
+            parentList.add(resourceBean);
+            //如果resourceCode是3位or6位,则需要创建子list
+            if(resourceBean.getResourceCode().length()<=6){
+                resourceBean.setResourceBeanList(new ArrayList<>());
+                resourceListMap.put(resourceBean.getResourceCode(),resourceBean.getResourceBeanList());
+            }
+        }
+
+        //放入出参
+        res.setResourceBeanList(resourceBeanList);
+
+        return res;
+    }
+
     /**
      * 获取登录用户需要的页面以及按钮权限
      **/