From bd116ff011f7ab47d17d86b51309f3e01b6e7f94 Mon Sep 17 00:00:00 2001 From: shahaibo <1023316923@qq.com> Date: Fri, 22 Dec 2023 14:12:20 +0800 Subject: [PATCH] =?UTF-8?q?BUGFIX:=E5=BF=98=E8=AE=B0=E5=AF=86=E7=A0=81;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ai/da/model/dto/AccountRegisterDTO.java | 1 + .../da/service/impl/AccountServiceImpl.java | 19 +++++++++++-------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/ai/da/model/dto/AccountRegisterDTO.java b/src/main/java/com/ai/da/model/dto/AccountRegisterDTO.java index ecb0b1f2..041a9bc6 100644 --- a/src/main/java/com/ai/da/model/dto/AccountRegisterDTO.java +++ b/src/main/java/com/ai/da/model/dto/AccountRegisterDTO.java @@ -14,6 +14,7 @@ public class AccountRegisterDTO { @ApiModelProperty("邮箱") private String email; + private Boolean verifyEmail; // @NotBlank(message = "password.cannot.be.empty") @ApiModelProperty("密码") private String password; diff --git a/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java b/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java index 2641f34e..9b3f87c0 100644 --- a/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java @@ -254,16 +254,19 @@ public class AccountServiceImpl extends ServiceImpl impl @Transactional @Override public Boolean forgetPwd(AccountRegisterDTO accountDTO) { - Account emailAccount = getOneByEmail(accountDTO.getEmail()); +// Account emailAccount = getOneByEmail(accountDTO.getEmail()); //校验邮箱验证码 - String verifyCode = LocalCacheUtils.getVerifyCodeCache(AuthenticationOperationTypeEnum.FORGET_PWD.name() + "_" + accountDTO.getEmail()); - if (StringUtils.isBlank(verifyCode)) { - throw new BusinessException("the.verification.code.has.expired", ResultEnum.PROMPT.getCode()); + if (accountDTO.getVerifyEmail()) { + String verifyCode = LocalCacheUtils.getVerifyCodeCache(AuthenticationOperationTypeEnum.FORGET_PWD.name() + "_" + accountDTO.getEmail()); + if (StringUtils.isBlank(verifyCode)) { + throw new BusinessException("the.verification.code.has.expired", ResultEnum.PROMPT.getCode()); + } + if (!verifyCode.equals(accountDTO.getEmailVerifyCode())) { + throw new BusinessException("verification.code.error", ResultEnum.PROMPT.getCode()); + } + }else { + updatePwdByEmail(accountDTO.getPassword(), accountDTO.getEmail()); } - if (!verifyCode.equals(accountDTO.getEmailVerifyCode())) { - throw new BusinessException("verification.code.error", ResultEnum.PROMPT.getCode()); - } - updatePwdByEmail(accountDTO.getPassword(), accountDTO.getEmail()); return Boolean.TRUE; }