Skip to content

Refactor: 매장 픽업 가능 판정 정책 단일화 (today-pickup / pickup-schedule / 주문 생성 공용) #206

Description

@chanwoo7

배경

매장별 픽업 가능 판정 규칙(특별휴무 · 요일 영업시간 · 일일 capacity 소진(레코드 없으면 무제한, 취소·soft-delete 제외 수량 합) · 리드타임 컷오프)이 두 서비스에 각각 구현되어 있다:

슬롯 생성 헬퍼(buildTodaySlots)만 공유하고 판정 분기 자체는 중복이다.
향후 주문 생성 mutation이 픽업 일시 재검증으로 세 번째 소비자가 될 예정이라, 그 전에 단일화하지 않으면 규칙 불일치(한쪽만 고침) 버그 가능성이 커진다.

목표

  • store feature 내부에 픽업 가능 판정 정책 클래스(또는 순수 함수 모듈)를 추출한다.
    예: StorePickupPolicy — 입력(매장 정책 row·영업시간·휴무·capacity·점유·기준 시각) → 판정 결과(가능/사유).
  • today-pickup과 pickup-schedule이 동일 정책을 소비하도록 재배선하고, 동작 차이는 회귀 테스트로 0임을 증명한다.
  • 주문 생성 구현 시 이 정책을 그대로 재사용한다 (단일 소스).

수행 조건

  • 두 서비스의 판정 분기 diff 정리 (의도적 차이 유무 확인 — 예: today-pickup의 "capacity 소진 시 매장 제외" vs 달력의 CAPACITY_FULL 표기)
  • 정책 추출 후 기존 spec 전체 green (today-pickup·pickup-schedule 두 스위트 무변경 통과가 기준)
  • 주문 생성 설계 문서에서 본 정책 재사용을 전제로 명시

참고

Metadata

Metadata

Assignees

No one assigned

    Labels

    ✨ Refactor코드 리팩토링🧱 Tech Debt기술 부채 / 추후 마이그레이션 필요

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions