Skip to content

ExceptAnyone/javascript-convenience-store-7-ExceptAnyone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

결제 시스템 요구사항

1. 핵심 기능

1.1 상품 결제

  • 상품의 가격과 수량을 입력받아 최종 결제 금액 계산
  • 총구매액 = 상품별 (가격 × 수량)
  • 프로모션 및 멤버십 할인 적용
  • 결제 후 추가 구매 또는 종료 선택 가능

1.2 재고 관리

  • 상품별 재고 수량 관리
  • 구매 시 재고 차감
  • 실시간 재고 상태 유지

1.3 할인 정책

프로모션 할인

  • N+1 프로모션 (1+1 또는 2+1)
  • 프로모션 기간 확인
  • 프로모션 재고 우선 차감
  • 프로모션 재고 부족 시 일반 재고 사용
  • 프로모션 혜택 안내 메시지 제공

멤버십 할인

  • 프로모션 미적용 금액의 30% 할인
  • 최대 할인 한도 8,000원
  • 프로모션 적용 후 잔여 금액에 대해 적용

1.4 영수증 출력

  • 구매 상품 내역 (상품명, 수량, 가격)
  • 증정 상품 내역
  • 금액 정보 (총구매액, 행사할인, 멤버십할인, 최종 결제금액)
  • 정렬된 형태로 출력

2. 유효성 검사 및 에러 처리

2.1 입력값 검증

  • 상품 및 수량 입력 형식 검증

    • 입력 형식이 올바르지 않은 경우: [ERROR] 올바르지 않은 형식으로 입력했습니다. 다시 입력해 주세요.
    • 존재하지 않는 상품을 입력한 경우: [ERROR] 존재하지 않는 상품입니다. 다시 입력해 주세요.
    • 상품명이 입력되지 않았을 경우: [ERROR] 상품명이 입력되지 않았습니다. 다시 입력해 주세요.
    • 수량이 입력되지 않았을 경우: [ERROR] 수량이 입력되지 않았습니다. 다시 입력해 주세요.
  • 상품 수량 검증

    • 음수 입력 시: [ERROR] 상품 수량은 1개 이상이어야 합니다. 다시 입력해 주세요. -> 올바르지 않은 형식에서 미리 처리
    • 소수점 입력 시: [ERROR] 상품 수량은 정수로 입력해 주세요. 다시 입력해 주세요.
    • 재고보다 많은 수량 주문 시: [ERROR] 재고 수량을 초과하여 구매할 수 없습니다. 다시 입력해 주세요.
  • 상품 선택 검증

    • 존재하지 않는 상품 선택 시: [ERROR] 존재하지 않는 상품입니다. 다시 입력해 주세요.
    • 상품 입력 형식 오류 시: [ERROR] 상품 입력 형식이 올바르지 않습니다. 다시 입력해 주세요.

2.2 재고 관련 검증

  • 재고 부족 검증
    • 일반 재고 부족: [ERROR] 상품의 재고가 부족합니다.
    • 프로모션 재고 부족 시 안내: 프로모션 재고가 부족하여 일부 상품은 정가로 구매됩니다.

2.3 할인 관련 검증

  • 프로모션 적용 검증

    • 프로모션 기간이 아닐 때: [ERROR] 현재 프로모션 기간이 아닙니다.
    • 프로모션 대상이 아닌 상품: [ERROR] 프로모션 적용 대상이 아닌 상품입니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published