From 42378988d347bc4be05b1fa3e8e05cb39eb3b338 Mon Sep 17 00:00:00 2001 From: HyoBN Date: Tue, 23 Jan 2024 18:26:15 +0900 Subject: [PATCH 1/2] =?UTF-8?q?:hammer:=20Fix:=20=ED=94=BC=EC=96=B4?= =?UTF-8?q?=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EA=B4=80=EB=A0=A8=20api=20?= =?UTF-8?q?=ED=98=95=EC=8B=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cmc/peerna/apiResponse/code/ResponseStatus.java | 2 ++ .../cmc/peerna/repository/PeerFeedbackRepository.java | 3 ++- .../cmc/peerna/service/serviceImpl/TestServiceImpl.java | 4 +++- .../java/cmc/peerna/web/controller/TestController.java | 6 +++--- .../cmc/peerna/web/dto/requestDto/MemberRequestDto.java | 8 ++++++++ 5 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/main/java/cmc/peerna/apiResponse/code/ResponseStatus.java b/src/main/java/cmc/peerna/apiResponse/code/ResponseStatus.java index ee4db4b..2452259 100644 --- a/src/main/java/cmc/peerna/apiResponse/code/ResponseStatus.java +++ b/src/main/java/cmc/peerna/apiResponse/code/ResponseStatus.java @@ -25,6 +25,8 @@ public enum ResponseStatus implements BaseCode { // member 에러 MEMBER_NOT_FOUND(OK, 2200, "존재하지 않는 유저입니다."), + // test 에러 + UUID_NOT_FOUND(OK, 2250, "해당 UUID로 작성된 정보가 존재하지 않습니다"), // 400번대 에러 diff --git a/src/main/java/cmc/peerna/repository/PeerFeedbackRepository.java b/src/main/java/cmc/peerna/repository/PeerFeedbackRepository.java index 607ab03..2ead810 100644 --- a/src/main/java/cmc/peerna/repository/PeerFeedbackRepository.java +++ b/src/main/java/cmc/peerna/repository/PeerFeedbackRepository.java @@ -7,11 +7,12 @@ import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; +import java.util.Optional; import java.util.UUID; public interface PeerFeedbackRepository extends JpaRepository { - PeerFeedback findByNonMemberUuid(String nonMemberUuid); + Optional findByNonMemberUuid(String nonMemberUuid); List findTop3ByTargetOrderByCreatedAtDesc(Member target); diff --git a/src/main/java/cmc/peerna/service/serviceImpl/TestServiceImpl.java b/src/main/java/cmc/peerna/service/serviceImpl/TestServiceImpl.java index e0f0a3a..ca6e71e 100644 --- a/src/main/java/cmc/peerna/service/serviceImpl/TestServiceImpl.java +++ b/src/main/java/cmc/peerna/service/serviceImpl/TestServiceImpl.java @@ -19,6 +19,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.List; +import java.util.Optional; import java.util.stream.Collectors; @Service @@ -163,7 +164,8 @@ public void savePeerGradeResult(Member writer, Member target, PeerGrade peerGrad @Transactional public void updatePeerTestMemberId(Member member, String uuid) { - PeerFeedback peerFeedback = peerFeedbackRepository.findByNonMemberUuid(uuid); + PeerFeedback peerFeedback = peerFeedbackRepository.findByNonMemberUuid(uuid).orElseThrow(() -> new TestException(ResponseStatus.UUID_NOT_FOUND)); + peerFeedback.updateWriter(member); PeerGradeResult peerGradeResult = peerGradeResultRepository.findByNonMemberUuid(uuid); diff --git a/src/main/java/cmc/peerna/web/controller/TestController.java b/src/main/java/cmc/peerna/web/controller/TestController.java index 5d75df3..55f4821 100644 --- a/src/main/java/cmc/peerna/web/controller/TestController.java +++ b/src/main/java/cmc/peerna/web/controller/TestController.java @@ -92,7 +92,7 @@ public ResponseDto getSelfTestResult( @ApiResponse(responseCode = "4200", description = "BAD_REQUEST, 잘못된 답변 ID 값을 전달했습니다."), @ApiResponse(responseCode = "4201", description = "BAD_REQUEST, 답변 개수가 정확하게 18개가 아닙니다.") }) - @PostMapping("/review/peer-test/{target-uuid}") + @PostMapping("/review/peer-test") public ResponseDto savePeerTest(@RequestParam(name = "target-uuid") String targetUuid, @RequestBody TestRequestDto.peerTestRequestDto requestDto) { Member target = memberService.findMemberByUuid(targetUuid); testService.savePeerTest(null, target, requestDto); @@ -106,8 +106,8 @@ public ResponseDto savePeerTest(@RequestP @ApiResponse(responseCode = "2200", description = "BAD_REQUEST, 존재하지 않는 유저입니다.") }) @PostMapping("/review/update-member-id") - public ResponseDto updateMemberId(@AuthMember Member member, @RequestBody String uuid) { - testService.updatePeerTestMemberId(member, uuid); + public ResponseDto updateMemberId(@AuthMember Member member, @RequestBody MemberRequestDto.uuidRequestDto uuid) { + testService.updatePeerTestMemberId(member, uuid.getUuid()); return ResponseDto.of(MemberConverter.toMemberStatusDto(member.getId(), "UpdatePeerTestWriterId")); } diff --git a/src/main/java/cmc/peerna/web/dto/requestDto/MemberRequestDto.java b/src/main/java/cmc/peerna/web/dto/requestDto/MemberRequestDto.java index 4bedbe3..eeccef5 100644 --- a/src/main/java/cmc/peerna/web/dto/requestDto/MemberRequestDto.java +++ b/src/main/java/cmc/peerna/web/dto/requestDto/MemberRequestDto.java @@ -43,4 +43,12 @@ public static class profileUpdateDto{ private Part part; private String oneLiner; } + + @Builder + @Getter + @AllArgsConstructor(access = AccessLevel.PROTECTED) + @NoArgsConstructor(access = AccessLevel.PROTECTED) + public static class uuidRequestDto{ + private String uuid; + } } From 3b4700264b5f5d9bd4e67418ed128c730a2d091f Mon Sep 17 00:00:00 2001 From: HyoBN Date: Tue, 23 Jan 2024 18:39:25 +0900 Subject: [PATCH 2/2] =?UTF-8?q?:sparkles:=20Feat:=20uuid=EB=A1=9C=20?= =?UTF-8?q?=EC=9C=A0=EC=A0=80=20=EC=9D=B4=EB=A6=84=20=EC=A1=B0=ED=9A=8C=20?= =?UTF-8?q?API=20=EA=B5=AC=ED=98=84,=20uuid=20=EA=B4=80=EB=A0=A8=20?= =?UTF-8?q?=EC=97=90=EB=9F=AC=ED=95=B8=EB=93=A4=EB=A7=81=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cmc/peerna/apiResponse/code/ResponseStatus.java | 2 +- .../service/serviceImpl/MemberServiceImpl.java | 2 +- .../cmc/peerna/web/controller/MemberController.java | 13 +++++++++++++ .../cmc/peerna/web/controller/TestController.java | 5 +++-- .../web/dto/responseDto/MemberResponseDto.java | 8 ++++++++ 5 files changed, 26 insertions(+), 4 deletions(-) diff --git a/src/main/java/cmc/peerna/apiResponse/code/ResponseStatus.java b/src/main/java/cmc/peerna/apiResponse/code/ResponseStatus.java index 2452259..a8067fb 100644 --- a/src/main/java/cmc/peerna/apiResponse/code/ResponseStatus.java +++ b/src/main/java/cmc/peerna/apiResponse/code/ResponseStatus.java @@ -26,7 +26,7 @@ public enum ResponseStatus implements BaseCode { MEMBER_NOT_FOUND(OK, 2200, "존재하지 않는 유저입니다."), // test 에러 - UUID_NOT_FOUND(OK, 2250, "해당 UUID로 작성된 정보가 존재하지 않습니다"), + UUID_NOT_FOUND(OK, 2250, "잘못된 UUID 값입니다."), // 400번대 에러 diff --git a/src/main/java/cmc/peerna/service/serviceImpl/MemberServiceImpl.java b/src/main/java/cmc/peerna/service/serviceImpl/MemberServiceImpl.java index 5780501..193e834 100644 --- a/src/main/java/cmc/peerna/service/serviceImpl/MemberServiceImpl.java +++ b/src/main/java/cmc/peerna/service/serviceImpl/MemberServiceImpl.java @@ -99,7 +99,7 @@ public void updateTotalScore(Member member) { @Override public Member findMemberByUuid(String uuid) { - Member member = memberRepository.findByUuid(uuid).orElseThrow(() -> new MemberException(ResponseStatus.MEMBER_NOT_FOUND)); + Member member = memberRepository.findByUuid(uuid).orElseThrow(() -> new MemberException(ResponseStatus.UUID_NOT_FOUND)); return member; } diff --git a/src/main/java/cmc/peerna/web/controller/MemberController.java b/src/main/java/cmc/peerna/web/controller/MemberController.java index 0506492..5df7523 100644 --- a/src/main/java/cmc/peerna/web/controller/MemberController.java +++ b/src/main/java/cmc/peerna/web/controller/MemberController.java @@ -182,5 +182,18 @@ else if (page < 1) public ResponseDto updateMemberProfile(@AuthMember Member member, @RequestBody MemberRequestDto.profileUpdateDto request) { return ResponseDto.of(memberService.updateMemberProfile(member, request)); } + + @Operation(summary = "UUID로 유저 이름 조회 API ✔️🔑", description = "UUID로 유저 이름 조회 API입니다.") + @ApiResponses({ + @ApiResponse(responseCode = "2250", description = "BAD_REQUEST, 잘못된 UUID 값입니다."), + }) + @Parameters({ + @Parameter(name = "member", hidden = true) + }) + @GetMapping("member/name") + public ResponseDto getUserNameByUuid(@RequestParam(name = "uuid") String uuid) { + Member memberByUuid = memberService.findMemberByUuid(uuid); + return ResponseDto.of(MemberResponseDto.memberNameResponseDto.builder().name(memberByUuid.getName()).build()); + } } diff --git a/src/main/java/cmc/peerna/web/controller/TestController.java b/src/main/java/cmc/peerna/web/controller/TestController.java index 55f4821..6d896ae 100644 --- a/src/main/java/cmc/peerna/web/controller/TestController.java +++ b/src/main/java/cmc/peerna/web/controller/TestController.java @@ -88,7 +88,7 @@ public ResponseDto getSelfTestResult( @Operation(summary = "비회원 피어 테스트 작성 API ✔️", description = "비회원 피어 테스트 작성 API입니다.") @ApiResponses({ - @ApiResponse(responseCode = "2200", description = "BAD_REQUEST, 존재하지 않는 유저입니다."), + @ApiResponse(responseCode = "2250", description = "BAD_REQUEST, 잘못된 UUID 값입니다."), @ApiResponse(responseCode = "4200", description = "BAD_REQUEST, 잘못된 답변 ID 값을 전달했습니다."), @ApiResponse(responseCode = "4201", description = "BAD_REQUEST, 답변 개수가 정확하게 18개가 아닙니다.") }) @@ -103,7 +103,8 @@ public ResponseDto savePeerTest(@RequestP @Operation(summary = "비회원 유저 회원가입 후 id값 갱신용 API ✔️🔑", description = "비회원 유저 회원가입 후 id값 갱신용 API입니다.") @ApiResponses({ - @ApiResponse(responseCode = "2200", description = "BAD_REQUEST, 존재하지 않는 유저입니다.") + @ApiResponse(responseCode = "2200", description = "BAD_REQUEST, 존재하지 않는 유저입니다."), + @ApiResponse(responseCode = "2250", description = "BAD_REQUEST, 해당 UUID로 작성된 정보가 존재하지 않습니다. 잘못된 UUID 값 입니다."), }) @PostMapping("/review/update-member-id") public ResponseDto updateMemberId(@AuthMember Member member, @RequestBody MemberRequestDto.uuidRequestDto uuid) { diff --git a/src/main/java/cmc/peerna/web/dto/responseDto/MemberResponseDto.java b/src/main/java/cmc/peerna/web/dto/responseDto/MemberResponseDto.java index b1c90b9..0ebdea9 100644 --- a/src/main/java/cmc/peerna/web/dto/responseDto/MemberResponseDto.java +++ b/src/main/java/cmc/peerna/web/dto/responseDto/MemberResponseDto.java @@ -53,4 +53,12 @@ public static class memberBasicInfoDto{ private String uuid; } + @Builder + @Getter + @AllArgsConstructor(access = AccessLevel.PROTECTED) + @NoArgsConstructor(access = AccessLevel.PROTECTED) + public static class memberNameResponseDto{ + private String name; + } + }