목적
사용자가 새 빵집 등록 또는 기존 빵집 정보 수정을 제보할 수 있는 기능이 필요합니다. 또한 제보를 통해 생성된 빵집이 관리자 승인 전까지 일반 사용자에게 노출되지 않도록 빵집 상태(PENDING/APPROVED/REJECTED) 관리 체계를 도입합니다.
작업 내용
- BakeryReport 엔티티 추가 (NEW_BAKERY / UPDATE_BAKERY 타입 분리)
- POST /bakeries/reports/new, /bakeries/reports/update 제보 등록 API 추가
- NEW_BAKERY 제보 승인 시 PENDING 상태 빵집 자동 생성
- UPDATE_BAKERY 승인 시 ADDRESS/DISTRICT 자동 반영, 나머지 필드는 수동 처리
- AdminBakeryController: PENDING→APPROVED/REJECTED 처리 및 승인 전 필수 필드 검증 (name, address, lat/lng, region, dong, bakeryType)
- 전 도메인(리뷰, 코스, 혼잡도, AI 코스) 사용자 노출 쿼리에 APPROVED 필터 적용
- createBakery 권한 검사 누락 수정 (ADMIN/BUSINESS만 허용)
- Bakery.update() lat/lng 중 하나만 변경돼도 location geometry 갱신되도록 수정
- BakeryAdminResponse DTO 추가 (위경도 0.0 시 null 반환)
- Flyway V18: bakery_report 테이블 추가
영향 범위
- 엔티티: Bakery, BakeryReport (신규)
- 엔드포인트: POST /bakeries/reports/new, /bakeries/reports/update, GET /admin/bakery-reports, POST /admin/bakery-reports/{id}/approve|reject, GET /admin/bakeries, POST /admin/bakeries/{id}/approve|reject
- 모듈: bakery, course, congestion (BakeryRepository 조회 메서드 시그니처 변경)
완료 조건
관련 이슈 / 참고
- BUSINESS_HOURS, REPRESENTATIVE_MENU 등 복잡한 필드 수정 제보는 현재 로그만 남기며 수동 반영 필요 (추후 개선 예정)
목적
작업 내용
영향 범위
완료 조건
관련 이슈 / 참고