From 165468d94183b263711ca7fc728aa9aeafd2825e Mon Sep 17 00:00:00 2001 From: 88guri Date: Sun, 12 Apr 2026 01:50:03 +0900 Subject: [PATCH] =?UTF-8?q?#360=20refact:=20=EB=A6=AC=EB=B7=B0=203?= =?UTF-8?q?=EA=B0=9C=20=EC=B4=88=EA=B3=BC=20=EC=97=AC=EB=B6=80=20boolean?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/response/PlaceDetailsGetResponse.java | 7 +++++-- .../domain/place/service/PlaceService.java | 14 ++++++++++---- .../review/repository/PlaceReviewRepository.java | 2 +- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/sopt/solply_server/domain/place/dto/response/PlaceDetailsGetResponse.java b/src/main/java/org/sopt/solply_server/domain/place/dto/response/PlaceDetailsGetResponse.java index 130e842e..10134191 100644 --- a/src/main/java/org/sopt/solply_server/domain/place/dto/response/PlaceDetailsGetResponse.java +++ b/src/main/java/org/sopt/solply_server/domain/place/dto/response/PlaceDetailsGetResponse.java @@ -26,12 +26,14 @@ public record PlaceDetailsGetResponse( boolean isBookmarked, long townId, String townName, - List latestReviews + List latestReviews, + boolean hasMoreReviews ) { public static PlaceDetailsGetResponse of(Place place, String mainTag, List optionTags, List placeImageInfos, boolean isBookmarked, Town town, - List latestReviews) { + List latestReviews, + boolean hasMoreReviews) { return PlaceDetailsGetResponse.builder() .placeId(place.getId()) .placeName(place.getName()) @@ -50,6 +52,7 @@ public static PlaceDetailsGetResponse of(Place place, String mainTag, List latestReviews = placeReviewRepository - .findTop3ByPlaceIdOrderByCreatedAtDesc(placeId) - .stream() + List reviews = placeReviewRepository + .findTop4ByPlaceIdOrderByCreatedAtDesc(placeId); + + boolean hasMoreReviews = reviews.size() > 3; + + List latestReviews = reviews.stream() + .limit(3) .map(review -> PlaceLatestReviewDto.from(review, imageUrlProvider)) .toList(); Town town = place.getTown(); @@ -101,7 +106,8 @@ public PlaceDetailsGetResponse getPlaceDetailsById(final Long userId, final Long imageInfos, isBookmarked, town, - latestReviews + latestReviews, + hasMoreReviews ); } diff --git a/src/main/java/org/sopt/solply_server/domain/review/repository/PlaceReviewRepository.java b/src/main/java/org/sopt/solply_server/domain/review/repository/PlaceReviewRepository.java index 88c45c52..9344b79d 100644 --- a/src/main/java/org/sopt/solply_server/domain/review/repository/PlaceReviewRepository.java +++ b/src/main/java/org/sopt/solply_server/domain/review/repository/PlaceReviewRepository.java @@ -17,5 +17,5 @@ public interface PlaceReviewRepository extends JpaRepository order by pr.createdAt desc """) List findAllByPlaceIdOrderByCreatedAtDesc(@Param("placeId") Long placeId); - List findTop3ByPlaceIdOrderByCreatedAtDesc(Long placeId); + List findTop4ByPlaceIdOrderByCreatedAtDesc(Long placeId); } \ No newline at end of file