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

---
 pt-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java |   45 ++++++++++++++++++++++++++++++++-------------
 1 files changed, 32 insertions(+), 13 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..e5aa345 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,17 +1,17 @@
 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;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysMenu;
@@ -33,6 +33,7 @@
  */
 @Api(value = "登录控制器",tags = "登录控制器")
 @RestController
+@RequestMapping("/system")
 public class SysLoginController {
 
     @Autowired
@@ -43,6 +44,8 @@
     private SysPermissionService permissionService;
     @Autowired
     private TokenService tokenService;
+    @Autowired
+    private SysMenuMapper sysMenuMapper;
 
     /**
      * 登录方法
@@ -79,20 +82,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