huliguo
2025-07-03 e3a2245265516fef78b4737d6fffc939e7c5e0af
pt-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
@@ -1,6 +1,9 @@
package com.ruoyi.web.controller.system;
import java.util.Map;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.system.mapper.SysUserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@@ -37,6 +40,8 @@
    @Autowired
    private TokenService tokenService;
    @Autowired
    private SysUserMapper sysUserMapper;
    /**
     * 个人信息
@@ -81,27 +86,24 @@
     * 重置密码
     */
    @Log(title = "个人信息", businessType = BusinessType.UPDATE)
    @PutMapping("/updatePwd")
    @PostMapping("/updatePwd")
    public AjaxResult updatePwd(@RequestBody Map<String, String> params) {
        String oldPassword = params.get("oldPassword");
        String newPassword = params.get("newPassword");
        LoginUser loginUser = getLoginUser();
        String userName = loginUser.getUsername();
        String password = loginUser.getPassword();
        if (!SecurityUtils.matchesPassword(oldPassword, password)) {
        String userName = params.get("username");
        SysUser sysUser = sysUserMapper.selectUserByUserName(userName);
        if (sysUser.getStatus().equals("1")){
            throw new ServiceException("该用户已被冻结");
        }
        if (!SecurityUtils.matchesPassword(oldPassword, sysUser.getPassword())) {
            return error("修改密码失败,旧密码错误");
        }
        if (SecurityUtils.matchesPassword(newPassword, password)) {
        if (SecurityUtils.matchesPassword(newPassword, sysUser.getPassword())) {
            return error("新密码不能与旧密码相同");
        }
        newPassword = SecurityUtils.encryptPassword(newPassword);
        if (userService.resetUserPwd(userName, newPassword) > 0) {
            // 更新缓存用户密码
            loginUser.getUser().setPassword(newPassword);
            tokenService.setLoginUser(loginUser);
            return success();
        }
        return error("修改密码异常,请联系管理员");
        userService.resetUserPwd(userName, newPassword);
        return success();
    }
    /**