From ef6c0c1d767b13bf6dd4f895d00137fcda4e2c30 Mon Sep 17 00:00:00 2001 From: mino Date: Tue, 18 Nov 2025 19:14:04 +0900 Subject: [PATCH] =?UTF-8?q?feat=20:=20review=20=EC=A1=B0=ED=9A=8C=20api=20?= =?UTF-8?q?cardinal=20=ED=95=84=ED=84=B0=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../website/domain/review/ReviewController.java | 15 ++++++++++++--- .../website/domain/review/ReviewRepository.java | 4 ++++ .../website/domain/review/ReviewService.java | 11 +++++++++++ 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/kusitms/website/domain/review/ReviewController.java b/src/main/java/com/kusitms/website/domain/review/ReviewController.java index d93b865..78efb7c 100644 --- a/src/main/java/com/kusitms/website/domain/review/ReviewController.java +++ b/src/main/java/com/kusitms/website/domain/review/ReviewController.java @@ -32,13 +32,22 @@ public class ReviewController { @ApiResponse(responseCode = "200", description = "조회 성공", content = @Content(schema = @Schema(implementation = ReviewDetailResponse.class))), }) - public ResponseEntity getReviews(@RequestParam(required = false) Team team) { + public ResponseEntity getReviews(@RequestParam(required = false) Team team, + @RequestParam(required = false) Integer cardinal) { ReviewResponse reviewResponse; - if (team == null) { + if (team == null && cardinal == null) { reviewResponse = reviewService.getAllReviews(); - } else { + } + else if (team != null && cardinal == null) { reviewResponse = reviewService.getReviewsByTeam(team); } + else if (team == null && cardinal != null) { + reviewResponse = reviewService.getReviewsByCardinal(cardinal); + } + else { + reviewResponse = reviewService.getReviewsByTeamAndCardinal(team, cardinal); + } + return ResponseEntity.ok(new BaseResponse(reviewResponse)); } } diff --git a/src/main/java/com/kusitms/website/domain/review/ReviewRepository.java b/src/main/java/com/kusitms/website/domain/review/ReviewRepository.java index 4eb631d..a55d237 100644 --- a/src/main/java/com/kusitms/website/domain/review/ReviewRepository.java +++ b/src/main/java/com/kusitms/website/domain/review/ReviewRepository.java @@ -9,4 +9,8 @@ public interface ReviewRepository extends JpaRepository { List findAllByOrderByReviewIdDesc(); List findByTeamOrderByReviewIdDesc(Team team); + + List findByCardinalOrderByReviewIdDesc(Integer cardinal); + + List findByTeamAndCardinalOrderByReviewIdDesc(Team team, Integer cardinal); } diff --git a/src/main/java/com/kusitms/website/domain/review/ReviewService.java b/src/main/java/com/kusitms/website/domain/review/ReviewService.java index 1992e46..0af0ea5 100644 --- a/src/main/java/com/kusitms/website/domain/review/ReviewService.java +++ b/src/main/java/com/kusitms/website/domain/review/ReviewService.java @@ -39,4 +39,15 @@ private ReviewResponse buildReviewResponse(List findReviews) { .reviewList(reviewDetailResponses) .build(); } + + public ReviewResponse getReviewsByCardinal(Integer cardinal) { + List findReviews = reviewRepository.findByCardinalOrderByReviewIdDesc(cardinal); + return buildReviewResponse(findReviews); + } + + public ReviewResponse getReviewsByTeamAndCardinal(Team team, Integer cardinal) { + List findReviews = + reviewRepository.findByTeamAndCardinalOrderByReviewIdDesc(team, cardinal); + return buildReviewResponse(findReviews); + } } \ No newline at end of file