diff --git a/src/main/java/kopis/k_backend/review/controller/ReviewController.java b/src/main/java/kopis/k_backend/review/controller/ReviewController.java index 4379674..bc9cec8 100644 --- a/src/main/java/kopis/k_backend/review/controller/ReviewController.java +++ b/src/main/java/kopis/k_backend/review/controller/ReviewController.java @@ -46,6 +46,8 @@ public class ReviewController { private final PairService pairService; private final RankService rankService; + private final ReviewConverter reviewConverter; + @Operation(summary = "리뷰 만들기 메서드", description = "리뷰를 만드는 메서드입니다.") @ApiResponses(value = { @io.swagger.v3.oas.annotations.responses.ApiResponse(responseCode = "REVIEW_2011", description = "리뷰 생성이 완료되었습니다.") @@ -184,7 +186,7 @@ public ApiResponse getMyReview( ){ Review review = reviewService.findById(reviewId); - return ApiResponse.onSuccess(SuccessCode.REVIEW_MY_SUCCESS, ReviewConverter.myReviewResDto(review)); + return ApiResponse.onSuccess(SuccessCode.REVIEW_MY_SUCCESS, reviewConverter.myReviewResDto(review)); } diff --git a/src/main/java/kopis/k_backend/review/converter/ReviewConverter.java b/src/main/java/kopis/k_backend/review/converter/ReviewConverter.java index 5073d9f..32911ef 100644 --- a/src/main/java/kopis/k_backend/review/converter/ReviewConverter.java +++ b/src/main/java/kopis/k_backend/review/converter/ReviewConverter.java @@ -1,7 +1,9 @@ package kopis.k_backend.review.converter; import kopis.k_backend.pair.domain.Pair; +import kopis.k_backend.performance.domain.Actor; import kopis.k_backend.performance.domain.Performance; +import kopis.k_backend.performance.repository.ActorRepository; import kopis.k_backend.review.domain.Review; import kopis.k_backend.review.domain.ViewingPartner; import kopis.k_backend.review.dto.ReviewRequestDto.ReviewReqDto; @@ -12,13 +14,18 @@ import kopis.k_backend.review.dto.ReviewResponseDto.ReviewListResDto; import kopis.k_backend.user.domain.User; import lombok.NoArgsConstructor; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Component; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; -@NoArgsConstructor +@Component +@RequiredArgsConstructor public class ReviewConverter { + private final ActorRepository actorRepository; + public static Review saveReview(ReviewReqDto review, User user, Performance performance, Pair pair){ return Review.builder() .writer(user) @@ -104,7 +111,14 @@ public static MonthReviewListResDto monthReviewListResDto(List reviews, .build(); } - public static MyReviewResDto myReviewResDto(Review review) { + public MyReviewResDto myReviewResDto(Review review) { + + Actor actor1 = actorRepository.findById(review.getPair().getActor1()) + .orElseThrow(() -> new RuntimeException("actor not found")); + + Actor actor2 = actorRepository.findById(review.getPair().getActor2()) + .orElseThrow(() -> new RuntimeException("actor not found")); + return MyReviewResDto.builder() .id(review.getId()) .performanceName(review.getPerformance().getTitle()) @@ -116,6 +130,9 @@ public static MyReviewResDto myReviewResDto(Review review) { .hashtag(review.getHashtag()) .viewingPartner(review.getViewingPartner()) .memo(review.getMemo()) + .content(review.getContent()) + .actor1Name(actor1.getActorName()) + .actor2Name(actor2.getActorName()) .build(); } } diff --git a/src/main/java/kopis/k_backend/review/dto/ReviewResponseDto.java b/src/main/java/kopis/k_backend/review/dto/ReviewResponseDto.java index 967bad6..e8259a3 100644 --- a/src/main/java/kopis/k_backend/review/dto/ReviewResponseDto.java +++ b/src/main/java/kopis/k_backend/review/dto/ReviewResponseDto.java @@ -116,6 +116,9 @@ public static class MyReviewResDto { @Schema(description = "리뷰 id") private Long id; + @Schema(description = "리뷰 내용") + private String content; + @Schema(description = "공연 이름") private String performanceName; @@ -131,6 +134,12 @@ public static class MyReviewResDto { @Schema(description = "공연 만족도") private Integer performanceRatings; + @Schema(description = "배우1 이름") + private String actor1Name; + + @Schema(description = "배우2 이름") + private String actor2Name; + @Schema(description = "페어 만족도") private Integer pairRatings;