Skip to content

Commit 4f208da

Browse files
committed
fix: 리뷰 저장 시 평균 평점에 평점 반영
1 parent afde7e7 commit 4f208da

3 files changed

Lines changed: 42 additions & 14 deletions

File tree

src/main/java/com/ll/commars/domain/restaurant/restaurant/service/RestaurantService.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,18 @@ public ReviewDto.ReviewWriteResponse writeReview(Long restaurantId, ReviewDto.Re
153153
.rate(request.getRate())
154154
.build());
155155

156+
// 해당 식당의 모든 리뷰 평점 평균 계산
157+
List<Review> allReviews = reviewRepository.findByRestaurantId(restaurantId);
158+
double newAverageRate = allReviews.stream()
159+
.mapToInt(Review::getRate)
160+
.average()
161+
.orElse(0.0);
162+
System.out.println("newAverageRate = " + newAverageRate);
163+
164+
// 식당의 평균 평점 업데이트
165+
restaurant.setAverageRate(newAverageRate);
166+
restaurantRepository.save(restaurant);
167+
156168
return ReviewDto.ReviewWriteResponse.builder()
157169
.userName(user.get().getName())
158170
.reviewName(request.getReviewName())

src/main/java/com/ll/commars/domain/review/review/service/ReviewService.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,22 @@ public Review wirteReview(String restaurantId, String username, String name, Str
8989
.user(user.orElseThrow(() -> new IllegalArgumentException("User not found")))
9090
.build();
9191

92-
return reviewRepository.save(review);
92+
reviewRepository.save(review);
93+
94+
Long restaurantId2Long = Long.valueOf(restaurantId);
95+
96+
// 해당 식당의 모든 리뷰 평점 평균 계산
97+
List<Review> allReviews = reviewRepository.findByRestaurantId(restaurantId2Long);
98+
double newAverageRate = allReviews.stream()
99+
.mapToInt(Review::getRate)
100+
.average()
101+
.orElse(0.0);
102+
System.out.println("newAverageRate = " + newAverageRate);
103+
104+
// 식당의 평균 평점 업데이트
105+
restaurant.setAverageRate(newAverageRate);
106+
restaurantRepository.save(restaurant);
107+
108+
return review;
93109
}
94110
}

src/main/java/com/ll/commars/global/initData/BaseInitDataDev.java

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -63,19 +63,19 @@ public class BaseInitDataDev {
6363
@Bean
6464
public ApplicationRunner baseInitDataApplicationRunner() {
6565
return args -> {
66-
truncateAll();
67-
68-
// 테이블 연관관계 순서대로
69-
userInit();
70-
restaurantCategoryInit();
71-
72-
communityInit();
73-
restaurantInit();
74-
75-
reviewInit();
76-
restaurantMenuInit();
77-
businessHourInit();
78-
favoriteInit();
66+
// truncateAll();
67+
//
68+
// // 테이블 연관관계 순서대로
69+
// userInit();
70+
// restaurantCategoryInit();
71+
//
72+
// communityInit();
73+
// restaurantInit();
74+
//
75+
// reviewInit();
76+
// restaurantMenuInit();
77+
// businessHourInit();
78+
// favoriteInit();
7979
};
8080
}
8181

0 commit comments

Comments
 (0)