발견 경위
2026.05.06 백엔드 주간 스크럼 미팅에서 보고됨.
소테른 캐스크 별점 노출이 안되는 케이스
리뷰 수정시 리뷰의 별점도 업데이트 되도록 처리. 현재는 최초의 별점만 유지됨.
증상
특정 위스키(예: 소테른 캐스크) 상세 페이지에서 별점이 노출되지 않는 케이스 발생.
원인
리뷰 수정 API(PATCH /api/v1/reviews/{reviewId})가 reviews.review_rating 컬럼을 갱신하지 않음. 사용자가 리뷰를 수정해도 작성 시점의 별점이 영구 유지되어, 이후 별점만 변경한 경우 리뷰에 박힌 별점과 사용자의 현재 별점이 영구적으로 어긋날 수 있음.
ReviewModifyRequest에 rating 필드 자체가 없었음
ReviewModifyRequestWrapperItem / Review#update() 어디에서도 reviewRating 갱신 로직이 없었음
조치
리뷰 수정 시점에 입력받은 별점을 reviews.review_rating에 반영하도록 수정.
- 정책 결정:
ratings 테이블은 건드리지 않고 reviews.review_rating 스냅샷만 갱신 (작성 API와 동일한 정책)
rating 누락/null 시 0.0으로 fallback (작성 API와 동일)
- 별점 검증(
0.0~5.0, 0.5 단위)은 기존 RatingPoint.of() 재사용
관련 PR: bottle-note/bottle-note-api-server#589
이 내용은 Claude Opus 4.7(1M context)로 정리한 내용입니다.
발견 경위
2026.05.06 백엔드 주간 스크럼 미팅에서 보고됨.
증상
특정 위스키(예: 소테른 캐스크) 상세 페이지에서 별점이 노출되지 않는 케이스 발생.
원인
리뷰 수정 API(
PATCH /api/v1/reviews/{reviewId})가reviews.review_rating컬럼을 갱신하지 않음. 사용자가 리뷰를 수정해도 작성 시점의 별점이 영구 유지되어, 이후 별점만 변경한 경우 리뷰에 박힌 별점과 사용자의 현재 별점이 영구적으로 어긋날 수 있음.ReviewModifyRequest에rating필드 자체가 없었음ReviewModifyRequestWrapperItem/Review#update()어디에서도reviewRating갱신 로직이 없었음조치
리뷰 수정 시점에 입력받은 별점을
reviews.review_rating에 반영하도록 수정.ratings테이블은 건드리지 않고reviews.review_rating스냅샷만 갱신 (작성 API와 동일한 정책)rating누락/null 시0.0으로 fallback (작성 API와 동일)0.0~5.0,0.5단위)은 기존RatingPoint.of()재사용관련 PR: bottle-note/bottle-note-api-server#589