Skip to content

fix: 알코올 별점 표시를 소수점 첫째 자리로 통일 - #741

Open
bottlenote-app[bot] wants to merge 8 commits into
mainfrom
fix/alcohol-rating-display-430
Open

fix: 알코올 별점 표시를 소수점 첫째 자리로 통일#741
bottlenote-app[bot] wants to merge 8 commits into
mainfrom
fix/alcohol-rating-display-430

Conversation

@bottlenote-app

@bottlenote-app bottlenote-app Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

개요

Product 알코올 별점 표시 정밀도를 소수점 첫째 자리로 통일합니다.

변경 내용

  • 상세·둘러보기·인기·조회이력의 전체 별점을 alcoholId별 평균 소수점 1자리로 노출
  • 인증 사용자 리뷰 별점은 userId + alcoholId + ACTIVE의 최신 id 1건을 결정적으로 노출
  • 무리뷰/비인증은 기존 0.0 계약 유지
  • 별점 필터의 기존 0.5 단위와 raw 평균 기반 정렬/cursor 유지
  • 4.0·4.5·4.6, 다건/비활성 리뷰, 필터 경계, 인기/조회이력 회귀 테스트 추가

검증

  • git diff --check 통과
  • Grok blocker 수정 후 Codex 독립 재리뷰 통과
  • 로컬 Gradle/JVM/Testcontainers는 머신 제약으로 미실행
  • GitHub Actions compile/rule/integration 확인 예정

제외 범위

  • 원천 점수 저장·Admin 별점·FE UI·DB migration 변경 없음

관련: bottle-note/workspace#430

@bottlenote-app

bottlenote-app Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor Author

코드 리뷰 결과

다음 사항은 merge 전 확인·수정이 필요합니다.

1. myAvgRating 의미 변경과 요구사항 충돌

  • 위치: AlcoholQuerySupporter.java:100-119, 252-271
  • 기존에는 사용자의 리뷰 별점 평균을 반환했지만, 현재 변경은 최대 review ID의 ACTIVE 리뷰 한 건을 반환합니다.
  • workspace fix: 위스키 검색 로직 수정 (띄어쓰기 없이 검색 가능하도록 대응) #430 본문은 "별점 산정 원천 데이터·집계 로직 변경"을 제외하지만, 보완 댓글은 "사용자 리뷰 1건"을 요구하여 계약이 충돌합니다.
  • 복수 ACTIVE 리뷰가 가능한 현재 모델에서 "최신 ID 한 건" 선택 규칙도 명시돼 있지 않습니다.
  • 평균 의미를 유지하고 표시 정밀도만 변경할지, 최신 리뷰 단건을 새 계약으로 확정할지 먼저 정리해야 합니다. 단건 계약이라면 myAvgRating 네이밍도 실제 의미와 맞지 않습니다.

2. 마이보틀 별점은 여전히 정수 반올림

  • 위치: RatingQuerySupporter.java:53-58, CustomUserRepositoryImpl.java:221-244
  • GET /api/v1/my-page/{userId}/my-bottle/ratingsaverageRatingPointavg().round()를 유지합니다.
  • 같은 평균이 상세·둘러보기에서는 4.6, 마이보틀에서는 5.0으로 반환될 수 있어 API 간 정밀도 규칙이 일치하지 않습니다.
  • 이 경로에도 소수점 첫째 자리 반올림 식을 적용하고 4.0, 4.5, 4.6 HTTP 회귀 테스트를 추가해야 합니다.

비차단 정리 사항

  • 소수점 첫째 자리용 displayedRating()CustomAlcoholQueryRepositoryImplCustomPopularQueryRepositoryImpl에 중복됐습니다. 기존 AlcoholQuerySupporter의 공통 helper 패턴을 활용하면 정책 재변경 시 경로별 불일치를 줄일 수 있습니다.

CI 설정, ArchUnit 규칙 또는 기존 assertion을 완화하는 우회는 확인되지 않았습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant