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; }