From 2485a4875adda2ffd0e8cfccdf749f15fe8d48cb Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期四, 17 七月 2025 08:47:48 +0800
Subject: [PATCH] bug修改

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java |   60 +++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 53 insertions(+), 7 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
index cf3eafe..0455aae 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
@@ -1,6 +1,19 @@
 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;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -25,12 +38,16 @@
 import com.ruoyi.framework.web.service.TokenService;
 import com.ruoyi.system.service.ISysUserService;
 
+import javax.validation.Valid;
+
 /**
  * 个人信息 业务处理
  * 
  * @author ruoyi
  */
 @RestController
+@Slf4j
+@Api( tags = "后台-个人信息")
 @RequestMapping("/system/user/profile")
 public class SysProfileController extends BaseController
 {
@@ -39,11 +56,14 @@
 
     @Autowired
     private TokenService tokenService;
+    @Autowired
+    private SysMenuMapper sysMenuMapper;
 
     /**
      * 个人信息
      */
     @GetMapping
+    @ApiOperation(value = "个人信息")
     public AjaxResult profile()
     {
         LoginUser loginUser = getLoginUser();
@@ -51,13 +71,38 @@
         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);
     }
 
     /**
      * 修改用户
      */
-    @Log(title = "个人信息", businessType = BusinessType.UPDATE)
+  /*  @Log(title = "个人信息", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult updateProfile(@RequestBody SysUser user)
     {
@@ -82,17 +127,18 @@
             return success();
         }
         return error("修改个人信息异常,请联系管理员");
-    }
+    }*/
 
     /**
      * 重置密码
      */
     @Log(title = "个人信息", businessType = BusinessType.UPDATE)
     @PutMapping("/updatePwd")
-    public AjaxResult updatePwd(@RequestBody Map<String, String> params)
+    @ApiOperation(value = "修改密码")
+    public AjaxResult updatePwd(@RequestBody @Valid UpdatePwdDTO updatePwdDTO)
     {
-        String oldPassword = params.get("oldPassword");
-        String newPassword = params.get("newPassword");
+        String oldPassword = updatePwdDTO.getOldPassword();
+        String newPassword = updatePwdDTO.getNewPassword();
         LoginUser loginUser = getLoginUser();
         String userName = loginUser.getUsername();
         String password = loginUser.getPassword();
@@ -119,7 +165,7 @@
     /**
      * 头像上传
      */
-    @Log(title = "用户头像", businessType = BusinessType.UPDATE)
+    /*@Log(title = "用户头像", businessType = BusinessType.UPDATE)
     @PostMapping("/avatar")
     public AjaxResult avatar(@RequestParam("avatarfile") MultipartFile file) throws Exception
     {
@@ -138,5 +184,5 @@
             }
         }
         return error("上传图片异常,请联系管理员");
-    }
+    }*/
 }

--
Gitblit v1.7.1