diff --git a/application/external-api-v2/src/main/java/com/namo/spring/application/external/api/user/converter/FriendshipConverter.java b/application/external-api-v2/src/main/java/com/namo/spring/application/external/api/user/converter/FriendshipConverter.java index 3ca645f6..138e984d 100644 --- a/application/external-api-v2/src/main/java/com/namo/spring/application/external/api/user/converter/FriendshipConverter.java +++ b/application/external-api-v2/src/main/java/com/namo/spring/application/external/api/user/converter/FriendshipConverter.java @@ -20,11 +20,11 @@ public static Friendship toFriendShip(Member request, Member target){ .build(); } - public static FriendshipResponse.GetFriendRequestDto toGetFriendRequestDto(Page friendships){ + public static FriendshipResponse.FriendRequestListDto toFriendRequestDto(Page friendships){ List friendRequestDto = friendships.stream() .map(FriendshipConverter::toFriendRequestDto) .toList(); - return FriendshipResponse.GetFriendRequestDto.builder() + return FriendshipResponse.FriendRequestListDto.builder() .friendRequests(friendRequestDto) .currentPage(friendships.getNumber()+1) .pageSize(friendships.getSize()) @@ -33,8 +33,9 @@ public static FriendshipResponse.GetFriendRequestDto toGetFriendRequestDto(Page< .build(); } - public static FriendshipResponse.FriendRequestDto toFriendRequestDto(Friendship friendship){ + private static FriendshipResponse.FriendRequestDto toFriendRequestDto(Friendship friendship){ Member requestMember = friendship.getMember(); + // todo : birthday 로직 일원화 필요 2024.10.23 Castle String birthday = requestMember.isBirthdayVisible() ? requestMember.getBirthday().format(DateTimeFormatter.ofPattern("MM-dd")) : BIRTHDAY_HIDDEN; return FriendshipResponse.FriendRequestDto.builder() .friendRequestId(friendship.getId()) @@ -47,4 +48,30 @@ public static FriendshipResponse.FriendRequestDto toFriendRequestDto(Friendship .favoriteColorId(requestMember.getPalette().getId()) .build(); } + + public static FriendshipResponse.FriendListDto toFriendListDto(Page friendships) { + List friendList = friendships.stream() + .map(FriendshipConverter::toFriendInfoDto) + .toList(); + return FriendshipResponse.FriendListDto.builder() + .friendList(friendList) + .currentPage(friendships.getNumber()+1) + .pageSize(friendships.getSize()) + .totalPages(friendships.getTotalPages()) + .totalItems(friendships.getTotalElements()) + .build(); + } + + private static FriendshipResponse.FriendInfoDto toFriendInfoDto(Friendship friendship){ + Member friend = friendship.getFriend(); + String birthday = friend.isBirthdayVisible() ? friend.getBirthday().format(DateTimeFormatter.ofPattern("MM-dd")) : BIRTHDAY_HIDDEN; + return FriendshipResponse.FriendInfoDto.builder() + .memberId(friend.getId()) + .nickname(friend.getNickname()) + .tag(friend.getTag()) + .bio(friend.getBio()) + .birthday(birthday) + .favoriteColorId(friend.getPalette().getId()) + .build(); + } } diff --git a/application/external-api-v2/src/main/java/com/namo/spring/application/external/api/user/dto/FriendshipResponse.java b/application/external-api-v2/src/main/java/com/namo/spring/application/external/api/user/dto/FriendshipResponse.java index 2abd72d3..5197806e 100644 --- a/application/external-api-v2/src/main/java/com/namo/spring/application/external/api/user/dto/FriendshipResponse.java +++ b/application/external-api-v2/src/main/java/com/namo/spring/application/external/api/user/dto/FriendshipResponse.java @@ -11,7 +11,7 @@ public class FriendshipResponse { @Getter @Builder - public static class GetFriendRequestDto{ + public static class FriendRequestListDto { List friendRequests; @Schema(description = "총 페이지 수", example = "5") private int totalPages; @@ -46,7 +46,7 @@ public static class FriendRequestDto{ @Getter @Builder - public static class GetFriendListDto{ + public static class FriendListDto { List friendList; @Schema(description = "총 페이지 수", example = "5") private int totalPages;