From 2e7f787f8e0859d0a9a6ff1eab6aeadac7934c50 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期一, 25 九月 2023 12:55:18 +0800 Subject: [PATCH] bug --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysMenuServiceImpl.java | 39 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 39 insertions(+), 0 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysMenuServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysMenuServiceImpl.java index 1e02d68..45d15b0 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysMenuServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysMenuServiceImpl.java @@ -174,6 +174,28 @@ } /** + * 根据用户ID查询权限 + * + * @param userId 用户ID + * @return 权限列表 + */ + @Override + public Set<String> selectStaffClientMenuPermsByUserId(Long userId){ + SysUser sysUser = sysUserService.selectUserById(userId); + List<String> perms = null; + perms = menuMapper.selectStaffClientMenuPermsByStaffUserId(userId); + Set<String> permsSet = new HashSet<>(); + for (String perm : perms) + { + if (StringUtils.isNotEmpty(perm)) + { + permsSet.addAll(Arrays.asList(perm.trim().split(","))); + } + } + return permsSet; + } + + /** * 根据角色ID查询权限 * * @param roleId 角色ID @@ -217,6 +239,23 @@ return getChildPerms(menus, 0); } + @Override + public List<SysMenu> selectStaffMenuTreeByUserId(Long userId) + { + List<SysMenu> menus = null; + if (SecurityUtils.isAdmin(userId)) + { + menus = menuMapper.selectStaffClientMenuTreeAll(); + } + else if(userId.equals(1L)||userId.equals(2L)) + { + menus = menuMapper.selectStaffClientMenuTreeByUserId(userId); + }else{ + menus = menuMapper.selectStaffClientStaffMenuTreeByUserId(userId); + } + return getChildPerms(menus, 0); + } + /** * 根据角色ID查询菜单树信息 * -- Gitblit v1.7.1