From 6d5d24075d1cd05b63b0d03447acbfece33e5de7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?lkd9125=28=EC=9D=B4=EA=B2=BD=EB=8F=84=29?= Date: Tue, 20 Feb 2024 14:12:50 +0900 Subject: [PATCH] =?UTF-8?q?feature:=20User=EB=AA=A8=EB=93=88=20-=20?= =?UTF-8?q?=ED=9A=8C=EC=9B=90=EC=A0=95=EB=B3=B4=EC=88=98=EC=A0=95=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/UserAccountController.java | 16 ++++++++++--- .../model/update/UpdatePasswordRQ.java | 1 + .../account/model/update/UpdateUserRQ.java | 17 +++++++++++++ .../account/service/UserAccountService.java | 24 +++++++++++++++++++ 4 files changed, 55 insertions(+), 3 deletions(-) create mode 100644 web/api-user/src/main/java/kr/co/palnet/kac/api/v1/user/account/model/update/UpdateUserRQ.java diff --git a/web/api-user/src/main/java/kr/co/palnet/kac/api/v1/user/account/controller/UserAccountController.java b/web/api-user/src/main/java/kr/co/palnet/kac/api/v1/user/account/controller/UserAccountController.java index 9b15579..6c37293 100644 --- a/web/api-user/src/main/java/kr/co/palnet/kac/api/v1/user/account/controller/UserAccountController.java +++ b/web/api-user/src/main/java/kr/co/palnet/kac/api/v1/user/account/controller/UserAccountController.java @@ -5,6 +5,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; import kr.co.palnet.kac.api.v1.user.account.model.detail.SearchUserRS; import kr.co.palnet.kac.api.v1.user.account.model.register.FormRegisterRQ; import kr.co.palnet.kac.api.v1.user.account.model.update.UpdatePasswordRQ; +import kr.co.palnet.kac.api.v1.user.account.model.update.UpdateUserRQ; import kr.co.palnet.kac.api.v1.user.account.service.UserAccountService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -23,7 +24,7 @@ public class UserAccountController { @PostMapping("/register") @Operation(summary = "회원가입", description = "유저의 계정을 추가합니다.") - public ResponseEntity createUser(@RequestBody FormRegisterRQ rq){ + public ResponseEntity createUser(@RequestBody FormRegisterRQ rq){ userAccountService.createUser(rq); @@ -32,7 +33,7 @@ public class UserAccountController { @DeleteMapping("/delete") @Operation(summary = "회원탈퇴", description = "유저의 계정을 탈퇴시키며 참여한 그룹도 탈퇴시킵니다.") - public ResponseEntity deleteUser(){ + public ResponseEntity deleteUser(){ userAccountService.deleteUser(); @@ -50,13 +51,22 @@ public class UserAccountController { @PutMapping("/update/pswd") @Operation(summary = "회원암호 변경", description = "회원 암호를 변경합니다.") - public ResponseEntity updatePassword(@RequestBody UpdatePasswordRQ rq){ + public ResponseEntity updatePassword(@RequestBody UpdatePasswordRQ rq){ userAccountService.updatePassword(rq); return ResponseEntity.ok().build(); } + @PutMapping("/update") + @Operation(summary = "회원정보 변경", description = "회원의 정보를 수정합니다.") + public ResponseEntity updateUser(@RequestBody UpdateUserRQ rq){ + + userAccountService.updateUser(rq); + + return ResponseEntity.ok().build(); + } + diff --git a/web/api-user/src/main/java/kr/co/palnet/kac/api/v1/user/account/model/update/UpdatePasswordRQ.java b/web/api-user/src/main/java/kr/co/palnet/kac/api/v1/user/account/model/update/UpdatePasswordRQ.java index 99562fe..b04658c 100644 --- a/web/api-user/src/main/java/kr/co/palnet/kac/api/v1/user/account/model/update/UpdatePasswordRQ.java +++ b/web/api-user/src/main/java/kr/co/palnet/kac/api/v1/user/account/model/update/UpdatePasswordRQ.java @@ -6,6 +6,7 @@ import lombok.Data; @Data public class UpdatePasswordRQ { + // TODO :: 해당 컬럼은 Api실행시 로직상에서도 필요하지 않을뿐더러 클라이언트에서도 사용되지 않고있음 @Schema(description = "유저의 기존 비밀번호", example = "palnet!234") private String userPswd; diff --git a/web/api-user/src/main/java/kr/co/palnet/kac/api/v1/user/account/model/update/UpdateUserRQ.java b/web/api-user/src/main/java/kr/co/palnet/kac/api/v1/user/account/model/update/UpdateUserRQ.java new file mode 100644 index 0000000..78b33de --- /dev/null +++ b/web/api-user/src/main/java/kr/co/palnet/kac/api/v1/user/account/model/update/UpdateUserRQ.java @@ -0,0 +1,17 @@ +package kr.co.palnet.kac.api.v1.user.account.model.update; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.Instant; + +@Data +public class UpdateUserRQ { + + @Schema(description = "유저 이메일" , example = "updateEmail@test.co.kr") + private String email; + + @Schema(description = "업데이트할 핸드폰 번호", example = "01023457777") + private String hpno; + +} diff --git a/web/api-user/src/main/java/kr/co/palnet/kac/api/v1/user/account/service/UserAccountService.java b/web/api-user/src/main/java/kr/co/palnet/kac/api/v1/user/account/service/UserAccountService.java index dcc1c6c..3506fc9 100644 --- a/web/api-user/src/main/java/kr/co/palnet/kac/api/v1/user/account/service/UserAccountService.java +++ b/web/api-user/src/main/java/kr/co/palnet/kac/api/v1/user/account/service/UserAccountService.java @@ -6,6 +6,7 @@ import kr.co.palnet.kac.api.v1.user.account.model.detail.SearchUserRS; import kr.co.palnet.kac.api.v1.user.account.model.register.FormRegisterRQ; import kr.co.palnet.kac.api.v1.user.account.model.register.AgreeTermsModel; import kr.co.palnet.kac.api.v1.user.account.model.update.UpdatePasswordRQ; +import kr.co.palnet.kac.api.v1.user.account.model.update.UpdateUserRQ; import kr.co.palnet.kac.config.security.util.SessionHelper; import kr.co.palnet.kac.core.exception.BaseErrorCode; import kr.co.palnet.kac.core.exception.BaseException; @@ -17,6 +18,7 @@ import kr.co.palnet.kac.util.EncryptUtil; import kr.co.palnet.kac.util.HttpUtils; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.cglib.core.Local; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -220,5 +222,27 @@ public class UserAccountService { } + @Transactional + public void updateUser(UpdateUserRQ rq) { + + Long cstmrSno = SessionHelper.getCstmrSno(); + String userId = SessionHelper.getUserId(); + + Optional userEntityData = ptyCstmrDomainService.findPtyCstmrBasById(cstmrSno); + if(userEntityData.isPresent()){ + PtyCstmrBas userEntity = userEntityData.get(); + PtyCstmrDtl userDetailEntity = userEntity.getPtyCstmrDtl(); + + userDetailEntity.setUpdateDt(LocalDateTime.now()); + userDetailEntity.setUpdateUserId(userId); + if(rq.getEmail() != null) userDetailEntity.setEmail(EncryptUtil.encrypt(rq.getEmail())); + if(rq.getHpno() != null) userDetailEntity.setHpno(EncryptUtil.encrypt(rq.getHpno())); + + userEntity.setPtyCstmrDtl(userDetailEntity); + } else { + throw new BaseException(BaseErrorCode.DATA_EMPTY); + } + + } }