huliguo
2025-07-17 2485a4875adda2ffd0e8cfccdf749f15fe8d48cb
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
@@ -1,7 +1,15 @@
package com.ruoyi.web.controller.system;
import java.awt.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.ruoyi.common.core.domain.entity.SysMenu;
import com.ruoyi.system.mapper.SysMenuMapper;
import com.ruoyi.system.pojo.dto.UpdatePwdDTO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -48,6 +56,8 @@
    @Autowired
    private TokenService tokenService;
    @Autowired
    private SysMenuMapper sysMenuMapper;
    /**
     * 个人信息
@@ -61,8 +71,33 @@
        AjaxResult ajax = AjaxResult.success(user);
        ajax.put("roleGroup", userService.selectUserRoleGroup(loginUser.getUsername()));
        ajax.put("postGroup", userService.selectUserPostGroup(loginUser.getUsername()));
        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);
    }
    /**
     * 修改用户