docs: CHANGELOG v0.1.15+v0.1.16 기록 + #322 설계서 Approved
This commit is contained in:
22
CHANGELOG.md
22
CHANGELOG.md
@@ -6,6 +6,28 @@
|
|||||||
|
|
||||||
## 2026-06-15
|
## 2026-06-15
|
||||||
|
|
||||||
|
### 🧹 #322 LLM 검증으로 잘못된/프랜차이즈 식당 자동 숨김 (v0.1.16)
|
||||||
|
- DB 마이그레이션: restaurants에 hidden(NUMBER(1)), hidden_reason(VARCHAR2(120)), verified_at(TIMESTAMP) + idx_restaurants_hidden
|
||||||
|
- 도메인/Mapper/Service 확장: includeHidden 옵션, updateVerification, findUnverified 등
|
||||||
|
- 신규 RestaurantVerifyService:
|
||||||
|
- verifyAsync (신규 등록 자동 검증)
|
||||||
|
- verifyAll (백필, 식당당 200ms sleep)
|
||||||
|
- parseVerifyResponse (안전 기본값: 파싱 실패 시 valid=true → hidden 유지)
|
||||||
|
- PipelineService.processExtract 끝에 verifyAsync(restId) 자동 호출
|
||||||
|
- AdminRestaurantController 신규 (requireAdmin):
|
||||||
|
- GET /api/admin/restaurants/verify/pending
|
||||||
|
- POST /api/admin/restaurants/verify/all?batchSize=10
|
||||||
|
- POST /api/admin/restaurants/{id}/verify
|
||||||
|
- PATCH /api/admin/restaurants/{id}/hidden
|
||||||
|
- 어드민 UI는 후속 #323으로 분리
|
||||||
|
- Refs: #322 (close)
|
||||||
|
|
||||||
|
### 📺 #291 publishedAfter 페이징 조기 종료 버그 (v0.1.15) + dev/prod 데몬 분리
|
||||||
|
- YouTubeService.fetchChannelVideos: stopPaging 플래그로 조기 종료 정확화 → 백필 효율 + YouTube API quota 절약
|
||||||
|
- DaemonScheduler에 app.daemon.enabled (env DAEMON_ENABLED) 플래그
|
||||||
|
- dev/prod가 같은 Oracle ATP를 공유하는 환경에서 dev DAEMON_ENABLED=false로 중복 폴링 차단
|
||||||
|
- Refs: #291 #275 #321
|
||||||
|
|
||||||
### ♿ #301+#302 모달 접근성 + race condition + 필터 상태 동기화 (v0.1.14)
|
### ♿ #301+#302 모달 접근성 + race condition + 필터 상태 동기화 (v0.1.14)
|
||||||
- 공통 훅 `frontend/src/lib/hooks/useModalA11y.ts` 신규 (useEscapeKey, useFocusTrap, useBodyScrollLock)
|
- 공통 훅 `frontend/src/lib/hooks/useModalA11y.ts` 신규 (useEscapeKey, useFocusTrap, useBodyScrollLock)
|
||||||
- BottomSheet/FilterSheet: role='dialog', aria-modal, aria-label/labelledby, ESC 닫기, focus trap
|
- BottomSheet/FilterSheet: role='dialog', aria-modal, aria-label/labelledby, ESC 닫기, focus trap
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# 설계서: LLM 검증으로 잘못된/프랜차이즈 식당 자동 숨김 (#322)
|
# 설계서: LLM 검증으로 잘못된/프랜차이즈 식당 자동 숨김 (#322)
|
||||||
|
|
||||||
> **상태**: Draft <!-- Draft | Approved | Superseded -->
|
> **상태**: Approved <!-- Draft | Approved | Superseded -->
|
||||||
> **작성**: [AI] Architect · **최종수정**: 2026-06-15
|
> **작성**: [AI] Architect · **최종수정**: 2026-06-15
|
||||||
> **추적성** — Redmine: #322 · 관련 ADR: 없음
|
> **추적성** — Redmine: #322 · 관련 ADR: 없음
|
||||||
> · 구현 파일: `backend-java/src/main/java/com/tasteby/service/RestaurantVerifyService.java`(신규), `backend-java/src/main/java/com/tasteby/domain/Restaurant.java`(필드 3개 추가), `backend-java/src/main/resources/mybatis/mapper/RestaurantMapper.xml`(컬럼 매핑), `backend-java/src/main/java/com/tasteby/service/RestaurantService.java`(필터링), DB 마이그레이션 SQL
|
> · 구현 파일: `backend-java/src/main/java/com/tasteby/service/RestaurantVerifyService.java`(신규), `backend-java/src/main/java/com/tasteby/domain/Restaurant.java`(필드 3개 추가), `backend-java/src/main/resources/mybatis/mapper/RestaurantMapper.xml`(컬럼 매핑), `backend-java/src/main/java/com/tasteby/service/RestaurantService.java`(필터링), DB 마이그레이션 SQL
|
||||||
|
|||||||
Reference in New Issue
Block a user