From afa0dbb4f54e7244835dd67ec33c3e545f122f71 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期五, 17 一月 2025 16:40:43 +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