From 06a5f91f1d621cb331ccb41c4ae975b2a949fbbf Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期五, 06 九月 2024 18:23:06 +0800 Subject: [PATCH] 修改 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java | 29 +++++++++++++++++++++++++++++ 1 files changed, 29 insertions(+), 0 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java index 5a1354f..a5ecd45 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java @@ -13,6 +13,7 @@ import com.ruoyi.common.utils.StringUtils; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.dto.SysUserUpdateStatusDTO; +import com.ruoyi.system.dto.UpdatePwdDTO; import com.ruoyi.system.query.SysUserQuery; import com.ruoyi.system.service.*; import com.ruoyi.system.vo.SysUserVO; @@ -22,6 +23,7 @@ import io.swagger.annotations.ApiOperation; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.authentication.BadCredentialsException; import org.springframework.util.CollectionUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -250,6 +252,33 @@ } /** + * 修改密码 + */ + // @PreAuthorize("@ss.hasPermi('system:user:resetPwd')") + @ApiOperation(value = "修改密码") + @Log(title = "用户信息-修改密码", businessType = BusinessType.UPDATE) + @PostMapping("/updatePwd") + public AjaxResult updatePwd(@RequestBody UpdatePwdDTO dto) + { + SysUser user = userService.selectUserByUserName(dto.getAccount()); + if(Objects.isNull(user)){ + return AjaxResult.error("未查询到该账号"); + } + userService.checkUserAllowed(user); + // 校验密码跟原密码是否匹配 + if (!SecurityUtils.matchesPassword(dto.getOldPassword(), user.getPassword())) { + throw new BadCredentialsException("输入原密码不正确"); + } + if (!dto.getPassword().equals(dto.getConfirmPassword())) { + throw new BadCredentialsException("两次输入密码不一致"); + } +// userService.checkUserDataScope(user.getUserId()); + user.setPassword(SecurityUtils.encryptPassword(dto.getPassword())); + user.setUpdateBy(getUsername()); + return AjaxResult.success(userService.resetPwd(user)); + } + + /** * 状态修改 */ @ApiOperation(value = "状态修改") -- Gitblit v1.7.1