| 12345678910111213141516 |
- namespace Domain.Entities.Store.ValueObject;
- /// <summary>
- /// 쿠폰 코드 풀의 코드 상태 머신.
- /// Available -> Reserved (결제 진행 중 사전 점유) -> Issued (결제 완료, 보관함 등록) -> Used (사용자가 사용 완료).
- /// 환불 시: Issued -> Available 재사용 가능. Used 상태에서는 환불 거부.
- /// 관리자 운영: Available / Issued -> Expired (관리자 일괄 만료). Expired -> Available(또는 Issued) 복귀 가능 (UsedAt null 한정).
- /// </summary>
- public enum CouponCodeStatus
- {
- Available = 1, // 미발급, 신규 점유 가능
- Reserved = 2, // 결제 진행 중 사전 점유 (rollback 시 Available 로 복귀)
- Issued = 3, // 결제 완료, 회원 보관함에 발급됨
- Used = 4, // 회원이 코드를 사용 완료 (게임에 입력) — 환불 불가
- Expired = 5 // 관리자가 일괄 만료 처리 (재고 폐기 또는 발급 코드 회수). 복귀 가능 (Used 외).
- }
|