From e3a2245265516fef78b4737d6fffc939e7c5e0af Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期四, 03 七月 2025 17:56:07 +0800
Subject: [PATCH] bug修改

---
 pt-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java |   39 ++++++++++++++++++++++++++++++---------
 1 files changed, 30 insertions(+), 9 deletions(-)

diff --git a/pt-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/pt-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
index f80da37..c51c455 100644
--- a/pt-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
+++ b/pt-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
@@ -1,8 +1,11 @@
 package com.ruoyi.web.controller.system;
 
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 import java.util.Set;
 
+import com.ruoyi.system.mapper.SysMenuMapper;
 import com.ruoyi.system.object.dto.SetPasswordDTO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -43,6 +46,8 @@
     private SysPermissionService permissionService;
     @Autowired
     private TokenService tokenService;
+    @Autowired
+    private SysMenuMapper sysMenuMapper;
 
     /**
      * 登录方法
@@ -79,20 +84,36 @@
     public AjaxResult getInfo() {
         LoginUser loginUser = SecurityUtils.getLoginUser();
         SysUser user = loginUser.getUser();
-        // 角色集合
-        Set<String> roles = permissionService.getRolePermission(user);
         // 权限集合
-        Set<String> permissions = permissionService.getMenuPermission(user);
-        if (!loginUser.getPermissions().equals(permissions)) {
-            loginUser.setPermissions(permissions);
-            tokenService.refreshToken(loginUser);
-        }
         AjaxResult ajax = AjaxResult.success();
         ajax.put("user", user);
-        ajax.put("roles", roles);
-        ajax.put("permissions", permissions);
+        ajax.put("permissions" ,getUserPaths(user.getUserId()));
         return ajax;
     }
+    /**
+     * 获取用户拥有的所有path
+     * @param userId 用户ID
+     * @return 用户拥有的所有path列表
+     */
+    public List<String> getUserPaths(Long userId) {
+        List<Long> ids = new ArrayList<>();
+        // 根据用户id查询出menus
+        List<SysMenu> menus = sysMenuMapper.selectMenusByUserId(userId);
+        //将id和父类id取出
+        menus.forEach(menu -> {
+            ids.add(menu.getMenuId());
+            if (null!= menu.getParentId() && menu.getParentId() != 0) {
+                ids.add(menu.getParentId());
+            }
+        });
+
+        if (menus.isEmpty()) {
+            return Collections.emptyList();
+        }
+
+
+        return sysMenuMapper.getPathsByMenuIds(ids);
+    }
 
     /**
      * 获取路由信息

--
Gitblit v1.7.1