Skip to content

Commit

Permalink
Merge pull request #185 from Step3-kakao-tech-campus/refactor/jd
Browse files Browse the repository at this point in the history
리뷰 이미지 조회 버그 수정
  • Loading branch information
seokwns authored Nov 10, 2023
2 parents ab35abf + d4f351d commit 6c92b54
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 13 deletions.
Original file line number Diff line number Diff line change
@@ -1,33 +1,40 @@
package com.kakao.sunsuwedding.review;

import com.kakao.sunsuwedding.review.image.ReviewImageItem;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public class ReviewDTOConverter {
public ReviewResponse.FindAllByPlannerDTO getFindAllByPlannerDTO(List<Review> reviews, List<String> images) {
public ReviewResponse.FindAllByPlannerDTO getFindAllByPlannerDTO(List<Review> reviews, List<ReviewImageItem> reviewImageItems) {
List<ReviewResponse.FindByUserDTO> reviewDTOS = reviews.stream()
.map(review -> new ReviewResponse.FindByUserDTO(
review.id,
(review.getMatch().getCouple() != null) ? review.getMatch().getCouple().getUsername() : "탈퇴한 사용자" ,
review.stars,
review.content,
images
reviewImageItems.stream()
.filter(reviewImageItem -> reviewImageItem.getReview().getId().equals(review.id))
.map(ReviewImageItem::getImage)
.toList()
))
.toList();

return new ReviewResponse.FindAllByPlannerDTO(reviewDTOS);
}

public ReviewResponse.FindAllByCoupleDTO getFindAllByCoupleDTO(List<Review> reviews, List<String> images) {
public ReviewResponse.FindAllByCoupleDTO getFindAllByCoupleDTO(List<Review> reviews, List<ReviewImageItem> reviewImageItems) {
List<ReviewResponse.FindByUserDTO> reviewDTOS = reviews.stream()
.map(review -> new ReviewResponse.FindByUserDTO(
review.id,
(review.getMatch().getPlanner() != null) ? review.getMatch().getPlanner().getUsername() : "탈퇴한 사용자" ,
review.stars,
review.content,
images
reviewImageItems.stream()
.filter(reviewImageItem -> reviewImageItem.getReview().getId().equals(review.id))
.map(ReviewImageItem::getImage)
.toList()
))
.toList();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import com.kakao.sunsuwedding.portfolio.Portfolio;
import com.kakao.sunsuwedding.portfolio.PortfolioJPARepository;
import com.kakao.sunsuwedding.portfolio.PortfolioServiceImpl;
import com.kakao.sunsuwedding.review.image.ReviewImageItem;
import com.kakao.sunsuwedding.review.image.ReviewImageItemJPARepository;
import com.kakao.sunsuwedding.review.image.ReviewImageItemService;
import com.kakao.sunsuwedding.user.base_user.User;
Expand Down Expand Up @@ -71,17 +72,17 @@ public ReviewResponse.FindAllByPlannerDTO findReviewsByPlanner(int page, Long pl
Pageable pageable = PageRequest.of(page, PAGE_SIZE);
Page<Review> pageContent = reviewJPARepository.findAllByMatchPlannerId(plannerId, pageable);
List<Review> reviews = pageContent.getContent();
List<String> images = reviewImageItemJPARepository.findByPlannerId(plannerId);
List<ReviewImageItem> reviewImageItems = reviewImageItemJPARepository.findByReviewMatchPlannerId(plannerId);

return reviewDTOConverter.getFindAllByPlannerDTO(reviews, images);
return reviewDTOConverter.getFindAllByPlannerDTO(reviews, reviewImageItems);
}

public ReviewResponse.FindAllByCoupleDTO findReviewsByCouple(User user) {

List<Review> reviews = reviewJPARepository.findAllByMatchCoupleId(user.getId());
List<String> images = reviewImageItemJPARepository.findByCoupleId(user.getId());
List<ReviewImageItem> reviewImageItems = reviewImageItemJPARepository.findByReviewMatchCoupleId(user.getId());

return reviewDTOConverter.getFindAllByCoupleDTO(reviews, images);
return reviewDTOConverter.getFindAllByCoupleDTO(reviews, reviewImageItems);
}

public ReviewResponse.ReviewDTO findReviewById(User user, Long reviewId) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,8 @@ public interface ReviewImageItemJPARepository extends JpaRepository<ReviewImageI
@Query("delete from ReviewImageItem r where r.review.id = :reviewId")
void deleteAllByReviewId(@Param("reviewId") Long reviewId);

@Query("select r.image from ReviewImageItem r where r.review.match.planner.id = :plannerId")
List<String> findByPlannerId(@Param("plannerId") Long plannerId);

@Query("select r.image from ReviewImageItem r where r.review.match.couple.id = :coupleId")
List<String> findByCoupleId(@Param("coupleId") Long coupleId);
List<ReviewImageItem> findByReviewMatchPlannerId(@Param("plannerId") Long plannerId);
List<ReviewImageItem> findByReviewMatchCoupleId(@Param("coupleId") Long coupleId);

@Query("select r.image from ReviewImageItem r where r.review.id = :reviewId")
List<String> findByReviewId(@Param("reviewId") Long reviewId);
Expand Down

0 comments on commit 6c92b54

Please sign in to comment.