Browse Source

Merge branch 'feature/1.0.0' of github.com:ab-inbev-apac/abi-cloud-qr-platform into feature/1.0.0

bess-WeiganCai 4 years ago
parent
commit
e0addc802e

+ 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;
+
+    }
+}

+ 4 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/ListRoleRes.java

@@ -1,5 +1,7 @@
 package com.abi.qms.platform.dto.res;
 
+import com.abi.task.common.api.base.PageResp;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
@@ -17,7 +19,7 @@ import java.util.List;
  */
 @Data
 @ApiModel
-public class ListRoleRes implements Serializable {
+public class ListRoleRes extends PageResp implements Serializable {
 
   @ApiModelProperty("角色列表")
   private List<RoleBean> roleBeanList;
@@ -51,6 +53,7 @@ public class ListRoleRes implements Serializable {
       private Long userCount;
 
       @ApiModelProperty(value = "更新时间")
+      @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
       private LocalDateTime updateTime;
 
     }

+ 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

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

@@ -181,6 +181,8 @@ public class RoleManagerServiceImpl implements RoleManagerService {
 
         //构造出参
         ListRoleRes res = new ListRoleRes();
+        //放入分页信息
+        PageUtil.copyPageInfo(res, roleVOPage);
         res.setRoleBeanList(roleBeanList);
 
         return res;
@@ -271,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;
+    }
+
     /**
      * 获取登录用户需要的页面以及按钮权限
      **/

+ 1 - 1
abi-cloud-qr-platform-server/src/main/resources/dao/mapper/UserRoleMapper.xml

@@ -37,7 +37,7 @@
             <if test="param.roleName!=null and param.roleName!=''">
                 and r.role_name=#{param.roleName}
             </if>
-            <if test="param.isEnable!=null and param.isEnable!=''">
+            <if test="param.isEnable!=null">
                 and r.is_enable=#{param.isEnable}
             </if>
             <!-- 仅可以查看当前角色树下的角色 -->