- 상품의 가격과 수량을 입력받아 최종 결제 금액 계산
- 총구매액 = 상품별 (가격 × 수량)
- 프로모션 및 멤버십 할인 적용
- 결제 후 추가 구매 또는 종료 선택 가능
- 상품별 재고 수량 관리
- 구매 시 재고 차감
- 실시간 재고 상태 유지
- N+1 프로모션 (1+1 또는 2+1)
- 프로모션 기간 확인
- 프로모션 재고 우선 차감
- 프로모션 재고 부족 시 일반 재고 사용
- 프로모션 혜택 안내 메시지 제공
- 프로모션 미적용 금액의 30% 할인
- 최대 할인 한도 8,000원
- 프로모션 적용 후 잔여 금액에 대해 적용
- 구매 상품 내역 (상품명, 수량, 가격)
- 증정 상품 내역
- 금액 정보 (총구매액, 행사할인, 멤버십할인, 최종 결제금액)
- 정렬된 형태로 출력
-
상품 및 수량 입력 형식 검증
- 입력 형식이 올바르지 않은 경우: [ERROR] 올바르지 않은 형식으로 입력했습니다. 다시 입력해 주세요.
- 존재하지 않는 상품을 입력한 경우: [ERROR] 존재하지 않는 상품입니다. 다시 입력해 주세요.
- 상품명이 입력되지 않았을 경우: [ERROR] 상품명이 입력되지 않았습니다. 다시 입력해 주세요.
- 수량이 입력되지 않았을 경우: [ERROR] 수량이 입력되지 않았습니다. 다시 입력해 주세요.
-
상품 수량 검증
- 음수 입력 시: [ERROR] 상품 수량은 1개 이상이어야 합니다. 다시 입력해 주세요. -> 올바르지 않은 형식에서 미리 처리
- 소수점 입력 시: [ERROR] 상품 수량은 정수로 입력해 주세요. 다시 입력해 주세요.
- 재고보다 많은 수량 주문 시: [ERROR] 재고 수량을 초과하여 구매할 수 없습니다. 다시 입력해 주세요.
-
상품 선택 검증
- 존재하지 않는 상품 선택 시: [ERROR] 존재하지 않는 상품입니다. 다시 입력해 주세요.
- 상품 입력 형식 오류 시: [ERROR] 상품 입력 형식이 올바르지 않습니다. 다시 입력해 주세요.
- 재고 부족 검증
- 일반 재고 부족: [ERROR] 상품의 재고가 부족합니다.
- 프로모션 재고 부족 시 안내: 프로모션 재고가 부족하여 일부 상품은 정가로 구매됩니다.
-
프로모션 적용 검증
- 프로모션 기간이 아닐 때: [ERROR] 현재 프로모션 기간이 아닙니다.
- 프로모션 대상이 아닌 상품: [ERROR] 프로모션 적용 대상이 아닌 상품입니다.