Skip to content

Latest commit

 

History

History
50 lines (37 loc) · 2.21 KB

REQUIREMENT-zh.md

File metadata and controls

50 lines (37 loc) · 2.21 KB

Requirement

這是一家線上文具商店,提供客戶方便購買文具的服務。 今天我們要開發其中的一個關鍵功能:將商品加入購物車。

功能:加商品至購物車

客人可以把商品以及欲購買數量加入購物 (我們稱之爲一個商品細項),並得到目前的購物車總金額。 一次只能加入一個商品細項(商品以及指定數量)

一個商品有以下資料:

  1. 名稱,不會有重複名稱
  2. 單價,以 NTD 計算
  3. 最大購買數量

此外,該功能需要滿足這些規則:

  1. 購物車金總價是每一細項的總和,一個細項是商品單價乘上數量,加上物流費 60 元
  2. 購物車最多只能有 5 種商品,如果超過,要警示客人不能這樣做,並標示出是哪一項商品不能加入。
  3. 加入的商品數量不可以超商品可購買上限,如果超過,要警示客人,並標示出該商品已經到達購買上限
  4. 超過 500 元則免運費

目前商品列表:

Name Unit Price Max Purchase Qty
Eraser 10 10
Pencil 20 10
Blue Pen 30 10
Ruler 35 10
Notebook 50 5
Pencil Sharpener 200 2
Computer Mouse 500 1
Keyboard 800 1

進階需求:折扣計算

當商品加入購物車,如果當下商家有設定折扣,則會套用折扣計算總價。 目前可以設定的折扣有兩種:數量折扣與 A+B 折扣

  1. 數量折扣:購買某商至指定數量時,可以享用折扣趴數
    1. 單一的指定商品,買到數量 X 時,可以享用折扣趴數 Y
    2. 折扣趴數只能是 5%, 10%, 15%
  2. A+B 折扣:購買指定 A 商品與 B 商品時,可以享用金額減免
    1. A 和 B 商品各買一個時,可以享用金額減免 Y
    2. 金額減免是固定數字
    3. A 跟 B 不能是同一個商品

當購物車內的商品符合任一折扣時,就會進行打折,並回傳打折後的總金額。