Jelajahi Sumber

添加角色时过滤服务;修改功能菜单表url改为code权限标识,对应功能修改

songxinlu 3 tahun lalu
induk
melakukan
4b34734fa5

+ 1 - 1
common/src/main/java/com/lantone/common/dto/GetUserShowTreeDTO.java

@@ -27,7 +27,7 @@ public class GetUserShowTreeDTO implements Serializable {
     @ApiModelProperty(value = "类型:0:目录,1菜单,2按钮,3:功能")
     private String menuType ;
     @ApiModelProperty(value = "权限标识")
-    private String url ;
+    private String code ;
     @ApiModelProperty(value = "子集")
     private List<GetUserShowTreeDTO> children;
 }

+ 13 - 2
common/src/main/java/com/lantone/common/util/SysUserUtils.java

@@ -3,6 +3,7 @@ package com.lantone.common.util;
 import cn.hutool.json.JSONUtil;
 import com.lantone.common.constant.AuthConstant;
 import com.lantone.common.domain.UserDto;
+import com.lantone.common.exception.Asserts;
 import com.nimbusds.jose.JWSObject;
 
 /**
@@ -74,7 +75,12 @@ public class SysUserUtils {
      * @return
      */
     public static Long getCurrentHospitalId() {
-        return Long.parseLong(HttpUtils.getHeader(AuthConstant.HOSPITAL_ID_HEADER));
+        if(StringUtil.isNotEmpty(HttpUtils.getHeader(AuthConstant.HOSPITAL_ID_HEADER))){
+            return Long.parseLong(HttpUtils.getHeader(AuthConstant.HOSPITAL_ID_HEADER));
+        }else {
+            Asserts.fail("请求头中无医院id");
+        }
+        return null;
     }
 
     /**
@@ -83,7 +89,12 @@ public class SysUserUtils {
      * @return
      */
     public static String getCurrentSoftwareId() {
-        return HttpUtils.getHeader(AuthConstant.SOFTWARE_ID_HEADER);
+        if(StringUtil.isNotEmpty(HttpUtils.getHeader(AuthConstant.SOFTWARE_ID_HEADER))){
+            return HttpUtils.getHeader(AuthConstant.SOFTWARE_ID_HEADER);
+        }else {
+            Asserts.fail("请求头中无医院id");
+        }
+        return null;
     }
 
 }

+ 3 - 3
common/src/main/java/com/lantone/common/vo/AddMenuVO.java

@@ -34,15 +34,15 @@ public class AddMenuVO implements Serializable {
     @NotBlank(message = "功能名称为空")
     private String name;
 
-    @ApiModelProperty(value = "权限标识")
+    @ApiModelProperty(value = "权限路由")
     private List<String> permissions;
 
     @ApiModelProperty(value = "类型:0:目录,1菜单,2按钮,3:功能",required = true)
     @NotBlank(message = "类型为空")
     private String type;
 
-    @ApiModelProperty(value = "页面路由")
-    private String url;
+    @ApiModelProperty(value = "权限标识")
+    private String code;
 
     @ApiModelProperty(value = "图标")
     private String icon;

+ 3 - 3
common/src/main/java/com/lantone/common/vo/UpdateMenuVO.java

@@ -37,15 +37,15 @@ public class UpdateMenuVO implements Serializable {
     @ApiModelProperty(value = "功能名称",required = true)
     private String name;
 
-    @ApiModelProperty(value = "权限标识")
+    @ApiModelProperty(value = "权限路由")
     private List<String> permissions;
 
     @ApiModelProperty(value = "类型:0:目录,1菜单,2按钮,3:功能",required = true)
     @NotBlank(message = "类型为空")
     private String type;
 
-    @ApiModelProperty(value = "页面路由")
-    private String url;
+    @ApiModelProperty(value = "权限标识")
+    private String code;
 
     @ApiModelProperty(value = "图标")
     private String icon;

+ 3 - 3
dblayer-mbg/src/main/java/com/lantone/dblayermbg/entity/Menu.java

@@ -47,10 +47,10 @@ public class Menu implements Serializable {
     private String type;
 
     /**
-     * 页面路由
+     * 权限标识
      */
-    @TableField("url")
-    private String url;
+    @TableField("code")
+    private String code;
 
     /**
      * 图标

+ 1 - 1
dblayer-mbg/src/main/resources/mapper/RoleSoftwareMenuMapper.xml

@@ -270,7 +270,7 @@
             sm.id softwareMenuId,
             m.type menuType,
             m.`name` menuName,
-            res.url
+            m.code
         FROM
         sys_role r
         JOIN sys_role_software_menu rsm ON r.id = rsm.role_id

+ 1 - 1
dblayer-mbg/src/main/resources/mapper/base/BaseMenuMapper.xml

@@ -8,7 +8,7 @@
         <result column="parent_id" property="parentId"/>
         <result column="name" property="name"/>
         <result column="type" property="type"/>
-        <result column="url" property="url"/>
+        <result column="code" property="code"/>
         <result column="icon" property="icon"/>
         <result column="order_no" property="orderNo"/>
         <result column="menu_describe" property="menuDescribe"/>

+ 6 - 6
security-center/src/main/java/com/lantone/security/enums/ServiceEnum.java

@@ -4,13 +4,13 @@ import com.lantone.common.constant.KeyedNamed;
 import lombok.Setter;
 
 /**
- * @ClassName: CRUDEnum
+ * @ClassName: SoftwareEnum
  * @Description: 服务注解
  * @Author songxl
  * @Date 2021/7/21
  * @Version 1.0
  */
-public enum ServiceEnum implements KeyedNamed {
+public enum SoftwareEnum implements KeyedNamed {
     AI_END_SERVICE(1, "AI终末质控系统"),
     AI_RUN_SERVICE(2, "AI运行质控系统");
 
@@ -20,13 +20,13 @@ public enum ServiceEnum implements KeyedNamed {
     @Setter
     private String name;
 
-    ServiceEnum(int key, String name) {
+    SoftwareEnum(int key, String name) {
         this.key = key;
         this.name = name;
     }
 
-    public static ServiceEnum getEnum(int key) {
-        for (ServiceEnum item : ServiceEnum.values()) {
+    public static SoftwareEnum getEnum(int key) {
+        for (SoftwareEnum item : SoftwareEnum.values()) {
             if (item.key == key) {
                 return item;
             }
@@ -35,7 +35,7 @@ public enum ServiceEnum implements KeyedNamed {
     }
 
     public static String getName(int key) {
-        ServiceEnum item = getEnum(key);
+        SoftwareEnum item = getEnum(key);
         return item != null ? item.name : null;
     }
 

+ 2 - 7
security-center/src/main/java/com/lantone/security/facade/DataAuthManagementFacade.java

@@ -14,7 +14,6 @@ import com.lantone.common.dto.GetDataAuthRoleDTO;
 import com.lantone.common.dto.GetDataAuthSoftwareDTO;
 import com.lantone.common.dto.GetDoctorPageDTO;
 import com.lantone.common.dto.SoftwareDataAuthDetail;
-import com.lantone.common.enums.StatusEnum;
 import com.lantone.common.exception.Asserts;
 import com.lantone.common.service.RedisService;
 import com.lantone.common.util.DateUtil;
@@ -28,11 +27,9 @@ import com.lantone.common.vo.GetDoctorPageVO;
 import com.lantone.common.vo.UpdateAuthVO;
 import com.lantone.dblayermbg.entity.DataAuth;
 import com.lantone.dblayermbg.entity.DataAuthDetail;
-import com.lantone.dblayermbg.entity.Dept;
 import com.lantone.dblayermbg.entity.DeptUser;
 import com.lantone.dblayermbg.entity.RoleSoftwareDataAuth;
 import com.lantone.dblayermbg.entity.SoftwareDataAuth;
-import com.lantone.dblayermbg.entity.User;
 import com.lantone.dblayermbg.facade.DataAuthDetailFacade;
 import com.lantone.dblayermbg.facade.DataAuthFacade;
 import com.lantone.dblayermbg.facade.DeptFacade;
@@ -46,16 +43,14 @@ import com.lantone.dblayermbg.facade.SoftwareDataAuthFacade;
 import com.lantone.dblayermbg.facade.UserFacade;
 import com.lantone.dblayermbg.service.impl.DataAuthDetailServiceImpl;
 import com.lantone.dblayermbg.service.impl.RoleSoftwareDataAuthServiceImpl;
-import com.lantone.security.annotation.DataAuthFilter;
 import com.lantone.security.enums.DataAuthDataTypeEnum;
 import com.lantone.security.enums.DataAuthDetailTypeEnum;
 import com.lantone.common.enums.IsDeleteEnum;
-import com.lantone.security.enums.ServiceEnum;
+import com.lantone.security.enums.SoftwareEnum;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Component;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -299,7 +294,7 @@ public class DataAuthManagementFacade {
             //2.1获取系统信息
             GetDataAuthSoftwareDTO software = new GetDataAuthSoftwareDTO();
             software.setId(softwareDataAuth.getSoftwareId());
-            software.setName(ServiceEnum.getName(softwareDataAuth.getSoftwareId().intValue()));
+            software.setName(SoftwareEnum.getName(softwareDataAuth.getSoftwareId().intValue()));
 
             //2.2获取角色信息
             List<GetDataAuthRoleDTO> roles = roleSoftwareDataAuthFacade.getBaseMapper().getRole(softwareDataAuth.getId());

+ 3 - 0
security-center/src/main/java/com/lantone/security/facade/RoleManagementFacade.java

@@ -51,6 +51,7 @@ import com.lantone.dblayermbg.service.impl.RoleSoftwareResourceServiceImpl;
 import com.lantone.common.enums.IsDeleteEnum;
 import com.lantone.security.enums.DictionaryEnum;
 import com.lantone.security.enums.RelationEnum;
+import com.lantone.security.enums.SoftwareEnum;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -172,6 +173,8 @@ public class RoleManagementFacade {
         }
         if(ListUtil.isNotEmpty(softwares)){
             softwares.stream().forEach(addRoleSoftwareVO -> {
+                //移除菜单中的系统信息
+                addRoleSoftwareVO.getSoftwareMenuIds().remove(addRoleSoftwareVO.getId());
                 //获取菜单比对插入的功能菜单都能正常使用
                 List<SoftwareMenu> softwareMenus = softwareMenuFacade.list(new QueryWrapper<SoftwareMenu>()
                         .select("menu_id")