diff --git a/src/main/java/com/ai/da/common/enums/AuthenticationOperationTypeEnum.java b/src/main/java/com/ai/da/common/enums/AuthenticationOperationTypeEnum.java index a8300691..784edb63 100644 --- a/src/main/java/com/ai/da/common/enums/AuthenticationOperationTypeEnum.java +++ b/src/main/java/com/ai/da/common/enums/AuthenticationOperationTypeEnum.java @@ -27,7 +27,11 @@ public enum AuthenticationOperationTypeEnum { /** * 更改邮箱 */ - CHANGE_MAILBOX; + CHANGE_MAILBOX, + /** + * 填写用户国家和职业 + */ + UPDATE_USERINFO; public static AuthenticationOperationTypeEnum of(String name) { return Stream.of(AuthenticationOperationTypeEnum.values()).filter(v -> v.name().equals(name)).findFirst().orElse(null); diff --git a/src/main/java/com/ai/da/model/dto/AccountBindEmailDTO.java b/src/main/java/com/ai/da/model/dto/AccountBindEmailDTO.java index 67394ebf..b5559769 100644 --- a/src/main/java/com/ai/da/model/dto/AccountBindEmailDTO.java +++ b/src/main/java/com/ai/da/model/dto/AccountBindEmailDTO.java @@ -21,12 +21,4 @@ public class AccountBindEmailDTO { @NotBlank(message = "emailVerifyCode.cannot.be.empty") @ApiModelProperty("邮箱验证码") private String emailVerifyCode; - - @NotBlank(message = "country cannot be empty" ) - @ApiModelProperty("国家") - private String country; - - @NotBlank(message = "occupation cannot be empty") - @ApiModelProperty("职业") - private String occupation; } diff --git a/src/main/java/com/ai/da/model/dto/EmailSendDTO.java b/src/main/java/com/ai/da/model/dto/EmailSendDTO.java index eed614bb..9a111e87 100644 --- a/src/main/java/com/ai/da/model/dto/EmailSendDTO.java +++ b/src/main/java/com/ai/da/model/dto/EmailSendDTO.java @@ -21,4 +21,10 @@ public class EmailSendDTO { @ApiModelProperty("异常ip") private String ip; + @ApiModelProperty("国家") + private String country; + + @ApiModelProperty("职业") + private String occupation; + } 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 58c1a93a..1bf8ec30 100644 --- a/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java @@ -305,8 +305,6 @@ public class AccountServiceImpl extends ServiceImpl impl } //绑定 account.setUserEmail(accountBindEmailDTO.getUserEmail()); - account.setCountry(accountBindEmailDTO.getCountry()); - account.setOccupation(accountBindEmailDTO.getOccupation()); accountMapper.updateById(account); // updatePwdByUserId(accountBindEmailDTO.getUserEmail(), accountBindEmailDTO.getUserId()); return Boolean.TRUE; @@ -418,11 +416,29 @@ public class AccountServiceImpl extends ServiceImpl impl } result = SendEmailUtil.send(emailSendDTO.getEmail(), null, SendEmailUtil.BIND_MAILBOX_TEMPLATE_ID, randomVerifyCode); + + if (!StringUtil.isNullOrEmpty(emailSendDTO.getCountry()) || !StringUtil.isNullOrEmpty(emailSendDTO.getOccupation())){ + Long accountId = UserContext.getUserHolder().getId(); + Account account = baseMapper.selectById(accountId); + account.setCountry(emailSendDTO.getCountry()); + account.setOccupation(emailSendDTO.getOccupation()); + baseMapper.updateById(account); + } break; case CHANGE_MAILBOX: result = SendEmailUtil.send(emailSendDTO.getEmail(), null, SendEmailUtil.CHANGE_MAILBOX_TEMPLATE_ID, randomVerifyCode); break; + case UPDATE_USERINFO: + if (!StringUtil.isNullOrEmpty(emailSendDTO.getCountry()) || !StringUtil.isNullOrEmpty(emailSendDTO.getOccupation())){ + Long accountId = UserContext.getUserHolder().getId(); + Account account = baseMapper.selectById(accountId); + account.setCountry(emailSendDTO.getCountry()); + account.setOccupation(emailSendDTO.getOccupation()); + baseMapper.updateById(account); + result = true; + } + break; default: } if (!result) {