fix: 修改密码功能-验证旧密码,使用newPassword字段设置新密码

This commit is contained in:
OpenCode
2026-07-16 20:31:21 +08:00
parent 1d880951b1
commit 0591f2ae46
@@ -125,9 +125,10 @@ public class BaseSysUserServiceImpl extends BaseServiceImpl<BaseSysUserMapper, B
CoolPreconditions.checkEmpty(userEntity, "用户不存在");
userEntity.setNickName(body.getStr("nickName"));
userEntity.setHeadImg(body.getStr("headImg"));
// 修改密码
if (StrUtil.isNotEmpty(body.getStr("password"))) {
userEntity.setPassword(MD5.create().digestHex(body.getStr("password")));
if (StrUtil.isNotEmpty(body.getStr("password")) && StrUtil.isNotEmpty(body.getStr("newPassword"))) {
String oldPasswordMd5 = MD5.create().digestHex(body.getStr("password"));
CoolPreconditions.check(!oldPasswordMd5.equals(userEntity.getPassword()), "原密码错误");
userEntity.setPassword(MD5.create().digestHex(body.getStr("newPassword")));
userEntity.setPasswordV(userEntity.getPasswordV() + 1);
coolCache.set("admin:passwordVersion:" + userId, userEntity.getPasswordV());
}