Skip to content

[#457][FIX] 책 상세 독서모임 필터에 무관한 모임이 뜨던 문제 수정 - #458

Merged
onuyyy merged 1 commit into
devfrom
fix/book-gathering-filter-by-meeting
Jun 17, 2026
Merged

[#457][FIX] 책 상세 독서모임 필터에 무관한 모임이 뜨던 문제 수정#458
onuyyy merged 1 commit into
devfrom
fix/book-gathering-filter-by-meeting

Conversation

@onuyyy

@onuyyy onuyyy commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

PR 요약

책 상세의 독서모임 필터(GET /api/book/{personalBookId}/gatherings)가 그 책과 무관한 모임까지 노출하던 문제를 수정합니다. 필터 기준을 personal_book.gathering_id 에서 meeting 기반(그 책으로 약속이 잡혔고 내가 멤버인 모임)으로 변경했습니다.

  • 버그 수정

이슈 번호

Closes #457


주요 변경 사항

  • PersonalBookRepository.findActiveGatheringsWithMeetingsByUserAndBook: personal_book JOIN → meeting 기반으로 교체. m.book_id = :bookId 이고 사용자가 meeting_member 인 모임의 gathering 만 DISTINCT 반환. 파라미터도 personalBookIdbookId.
  • PersonalReadingRecordService.getGatheringsForBook: personalBook.getBook().getId() 로 실제 bookId 를 해석해 전달.
  • PersonalReadingRecordServiceTest: 서비스가 personalBookId(10L) 가 아닌 실제 bookId(100L) 로 조회하는지 검증(회귀 방지).
  • PersonalBookRepositoryGatheringFilterTest(신규, @DataJpaTest): 무관한 책 모임 제외 / 미참여 모임 제외 / 중복 제거 검증.

참고 사항

  • 동작 근거: 모임 책장은 별도 테이블이 아니라 그 모임의 약속에 달린 책에서 도출되므로(meeting.book_id), 필터도 동일 기준이 맞음. 타임라인(m.book_id) 이 보여주는 모임 집합과 일치.
  • 엣지: 그룹 회고만 있고 그 책 약속엔 미참여인 모임은 필터에 안 뜰 수 있음(meeting_member 기준). QA 의도(무관 모임 제거)엔 부합.
  • 직전 커밋 32edb81("책장 id에 해당하는 모임만 출력") 의 과교정(단일 personal_book 행 조회 → 개인 책장 사본 진입 시 빈 목록)도 함께 해소.
  • 테스트: ./gradlew test --tests "*PersonalBookRepositoryGatheringFilterTest" --tests "*PersonalReadingRecordServiceTest" 통과.

🤖 Generated with Claude Code

getGatheringsForBook 의 필터 목록을 personal_book.gathering_id 기반에서
meeting 기반으로 변경. 그 책으로 약속(meeting.book_id)이 잡혔고 사용자가
그 약속의 멤버(meeting_member)인 모임만 반환한다.

- 기존(32edb81): personal_book_id 단일 행만 조회 → 개인 책장 사본(gathering
  null) 진입 시 빈 목록, 같은 책이 여러 모임에서 읽혀도 1개만 노출.
- meeting 기반은 모임 책장 도출 방식(약속에 달린 책)과 일치하며,
  타임라인(m.book_id) 이 보여주는 모임 집합과 동일.

서비스는 personalBookId 를 실제 bookId 로 변환해 전달. 회귀 테스트로
@DataJpaTest(PersonalBookRepositoryGatheringFilterTest) 추가.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@onuyyy
onuyyy merged commit b1ed3a2 into dev Jun 17, 2026
2 checks passed
@onuyyy
onuyyy deleted the fix/book-gathering-filter-by-meeting branch June 17, 2026 07:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] 책 상세 독서모임 필터에 그 책과 무관한 모임이 표시됨

1 participant