Skip to content

[#368] 사전의견 임시저장 및 스케쥴링 추가#369

Merged
JWoong-01 merged 2 commits into
devfrom
fix/pre-opinion-review
Apr 13, 2026
Merged

[#368] 사전의견 임시저장 및 스케쥴링 추가#369
JWoong-01 merged 2 commits into
devfrom
fix/pre-opinion-review

Conversation

@JWoong-01
Copy link
Copy Markdown
Contributor

PR 요약

이 PR이 어떤 변경을 하는지 간단히 설명하고, 체크 표시는 괄호 사이에 소문자 'x'를 삽입하세요.

  • 기능 추가
  • 버그 수정
  • 코드 리팩토링
  • 문서 수정
  • 기타 (설명)

사전의견 책 평가가 실제 내 책장 리뷰에 즉시 반영되던 문제를 수정했습니다.
임시저장 시에는 사전의견 전용 테이블에만 저장하고, 공유하기 또는 약속 당일 자동 공유 시 실제 책장 리뷰에 반영되도록 변경했습니다.

———

이슈 번호

———

주요 변경 사항

주요 파일, 로직, 컴포넌트 등을 구체적으로 적어주세요.

  • PreOpinionBookReview, PreOpinionBookReviewKeyword: 사전의견 전용 책 평가와 키워드 저장 엔티티 추가
  • PreOpinionBookReviewRepository: 사전의견 전용 책 평가 조회 repository 추가
  • PreOpinionBookReviewService: 사전의견 책 평가 저장/조회 및 실제 book_review 반영 로직 추가
  • TopicAnswerService: 임시저장 시 사전의견 전용 저장소만 사용하고, 제출/공유 시 실제 책장 리뷰에도 반영되도록 변경
  • PreOpinionService: 사전의견 목록 조회 시 기존 book_review가 아닌 사전의견 전용 책 평가를 조회하도록 변경
  • PreOpinionAutoShareService: 약속 시작 시간이 지난 임시저장 사전의견을 자동 공유 처리하는 서비스 추가
  • MeetingStatusScheduler: 기존 약속 종료 상태 변경 스케줄러에 사전의견 자동 공유 처리 추가
  • MeetingRepository, TopicAnswerRepository: 자동 공유 대상 약속 및 임시저장 답변 조회 쿼리 추가
  • TopicAnswerApi 및 관련 DTO Swagger 설명: 임시저장/공유/자동 반영 정책에 맞게 API 문구 수정
  • pre_opinion_book_review.sql: 운영 DB 수동 적용용 사전의견 책 평가 테이블 DDL 추가

———

참고 사항

리뷰어가 알아야 할 추가 정보, 테스트 방법 등을 작성해주세요.

  • API 요청/응답 스키마는 기존과 동일하게 유지했습니다.
  • reviewId는 사전의견 저장/조회/제출 응답에서 pre_opinion_book_review_id를 의미합니다.
  • 임시저장 API:
    • POST /api/gatherings/{gatheringId}/meetings/{meetingId}/answers
    • PATCH /api/gatherings/{gatheringId}/meetings/{meetingId}/answers/me
    • 사전의견 전용 테이블에만 저장되며, 내 책장 리뷰에는 반영되지 않습니다.
  • 공유하기 API:
    • PATCH /api/gatherings/{gatheringId}/meetings/{meetingId}/answers/submit
    • 사전의견을 제출 상태로 바꾸고, 책 평가를 실제 book_review에도 반영합니다.
  • 약속 당일 자동 공유:
    • 스케줄러가 시작 시간이 지난 CONFIRMED 약속 중 임시저장 답변이 있는 약속을 찾아 자동 제출 처리합니다.
    • 자동 공유 시에도 사전의견 책 평가가 실제 book_review에 반영됩니다.
  • 운영/ddl-auto: none 환경에서는 src/main/resources/data/pre_opinion_book_review.sql 적용이 필요합니다.

테스트:

./gradlew test

@JWoong-01 JWoong-01 added this to the MVP v3 milestone Apr 13, 2026
@JWoong-01 JWoong-01 self-assigned this Apr 13, 2026
@JWoong-01 JWoong-01 merged commit 6a42379 into dev Apr 13, 2026
1 check passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in dokdok-server Apr 13, 2026
@dkqpeo dkqpeo deleted the fix/pre-opinion-review branch May 5, 2026 09:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant