From b6da4e19c59e148ce5d8c29bb06b59d2128e9072 Mon Sep 17 00:00:00 2001 From: dong2ast Date: Mon, 4 Dec 2023 13:26:29 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EC=9D=B4=EB=A6=84=20=EB=B0=8F=20?= =?UTF-8?q?=EA=B6=8C=ED=95=9C=20=EB=B3=80=EA=B2=BD=20=EB=A1=9C=EC=A7=81=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/uspray/uspray/controller/MemberController.java | 10 ++++++++++ src/main/java/com/uspray/uspray/domain/Member.java | 7 +++++++ .../com/uspray/uspray/exception/SuccessStatus.java | 1 + .../java/com/uspray/uspray/service/MemberService.java | 9 +++++++++ 4 files changed, 27 insertions(+) diff --git a/src/main/java/com/uspray/uspray/controller/MemberController.java b/src/main/java/com/uspray/uspray/controller/MemberController.java index 66d25058..120a9e82 100644 --- a/src/main/java/com/uspray/uspray/controller/MemberController.java +++ b/src/main/java/com/uspray/uspray/controller/MemberController.java @@ -14,6 +14,7 @@ import org.springframework.security.core.userdetails.User; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -44,4 +45,13 @@ public ApiResponseDto setNotificationAgree( memberService.changeNotificationAgree(user.getUsername(), notificationAgreeDto); return ApiResponseDto.success(SuccessStatus.CHANGE_PUSH_AGREE_SUCCESS); } + + @PutMapping("/oauth/{name}") + @Operation(summary = "소셜 로그인 회원가입 이름 설정") + public ApiResponseDto setOAuthName( + @Parameter(hidden = true) @AuthenticationPrincipal User user, + @PathVariable("name") String name) { + memberService.changeName(user.getUsername(), name); + return ApiResponseDto.success(SuccessStatus.CHANGE_NAME_SUCCESS); + } } diff --git a/src/main/java/com/uspray/uspray/domain/Member.java b/src/main/java/com/uspray/uspray/domain/Member.java index 81bb046b..91251786 100644 --- a/src/main/java/com/uspray/uspray/domain/Member.java +++ b/src/main/java/com/uspray/uspray/domain/Member.java @@ -71,6 +71,13 @@ public void changeFirebaseToken(String firebaseToken) { public void changePhone(String phone) { this.phone = phone; } + public void changeName(String name) { + this.name = name; + } + + public void changeAuthority(Authority authority) { + this.authority = authority; + } public void changePw(String pw) { this.password = pw; diff --git a/src/main/java/com/uspray/uspray/exception/SuccessStatus.java b/src/main/java/com/uspray/uspray/exception/SuccessStatus.java index 8a260318..1aa5c2e7 100644 --- a/src/main/java/com/uspray/uspray/exception/SuccessStatus.java +++ b/src/main/java/com/uspray/uspray/exception/SuccessStatus.java @@ -26,6 +26,7 @@ public enum SuccessStatus { REISSUE_SUCCESS(HttpStatus.OK, "토큰 재발급에 성공했습니다."), PUSH_SUCCESS(HttpStatus.OK, "푸쉬 알림을 성공적으로 전송했습니다."), CHANGE_PUSH_AGREE_SUCCESS(HttpStatus.OK, "푸쉬 알림 설정을 성공적으로 변경했습니다."), + CHANGE_NAME_SUCCESS(HttpStatus.OK, "이름을 성공적으로 변경했습니다."), UPDATE_CATEGORY_SUCCESS(HttpStatus.OK, "카테고리 수정에 성공했습니다."), GET_CATEGORY_SUCCESS(HttpStatus.OK, "카테고리 조회에 성공했습니다."), GET_HISTORY_LIST_SUCCESS(HttpStatus.OK, "히스토리 목록 조회에 성공했습니다."), diff --git a/src/main/java/com/uspray/uspray/service/MemberService.java b/src/main/java/com/uspray/uspray/service/MemberService.java index a18bf0e7..dd32e306 100644 --- a/src/main/java/com/uspray/uspray/service/MemberService.java +++ b/src/main/java/com/uspray/uspray/service/MemberService.java @@ -1,6 +1,8 @@ package com.uspray.uspray.service; import com.uspray.uspray.DTO.notification.NotificationAgreeDto; +import com.uspray.uspray.Enums.Authority; +import com.uspray.uspray.domain.Member; import com.uspray.uspray.infrastructure.MemberRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -21,4 +23,11 @@ public void changePhone(String userId, String phone) { public void changeNotificationAgree(String userId, NotificationAgreeDto notificationAgreeDto) { memberRepository.getMemberByUserId(userId).changeNotificationSetting(notificationAgreeDto); } + + @Transactional + public void changeName(String userId, String name) { + Member member = memberRepository.getMemberByUserId(userId); + member.changeName(name); + member.changeAuthority(Authority.ROLE_USER); + } }