[BE-09] GetLimitedDropUseCase + GetLimitedDropStatsUseCase (FR-9)
작업 내용 (설계 의도)
변경 사항
한정판 상태·집계 조회 UseCase(근거 TDD: “API 계약”, FR-9). 읽기 전용, DomainService만 호출.
GetLimitedDropUseCase.execute(dropId): LimitedDropView— status·openAt·closeAt + Redis remaining + perUserLimit 결합(FE QuantityStepper 상한용).GetLimitedDropStatsUseCase.execute(dropId): LimitedDropStatsResult— 성공 건수(goods_orders 파생)·소진 거부·시작전 거부(Redis/지표 카운터). 전용 테이블 없이 파생(P2).
의존
- BE-03 (LimitedDropDomainService), BE-06 (View·StatsResult)
다이어그램
클래스 의존
flowchart LR GetLimitedDropUseCase --> LimitedDropDomainService GetLimitedDropStatsUseCase --> LimitedDropDomainService
테스트 케이스
- GetLimitedDrop이 존재하는 회차의 status·openAt·remaining·perUserLimit을 반환한다
- 없는 dropId면 NotFound 예외를 던진다
- GetStats가 성공·소진거부·시작전거부 건수를 집계해 반환한다