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