diff --git a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/entity/EmailUpdateBody.java b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/entity/EmailUpdateBody.java index 5f4fefb..cd7da78 100644 --- a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/entity/EmailUpdateBody.java +++ b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/entity/EmailUpdateBody.java @@ -17,7 +17,7 @@ import javax.validation.constraints.Pattern; @Data public class EmailUpdateBody { @NotNull(message = "参数不为空") - private String actionId; + private String oldPassword; @Email(message = "请输入有效邮箱地址") private String email; } diff --git a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/entity/UpdatePasswordBody.java b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/entity/UpdatePasswordBody.java index 82357fc..a210d2b 100644 --- a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/entity/UpdatePasswordBody.java +++ b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/entity/UpdatePasswordBody.java @@ -15,7 +15,7 @@ import javax.validation.constraints.Pattern; @Data public class UpdatePasswordBody { - private String actionId; + private String oldPassword; @Pattern(regexp = ValidatedConstant.PASSWORD_REG, message = ValidatedConstant.PASSWORD_MESSAGE) private String password; } diff --git a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/BaseInfoService.java b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/BaseInfoService.java index 9f08a48..374a446 100644 --- a/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/BaseInfoService.java +++ b/bookMarkService/business/user/src/main/java/com/fanxb/bookmark/business/user/service/BaseInfoService.java @@ -1,5 +1,6 @@ package com.fanxb.bookmark.business.user.service; +import cn.hutool.core.util.StrUtil; import com.fanxb.bookmark.business.user.constant.RedisConstant; import com.fanxb.bookmark.business.user.dao.UserDao; import com.fanxb.bookmark.business.user.entity.EmailUpdateBody; @@ -39,10 +40,9 @@ public class BaseInfoService { public void changePassword(UpdatePasswordBody body) { int userId = UserContextHolder.get().getUserId(); - String checkAuthKey = com.fanxb.bookmark.common.constant.RedisConstant.getPasswordCheckKey(userId, body.getActionId()); - String str = RedisUtil.get(checkAuthKey, String.class); - if (str == null) { - throw new CustomException("密码校验失败,无法更新密码"); + String password = userDao.selectByUserId(userId).getPassword(); + if (!StrUtil.equals(password, HashUtil.getPassword(body.getOldPassword()))) { + throw new CustomException("旧密码错误"); } userDao.updatePasswordByUserId(userId, HashUtil.getPassword(body.getPassword())); } @@ -69,12 +69,10 @@ public class BaseInfoService { @Transactional(rollbackFor = Exception.class) public void updateEmail(EmailUpdateBody body) { int userId = UserContextHolder.get().getUserId(); - String checkAuthKey = com.fanxb.bookmark.common.constant.RedisConstant.getPasswordCheckKey(userId, body.getActionId()); - String str = RedisUtil.get(checkAuthKey, String.class); - if (str == null) { + String oldPassword = userDao.selectByUserId(userId).getPassword(); + if (!StrUtil.equals(oldPassword, HashUtil.getPassword(body.getOldPassword()))) { throw new CustomException("密码校验失败,无法更新email"); } - RedisUtil.delete(checkAuthKey); String secret = UUID.randomUUID().toString().replaceAll("-", ""); String url = VERIFY_EMAIL.replaceAll("XXXX", Constant.serviceAddress + VERIFY_EMAIL_PATH + secret); log.debug(url); diff --git a/bookmark_front/public/index.html b/bookmark_front/public/index.html index 045bc59..141137b 100644 --- a/bookmark_front/public/index.html +++ b/bookmark_front/public/index.html @@ -3,7 +3,6 @@
-