From d8c6aefd13cee7aa56f72cd171b306b5e698d0d2 Mon Sep 17 00:00:00 2001 From: fanxb Date: Fri, 5 Mar 2021 17:03:51 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E4=B8=AA=E4=BA=BA=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/user/entity/EmailUpdateBody.java | 2 +- .../user/entity/UpdatePasswordBody.java | 2 +- .../user/service/BaseInfoService.java | 14 ++- bookmark_front/public/index.html | 1 - bookmark_front/src/layout/main/Bottom.vue | 6 +- bookmark_front/src/layout/main/Top.vue | 3 +- .../src/store/modules/globalConfig.js | 6 ++ .../views/main/pages/personSpace/UserInfo.vue | 97 ++++++++++++++++++- 8 files changed, 111 insertions(+), 20 deletions(-) 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 @@ - <%= htmlWebpackPlugin.options.title %> diff --git a/bookmark_front/src/layout/main/Bottom.vue b/bookmark_front/src/layout/main/Bottom.vue index 0f54304..e16be90 100644 --- a/bookmark_front/src/layout/main/Bottom.vue +++ b/bookmark_front/src/layout/main/Bottom.vue @@ -1,19 +1,19 @@