From 297391d57eb1902713588bd5632548bc565f3e12 Mon Sep 17 00:00:00 2001 From: shahaibo <1023316923@qq.com> Date: Tue, 11 Feb 2025 11:27:08 +0800 Subject: [PATCH] =?UTF-8?q?BUGFIX:=E8=AF=95=E7=94=A8=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E9=82=AE=E4=BB=B6=20=E8=AE=A2=E5=8D=95=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E5=88=A4=E6=96=AD;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ai/da/controller/AccountController.java | 7 ++-- .../ai/da/mapper/primary/entity/Account.java | 16 ++++----- .../com/ai/da/model/dto/EmailSendDTO.java | 3 ++ .../ai/da/model/dto/UpdateUserInfoDTO.java | 13 +++++++ .../com/ai/da/service/AccountService.java | 2 +- .../da/service/impl/AccountServiceImpl.java | 35 +++++++++++++------ 6 files changed, 53 insertions(+), 23 deletions(-) create mode 100644 src/main/java/com/ai/da/model/dto/UpdateUserInfoDTO.java diff --git a/src/main/java/com/ai/da/controller/AccountController.java b/src/main/java/com/ai/da/controller/AccountController.java index de8dc770..881d4d9e 100644 --- a/src/main/java/com/ai/da/controller/AccountController.java +++ b/src/main/java/com/ai/da/controller/AccountController.java @@ -343,10 +343,9 @@ public class AccountController { return Response.success(accountService.unbindGoogle()); } - @GetMapping("/updateUserInfo") + @PostMapping("/updateUserInfo") @ApiOperation(value = "更新用户国家、职业信息") - public Response updateUserInfo(@RequestParam(value = "country", required = false) String country, @RequestParam(value = "occupation", required = false) String occupation) { - accountService.updateUserInfo(country, occupation); - return Response.success(); + public Response updateUserInfo(UpdateUserInfoDTO updateUserInfoDTO) { + return Response.success(accountService.updateUserInfo(updateUserInfoDTO)); } } diff --git a/src/main/java/com/ai/da/mapper/primary/entity/Account.java b/src/main/java/com/ai/da/mapper/primary/entity/Account.java index bddb7493..cc0b61c0 100644 --- a/src/main/java/com/ai/da/mapper/primary/entity/Account.java +++ b/src/main/java/com/ai/da/mapper/primary/entity/Account.java @@ -127,12 +127,12 @@ public class Account implements Serializable { private String invitationCode; -// @ApiModelProperty("title") -// private String title; -// -// @ApiModelProperty("surname") -// private String surname; -// -// @ApiModelProperty("givenName") -// private String givenName; + @ApiModelProperty("title") + private String title; + + @ApiModelProperty("surname") + private String surname; + + @ApiModelProperty("givenName") + private String givenName; } 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 6fda68db..da5bc476 100644 --- a/src/main/java/com/ai/da/model/dto/EmailSendDTO.java +++ b/src/main/java/com/ai/da/model/dto/EmailSendDTO.java @@ -28,6 +28,9 @@ public class EmailSendDTO { @ApiModelProperty("职业") private String occupation; + private String title; + private String surname; + private String givenName; } diff --git a/src/main/java/com/ai/da/model/dto/UpdateUserInfoDTO.java b/src/main/java/com/ai/da/model/dto/UpdateUserInfoDTO.java new file mode 100644 index 00000000..8033e815 --- /dev/null +++ b/src/main/java/com/ai/da/model/dto/UpdateUserInfoDTO.java @@ -0,0 +1,13 @@ +package com.ai.da.model.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class UpdateUserInfoDTO { + private String country; + private String occupation; + private String title; + private String surname; + private String givenName; +} diff --git a/src/main/java/com/ai/da/service/AccountService.java b/src/main/java/com/ai/da/service/AccountService.java index 59fdf023..4aa90811 100644 --- a/src/main/java/com/ai/da/service/AccountService.java +++ b/src/main/java/com/ai/da/service/AccountService.java @@ -224,5 +224,5 @@ public interface AccountService extends IService { void updateUserRoleAndCredits(Long accountId, String type); - void updateUserInfo(String country, String occupation); + Boolean updateUserInfo(UpdateUserInfoDTO updateUserInfoDTO); } 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 89b6db05..48d3d025 100644 --- a/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java @@ -485,11 +485,16 @@ public class AccountServiceImpl extends ServiceImpl impl SendEmailUtil.CHANGE_MAILBOX_TEMPLATE_ID, randomVerifyCode); break; case UPDATE_USERINFO: - if (!StringUtil.isNullOrEmpty(emailSendDTO.getCountry()) || !StringUtil.isNullOrEmpty(emailSendDTO.getOccupation())){ + if (!StringUtil.isNullOrEmpty(emailSendDTO.getCountry()) || !StringUtil.isNullOrEmpty(emailSendDTO.getOccupation()) + || StringUtils.isEmpty(emailSendDTO.getSurname()) || StringUtils.isNotEmpty(emailSendDTO.getTitle()) + || StringUtils.isNotEmpty(emailSendDTO.getGivenName())){ Long accountId = UserContext.getUserHolder().getId(); Account account = baseMapper.selectById(accountId); account.setCountry(emailSendDTO.getCountry()); account.setOccupation(emailSendDTO.getOccupation()); + account.setTitle(emailSendDTO.getTitle()); + account.setSurname(emailSendDTO.getSurname()); + account.setGivenName(emailSendDTO.getGivenName()); baseMapper.updateById(account); String userEmail = account.getUserEmail(); @@ -500,6 +505,9 @@ public class AccountServiceImpl extends ServiceImpl impl for (TrialOrder trialOrder : trialOrders) { trialOrder.setCountry(emailSendDTO.getCountry()); trialOrder.setOccupation(emailSendDTO.getOccupation()); + trialOrder.setTitle(emailSendDTO.getTitle()); + trialOrder.setGivenName(emailSendDTO.getGivenName()); + trialOrder.setSurname(emailSendDTO.getSurname()); trialOrderMapper.updateById(trialOrder); } } @@ -2805,18 +2813,25 @@ public class AccountServiceImpl extends ServiceImpl impl accountMapper.updateById(account); } - public void updateUserInfo(String country, String occupation){ + public Boolean updateUserInfo(UpdateUserInfoDTO updateUserInfoDTO){ Long accountId = UserContext.getUserHolder().getId(); Account account = accountMapper.selectById(accountId); - boolean flag = false; - if (!StringUtil.isNullOrEmpty(country) && !country.equals(account.getCountry())) { - account.setCountry(country.trim()); - flag = true; + if (StringUtils.isNotEmpty(updateUserInfoDTO.getOccupation()) && !account.getOccupation().equals(updateUserInfoDTO.getOccupation())) { + account.setOccupation(updateUserInfoDTO.getOccupation()); } - if (!StringUtil.isNullOrEmpty(occupation) && !occupation.equals(account.getOccupation())) { - account.setOccupation(occupation.trim()); - flag = true; + if (StringUtils.isNotEmpty(updateUserInfoDTO.getCountry()) && !account.getCountry().equals(updateUserInfoDTO.getCountry())) { + account.setCountry(updateUserInfoDTO.getCountry()); } - if(flag) accountMapper.updateById(account); + if (StringUtils.isNotEmpty(updateUserInfoDTO.getTitle()) && !account.getTitle().equals(updateUserInfoDTO.getTitle())) { + account.setTitle(updateUserInfoDTO.getTitle()); + } + if (StringUtils.isNotEmpty(updateUserInfoDTO.getSurname()) && !account.getSurname().equals(updateUserInfoDTO.getSurname())) { + account.setSurname(updateUserInfoDTO.getSurname()); + } + if (StringUtils.isNotEmpty(updateUserInfoDTO.getGivenName()) && !account.getGivenName().equals(updateUserInfoDTO.getGivenName())) { + account.setGivenName(updateUserInfoDTO.getGivenName()); + } + accountMapper.updateById(account); + return Boolean.TRUE; } }