From 2bb5d47275effc59de3377ce53e9b9cbf07b781a Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期五, 26 一月 2024 11:05:59 +0800
Subject: [PATCH] 海恒bug修改
---
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysMenuServiceImpl.java | 43 ++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 42 insertions(+), 1 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 c997c07..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
@@ -208,9 +230,28 @@
{
menus = menuMapper.selectMenuTreeAll();
}
- else
+ else if(userId.equals(1L)||userId.equals(2L))
{
menus = menuMapper.selectMenuTreeByUserId(userId);
+ }else{
+ menus = menuMapper.selectStaffMenuTreeByUserId(userId);
+ }
+ 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);
}
--
Gitblit v1.7.1