From 1f42bd3d22c104aaa2d780c20a555b5e467858bf Mon Sep 17 00:00:00 2001 From: MichelleChung <1242874891@qq.com> Date: 星期一, 07 十一月 2022 22:10:52 +0800 Subject: [PATCH] !245 数据源由 Druid 修改为 Hikari * update 更新 dataSource 数据源, 由 druid 修改为 hikari, 更新相关配置 ; --- ruoyi-system/src/main/java/com/ruoyi/system/service/SysPermissionService.java | 56 +++++++++++++++++++++++++++++--------------------------- 1 files changed, 29 insertions(+), 27 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysPermissionService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysPermissionService.java index d8c657b..97ff480 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysPermissionService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysPermissionService.java @@ -1,42 +1,38 @@ package com.ruoyi.system.service; +import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.domain.entity.SysUser; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; import java.util.HashSet; +import java.util.List; import java.util.Set; /** * 鐢ㄦ埛鏉冮檺澶勭悊 - * + * * @author ruoyi */ -@Component -public class SysPermissionService -{ - @Autowired - private ISysRoleService roleService; +@RequiredArgsConstructor +@Service +public class SysPermissionService { - @Autowired - private ISysMenuService menuService; + private final ISysRoleService roleService; + private final ISysMenuService menuService; /** * 鑾峰彇瑙掕壊鏁版嵁鏉冮檺 - * + * * @param user 鐢ㄦ埛淇℃伅 * @return 瑙掕壊鏉冮檺淇℃伅 */ - public Set<String> getRolePermission(SysUser user) - { + public Set<String> getRolePermission(SysUser user) { Set<String> roles = new HashSet<String>(); // 绠$悊鍛樻嫢鏈夋墍鏈夋潈闄� - if (user.isAdmin()) - { + if (user.isAdmin()) { roles.add("admin"); - } - else - { + } else { roles.addAll(roleService.selectRolePermissionByUserId(user.getUserId())); } return roles; @@ -44,21 +40,27 @@ /** * 鑾峰彇鑿滃崟鏁版嵁鏉冮檺 - * + * * @param user 鐢ㄦ埛淇℃伅 * @return 鑿滃崟鏉冮檺淇℃伅 */ - public Set<String> getMenuPermission(SysUser user) - { + public Set<String> getMenuPermission(SysUser user) { Set<String> perms = new HashSet<String>(); // 绠$悊鍛樻嫢鏈夋墍鏈夋潈闄� - if (user.isAdmin()) - { + if (user.isAdmin()) { perms.add("*:*:*"); - } - else - { - perms.addAll(menuService.selectMenuPermsByUserId(user.getUserId())); + } else { + List<SysRole> roles = user.getRoles(); + if (!roles.isEmpty() && roles.size() > 1) { + // 澶氳鑹茶缃畃ermissions灞炴�э紝浠ヤ究鏁版嵁鏉冮檺鍖归厤鏉冮檺 + for (SysRole role : roles) { + Set<String> rolePerms = menuService.selectMenuPermsByRoleId(role.getRoleId()); + role.setPermissions(rolePerms); + perms.addAll(rolePerms); + } + } else { + perms.addAll(menuService.selectMenuPermsByUserId(user.getUserId())); + } } return perms; } -- Gitblit v1.9.3