### 🔎 개요 - 심각도: P1 (동일 원인으로 1시간 내 재발, 실사용자 영향 확인됨) - 분류: CoopSemester 자동 전환 시 데이터 정합성 검증 부재 ### 관찰 결과 - `CoopShopScheduler`(매일 00:05)가 `CoopShopService.updateSemester()`를 호출해 자동 전환을 시도함 - `validateSemester()`는 오늘 날짜가 `from_date`~`to_date` 범위에 포함되는지만 검증하고, **그 학기에 실제 매장(CoopShop) 데이터가 있는지는 검증하지 않음** - 1차 발생: 26-2학기 row가 날짜만 등록된 채 매장 데이터 없이 적용되어 `coop_shops: []` 및 404 장애 발생 (2026-09-18) - 2차 발생: 관리자가 admin에서 학기만 추가하고 생협 매장 엑셀 업로드를 누락하여 동일한 404 장애 약 1시간 내 재발 (`coopNameId: 1, semesterId: 9`) - admin에서 '학기 추가'와 '매장 데이터 업로드'가 별개 단계로 분리되어 있고, 이에 대한 문서화가 없어 반복적으로 누락되는 것으로 보임 - 실패 시 알림/모니터링이 없어 매번 사용자/FE 리포트로만 인지됨 ### 영향 범위 - 전체 생협 매장 조회 API (`GET /coopshop`, `GET /coopshop/{coopNameId}`) ### ✅ 완료 조건 - 학기 전환 시 매장 데이터가 없으면 전환을 보류하거나, 최소한 관리자에게 알림이 가도록 개선 - (선택) admin 학기 추가 시 매장 데이터 동시 입력을 유도하는 가이드/검증 추가 - 매장 데이터 없이 전환되는 상황에 대한 테스트 케이스 추가
🔎 개요
관찰 결과
CoopShopScheduler(매일 00:05)가CoopShopService.updateSemester()를 호출해 자동 전환을 시도함validateSemester()는 오늘 날짜가from_date~to_date범위에 포함되는지만 검증하고, 그 학기에 실제 매장(CoopShop) 데이터가 있는지는 검증하지 않음coop_shops: []및 404 장애 발생 (2026-09-18)coopNameId: 1, semesterId: 9)영향 범위
GET /coopshop,GET /coopshop/{coopNameId})✅ 완료 조건