瀏覽代碼

用户url验证方式修改

rengb 3 年之前
父節點
當前提交
a909feadfc

+ 4 - 3
security-center/src/main/java/com/lantone/security/enums/IsDeleteEnum.java

@@ -1,10 +1,10 @@
-package com.lantone.security.enums;
+package com.lantone.common.enums;
 
 import lombok.Getter;
 import lombok.Setter;
 
 /**
- * @Description: 是否,例如:是否删除
+ * @Description: 是否删除, N:未删除,Y:删除
  * @author: gaodm
  * @time: 2018/9/3 16:01
  */
@@ -39,4 +39,5 @@ public enum IsDeleteEnum {
         IsDeleteEnum item = getEnum(key);
         return item != null ? item.name : null;
     }
-}
+
+}

+ 43 - 0
common/src/main/java/com/lantone/common/enums/StatusEnum.java

@@ -0,0 +1,43 @@
+package com.lantone.common.enums;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description: 状态 0:禁用,1:启用
+ * @author: gaodm
+ * @time: 2018/9/3 16:01
+ */
+public enum StatusEnum {
+
+    Disable("0", "禁用"),
+    Enable("1", "启用");
+
+    @Getter
+    @Setter
+    private String key;
+
+    @Getter
+    @Setter
+    private String name;
+
+    StatusEnum(String key, String name) {
+        this.key = key;
+        this.name = name;
+    }
+
+    public static StatusEnum getEnum(int key) {
+        for (StatusEnum item : StatusEnum.values()) {
+            if (item.key.equals(key)) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static String getName(int key) {
+        StatusEnum item = getEnum(key);
+        return item != null ? item.name : null;
+    }
+
+}

+ 3 - 1
dblayer-mbg/src/main/java/com/lantone/dblayermbg/facade/ResourceFacade.java

@@ -2,6 +2,8 @@ package com.lantone.dblayermbg.facade;
 
 import com.google.common.collect.Maps;
 import com.lantone.common.constant.AuthConstant;
+import com.lantone.common.enums.IsDeleteEnum;
+import com.lantone.common.enums.StatusEnum;
 import com.lantone.common.service.RedisService;
 import com.lantone.dblayermbg.service.impl.ResourceServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -24,7 +26,7 @@ public class ResourceFacade extends ResourceServiceImpl {
 
     public Map<String, List<String>> initResourceRolesMap() {
         Map<String, List<String>> resourceRolesMap = Maps.newHashMap();
-        List<String> resourceRolesList = baseMapper.getResourceRolesMap();
+        List<String> resourceRolesList = baseMapper.getResourceRolesMap(IsDeleteEnum.N.getKey(), StatusEnum.Enable.getKey());
         resourceRolesList.forEach(resourceRoles -> {
             String[] resourceRoleArray = resourceRoles.split("=");
             resourceRolesMap.put(resourceRoleArray[0], Arrays.asList(resourceRoleArray[1].split(",")));

+ 9 - 1
dblayer-mbg/src/main/java/com/lantone/dblayermbg/mapper/ResourceMapper.java

@@ -2,6 +2,7 @@ package com.lantone.dblayermbg.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.lantone.dblayermbg.entity.Resource;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -12,6 +13,13 @@ import java.util.List;
  */
 public interface ResourceMapper extends BaseMapper<Resource> {
 
-    List<String> getResourceRolesMap();
+    /**
+     * 获取所有url、系统、角色对应关系,如:security-center/roleManage/add+运行质控ID=角色A,角色B,角色C
+     *
+     * @param isDeleted
+     * @param status
+     * @return
+     */
+    List<String> getResourceRolesMap(@Param("isDeleted") String isDeleted, @Param("status") String status);
 
 }

+ 13 - 10
dblayer-mbg/src/main/resources/mapper/ResourceMapper.xml

@@ -4,27 +4,30 @@
 
     <select id="getResourceRolesMap" resultType="string">
         SELECT
-        CONCAT(t2.url,'=',GROUP_CONCAT(t1.role_id))
+        CONCAT(t2.url,'+',t2.software_id,'=',GROUP_CONCAT(concat(t1.role_id,'_',t1.role_name)))
         FROM
         (SELECT
-        b.role_id,e.resource_id
+        a.`name` as role_name,a.b.role_id,c.software_id,e.resource_id
         FROM sys_role a JOIN sys_role_software_menu b ON a.id=b.role_id
         JOIN sys_software_menu c ON b.software_menu_id=c.id
+		JOIN sys_software f ON c.software_id = f.id
         JOIN sys_menu d ON c.menu_id=d.id
         JOIN sys_menu_resource e ON d.id=e.menu_id
-        WHERE a.is_deleted='N' AND b.is_deleted='N' AND c.is_deleted='N'
-        AND d.is_deleted='N' AND e.is_deleted='N' AND a.`status`='1'
-        AND d.`status`='1') t1
+        WHERE a.is_deleted=#{isDeleted} AND b.is_deleted=#{isDeleted} AND c.is_deleted=#{isDeleted}
+        AND d.is_deleted=#{isDeleted} AND e.is_deleted=#{isDeleted} AND f.is_deleted=#{isDeleted}
+		AND a.`status`=#{status} AND d.`status`=#{status} AND f.`status`=#{status}) t1
         JOIN
         (SELECT
-        b.role_id,c.resource_id,d.url
+        b.role_id,c.software_id,c.resource_id,d.url
         FROM sys_role a JOIN sys_role_software_resource b ON a.id=b.role_id
         JOIN sys_software_resource c ON b.software_resource_id=c.id
+		JOIN sys_software e ON c.software_id=e.id
         JOIN sys_resource d ON c.resource_id=d.id
-        WHERE a.is_deleted='N' AND b.is_deleted='N' AND c.is_deleted='N'
-        AND d.is_deleted='N' AND a.`status`='1' AND d.`status`='1') t2
-        ON t1.role_id=t2.role_id AND t1.resource_id=t2.resource_id
-        GROUP BY t2.url
+        WHERE a.is_deleted=#{isDeleted} AND b.is_deleted=#{isDeleted} AND c.is_deleted=#{isDeleted}
+        AND d.is_deleted=#{isDeleted} AND e.is_deleted=#{isDeleted} AND a.`status`=#{status}
+		AND d.`status`=#{status} AND e.`status`=#{status}) t2
+        ON t1.role_id=t2.role_id AND t1.resource_id=t2.resource_id AND t1.software_id=t2.software_id
+        GROUP BY t2.url,t2.software_id
     </select>
 
 </mapper>

+ 0 - 50
security-center/src/main/java/com/lantone/security/enums/StatusEnum.java

@@ -1,50 +0,0 @@
-package com.lantone.security.enums;
-
-import com.lantone.common.constant.KeyedNamed;
-import lombok.Setter;
-
-/**
- * @author wangfeng
- * @Description: TODO
- * @date 2018年11月21日 下午2:31:42
- */
-public enum StatusEnum implements KeyedNamed {
-    Disable(0, "禁用"),
-    Enable(1, "启用");
-
-    @Setter
-    private int key;
-
-    @Setter
-    private String name;
-
-    StatusEnum(int key, String name) {
-        this.key = key;
-        this.name = name;
-    }
-
-    public static StatusEnum getEnum(int key) {
-        for (StatusEnum item : StatusEnum.values()) {
-            if (item.key == key) {
-                return item;
-            }
-        }
-        return null;
-    }
-
-    public static String getName(int key) {
-        StatusEnum item = getEnum(key);
-        return item != null ? item.name : null;
-    }
-
-    @Override
-    public int getKey() {
-        return key;
-    }
-
-    @Override
-    public String getName() {
-        return name;
-    }
-}
-

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

@@ -38,7 +38,7 @@ import com.lantone.dblayermbg.facade.SoftwareDataAuthFacade;
 import com.lantone.security.enums.DataAuthDataTypeEnum;
 import com.lantone.security.enums.DataAuthDetailTypeEnum;
 import com.lantone.security.enums.HospitalTypeEnum;
-import com.lantone.security.enums.IsDeleteEnum;
+import com.lantone.common.enums.IsDeleteEnum;
 import com.lantone.security.enums.ServiceEnum;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;

+ 1 - 1
security-center/src/main/java/com/lantone/security/facade/FuncManagementFacade.java

@@ -22,7 +22,7 @@ import com.lantone.dblayermbg.facade.ResourceFacade;
 import com.lantone.dblayermbg.facade.RoleSoftwareMenuFacade;
 import com.lantone.dblayermbg.facade.SoftwareMenuFacade;
 import com.lantone.dblayermbg.facade.SoftwareResourceFacade;
-import com.lantone.security.enums.IsDeleteEnum;
+import com.lantone.common.enums.IsDeleteEnum;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;

+ 1 - 1
security-center/src/main/java/com/lantone/security/facade/RegionManagementFacade.java

@@ -17,7 +17,7 @@ import com.lantone.dblayermbg.entity.RegionDept;
 import com.lantone.dblayermbg.facade.DeptFacade;
 import com.lantone.dblayermbg.facade.RegionFacade;
 import com.lantone.dblayermbg.service.RegionDeptService;
-import com.lantone.security.enums.IsDeleteEnum;
+import com.lantone.common.enums.IsDeleteEnum;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;

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

@@ -27,7 +27,7 @@ import com.lantone.dblayermbg.facade.SoftwareFacade;
 import com.lantone.dblayermbg.facade.SoftwareMenuFacade;
 import com.lantone.dblayermbg.service.impl.RoleSoftwareMenuServiceImpl;
 import com.lantone.dblayermbg.service.impl.RoleSoftwareResourceServiceImpl;
-import com.lantone.security.enums.IsDeleteEnum;
+import com.lantone.common.enums.IsDeleteEnum;
 import com.lantone.security.enums.RelationEnum;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;

+ 1 - 1
security-center/src/main/java/com/lantone/security/facade/UserManagementFacade.java

@@ -31,7 +31,7 @@ import com.lantone.dblayermbg.facade.RoleFacade;
 import com.lantone.dblayermbg.facade.UserFacade;
 import com.lantone.dblayermbg.facade.UserRoleFacade;
 import com.lantone.security.enums.HospitalTypeEnum;
-import com.lantone.security.enums.IsDeleteEnum;
+import com.lantone.common.enums.IsDeleteEnum;
 import com.lantone.security.service.AuthService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;