카페 도메인 - 변수 추가
private int cafeReviewScore;
리뷰 등록시 리뷰 점수 증가
@Transactional
public void saveCafeReview(CafeReviewRequestDto requestDto, Long cafeNumber, User securityUser) {
User user = userRepoistory.getById(securityUser.getId());
Cafe cafe = cafeRepository.findById(cafeNumber).orElseThrow(
() -> new IllegalArgumentException(CAFE_NOT_FOUND.getMessage())
);
.. 생략 ..
int newCafeReviewScore = cafe.getCafeReviewScore() + requestDto.getReviewRating();
cafe.updateCafeReviewScore(newCafeReviewScore);
cafeReviewRepository.save(cafeReview);
}
리뷰 삭제시 리뷰 점수 감소
public void removeCafeReviewByReviewId(Long id) {
CafeReview reviewById = cafeReviewRepository.getById(id);
Cafe cafe = reviewById.getCafe();
int newCafeReviewScore = cafe.getCafeReviewScore() - cafeReviewRepository.getById(id).getCafeReviewRating();
cafe.updateCafeReviewScore(newCafeReviewScore);
cafeReviewRepository.deleteById(id);
}
페이지 데이터 호출시 : 리뷰점수 / 리뷰개수 -> 소수점 첫재짜리까지 표시
dto
if(cafe.getCafeReviewScore() == 0){
cafeAvgStarRate = "0.0";
}else {
DecimalFormat df = new DecimalFormat("0.0");
cafeAvgStarRate = df.format((float) cafe.getCafeReviewScore() / (float) cafe.getCafeReviews().size());
}
'프로그래밍 > JPA Project - sparta' 카테고리의 다른 글
가비아 도메인 연결 - Route53 (0) | 2022.07.19 |
---|---|
springboot multipart 파일 업로드 용량 초과 에러 해결방법 (0) | 2022.07.19 |
리뷰를 등록한 유저는 추가 등록 불가 처리 (0) | 2022.07.18 |
카페 삭제 기능 세부기능 추가 및 리팩토링 (0) | 2022.07.18 |
[타임리프] onclick에 매개변수 보내기 (0) | 2022.07.18 |