From 2501cb13f691a2a72aa1ea7b5b36fc512b809afc Mon Sep 17 00:00:00 2001 From: phjlia2430 Date: Thu, 12 Feb 2026 20:57:49 +0900 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Refactor:=20=EB=B0=9B?= =?UTF-8?q?=EC=9D=80=20=EC=B9=9C=EA=B5=AC=EB=AA=A9=EB=A1=9D=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../friend/controller/FriendController.java | 17 +++++- .../controller/FriendControllerDocs.java | 6 +- .../dto/FriendRequestListWithCountResDto.java | 24 ++++---- .../domain/friend/service/FriendService.java | 58 ++++++++++++++----- 4 files changed, 73 insertions(+), 32 deletions(-) diff --git a/src/main/java/com/example/egobook_be/domain/friend/controller/FriendController.java b/src/main/java/com/example/egobook_be/domain/friend/controller/FriendController.java index 877930a..ce5d6a3 100644 --- a/src/main/java/com/example/egobook_be/domain/friend/controller/FriendController.java +++ b/src/main/java/com/example/egobook_be/domain/friend/controller/FriendController.java @@ -63,15 +63,28 @@ public ResponseEntity> deleteFriend( return ResponseEntity.ok(GlobalResponse.success("친구 삭제 완료", null)); } +// @GetMapping("/requests/incoming") +// public ResponseEntity> getIncomingRequests( +// @AuthenticationPrincipal(expression = "userAuthDto.userId") Long userId +// ) { +// return ResponseEntity.ok( +// GlobalResponse.success("받은 친구 신청 목록 조회 성공", friendService.getIncomingRequests(userId)) +// ); +// } + @GetMapping("/requests/incoming") - public ResponseEntity> getIncomingRequests( + public ResponseEntity>> getIncomingRequests( @AuthenticationPrincipal(expression = "userAuthDto.userId") Long userId ) { return ResponseEntity.ok( - GlobalResponse.success("받은 친구 신청 목록 조회 성공", friendService.getIncomingRequests(userId)) + GlobalResponse.success( + "받은 친구 신청 목록 조회 성공", + friendService.getIncomingRequests(userId) + ) ); } + @GetMapping("/requests/outgoing") public ResponseEntity>> getOutgoingRequests( @AuthenticationPrincipal(expression = "userAuthDto.userId") Long userId diff --git a/src/main/java/com/example/egobook_be/domain/friend/controller/FriendControllerDocs.java b/src/main/java/com/example/egobook_be/domain/friend/controller/FriendControllerDocs.java index 0f30142..1e0e30e 100644 --- a/src/main/java/com/example/egobook_be/domain/friend/controller/FriendControllerDocs.java +++ b/src/main/java/com/example/egobook_be/domain/friend/controller/FriendControllerDocs.java @@ -94,8 +94,10 @@ ResponseEntity> deleteFriend( summary = "받은 친구 신청 목록 조회", description = "내가 받은 친구 신청(PENDING 상태) 목록을 조회합니다." ) - ResponseEntity> getIncomingRequests( - @Parameter(hidden = true) +// ResponseEntity> getIncomingRequests( + ResponseEntity>> getIncomingRequests( + + @Parameter(hidden = true) @AuthenticationPrincipal(expression = "userAuthDto.userId") Long userId ); diff --git a/src/main/java/com/example/egobook_be/domain/friend/dto/FriendRequestListWithCountResDto.java b/src/main/java/com/example/egobook_be/domain/friend/dto/FriendRequestListWithCountResDto.java index 6c5c215..525172b 100644 --- a/src/main/java/com/example/egobook_be/domain/friend/dto/FriendRequestListWithCountResDto.java +++ b/src/main/java/com/example/egobook_be/domain/friend/dto/FriendRequestListWithCountResDto.java @@ -1,12 +1,12 @@ -package com.example.egobook_be.domain.friend.dto; - -import lombok.Builder; - -import java.util.List; - -@Builder -public record FriendRequestListWithCountResDto( - int totalCount, - List requests -) { -} +//package com.example.egobook_be.domain.friend.dto; +// +//import lombok.Builder; +// +//import java.util.List; +// +//@Builder +//public record FriendRequestListWithCountResDto( +// int totalCount, +// List requests +//) { +//} diff --git a/src/main/java/com/example/egobook_be/domain/friend/service/FriendService.java b/src/main/java/com/example/egobook_be/domain/friend/service/FriendService.java index f6c6106..e0070ce 100644 --- a/src/main/java/com/example/egobook_be/domain/friend/service/FriendService.java +++ b/src/main/java/com/example/egobook_be/domain/friend/service/FriendService.java @@ -182,24 +182,54 @@ public void deleteFriend(Long userId, Long friendId) { /** 내가 받은 친구 신청 목록 (승인 대기) **/ +// @Transactional(readOnly = true) +// public FriendRequestListWithCountResDto getIncomingRequests(Long userId) { +// +// User receiver = userRepository.findById(userId) +// .orElseThrow(() -> new CustomException(FriendErrorCode.USER_NOT_FOUND)); +// +// List requests = +// friendRequestRepository.findByReceiverAndStatus( +// receiver, +// FriendRequestStatus.PENDING +// ); +// +// int totalCount = (int) friendRequestRepository.countByReceiverAndStatus( +// receiver, +// FriendRequestStatus.PENDING +// ); +// +// List list = requests.stream() +// .map(req -> { +// User sender = req.getSender(); +// +// return FriendRequestListResDto.builder() +// .requestId(req.getId()) +// .userId(sender.getId()) +// .nickname(sender.getNickname()) +// .level(sender.getLevel()) +// .requestedAt(req.getCreatedAt()) +// .build(); +// }) +// .toList(); +// +// return FriendRequestListWithCountResDto.builder() +// .totalCount(totalCount) +// .requests(list) +// .build(); +// } + @Transactional(readOnly = true) - public FriendRequestListWithCountResDto getIncomingRequests(Long userId) { + public List getIncomingRequests(Long userId) { User receiver = userRepository.findById(userId) .orElseThrow(() -> new CustomException(FriendErrorCode.USER_NOT_FOUND)); - List requests = - friendRequestRepository.findByReceiverAndStatus( + return friendRequestRepository.findByReceiverAndStatus( receiver, FriendRequestStatus.PENDING - ); - - int totalCount = (int) friendRequestRepository.countByReceiverAndStatus( - receiver, - FriendRequestStatus.PENDING - ); - - List list = requests.stream() + ) + .stream() .map(req -> { User sender = req.getSender(); @@ -212,13 +242,9 @@ public FriendRequestListWithCountResDto getIncomingRequests(Long userId) { .build(); }) .toList(); - - return FriendRequestListWithCountResDto.builder() - .totalCount(totalCount) - .requests(list) - .build(); } + /** 내가 보낸 친구 신청 목록 **/ @Transactional(readOnly = true) public List getOutgoingRequests(Long userId) {