fix: 修复个人中心密码设置状态显示错误的问题

This commit is contained in:
2023-10-16 21:25:02 +08:00
parent 8d394937cf
commit b04a228a1a
5 changed files with 10 additions and 6 deletions

View File

@@ -41,7 +41,6 @@ public class UpdatePasswordRequest implements Serializable {
*/
@Schema(description = "当前密码(加密后)",
example = "E7c72TH+LDxKTwavjM99W1MdI9Lljh79aPKiv3XB9MXcplhm7qJ1BJCj28yaflbdVbfc366klMtjLIWQGqb0qw==")
@NotBlank(message = "当前密码不能为空")
private String oldPassword;
/**

View File

@@ -200,7 +200,10 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserVO,
public void updatePassword(String oldPassword, String newPassword, Long id) {
CheckUtils.throwIfEqual(newPassword, oldPassword, "新密码不能与当前密码相同");
UserDO user = super.getById(id);
CheckUtils.throwIfNotEqual(SecureUtils.md5Salt(oldPassword, id.toString()), user.getPassword(), "当前密码错误");
String password = user.getPassword();
if (StrUtil.isNotBlank(password)) {
CheckUtils.throwIfNotEqual(SecureUtils.md5Salt(oldPassword, id.toString()), password, "当前密码错误");
}
// 更新密码和密码重置时间
LocalDateTime now = LocalDateTime.now();
baseMapper.lambdaUpdate().set(UserDO::getPassword, SecureUtils.md5Salt(newPassword, id.toString()))