Bevásárlókosár


Történet

Egy sarki bolt bevásárlókosarát kell modelleznünk. A kosárnak nyilván kell tartania a hozzáadott termékek listáját, és helyesen kell kiszámítania az árat.

A termékeket raktári cikkszám (SKU) kódokkal adjuk a kosárhoz. A boltban a következő termékek kaphatók:

Név Ár SKU
Burgonya 10.00 STAPOT
Rizs 30.00 STARIC
Kávé 14.99 STACOF
Újság 2.99 MEDNEW

Feladatok

A bevásárlókosárnak a következő műveleteket kell lehetővé tennie:

  • Termék hozzáadása a kosárhoz: Beolvas egy SKU-t, és hozzáadja a kosárhoz.
  • A végösszeg lekérdezése: A kosárban lévő termékek összértéke két tizedesjegyű számként (pl. 3.99).
  • A kosárban lévő termékek lekérdezése: A benne lévő termékek neveinek listája ábécé sorrendben, ismétlődések nélkül, vesszővel és szóközzel elválasztva.

Terminológia

  • Termék: A bevásárlókosárba helyezhető árucikk.
  • SKU: Az SKU egy azonosító, amely a terméktípus első három nagybetűjéből + a terméknév első három nagybetűjéből áll.
  • Ár: A termék értéke két tizedesjegyű számként.

Implementációk

Alternatív változat

A történet egy alternatív változata vagy kiterjesztése kedvezménykuponokat használ, amelyek hozzáadhatók a bevásárlókosárhoz.

Történet

Hogy a vásárlók elégedettek maradjanak, a sarki bolt kedvezménykuponokat vezetett be. Ez azt jelenti, hogy a kedvezmények támogatásához a bevásárlókosarunknak képesnek kell lennie arra, hogy beolvassa és alkalmazza a kedvezménykuponokat a jelenlegi termékekre. A támogatott kuponok:

Típus SKU Szabály
Fix árú kedvezmény FIX_TEN 10.00 kedvezményt ad a kosár végösszegéből
Termékkedvezmény HALF_STAPOT Minden STAPOT termék árát felére csökkenti

Feladatok

A bevásárlókosárnak kapnia kell egy új scan coupon műveletet, amely egy SKU-t vesz át, és hozzáadja a kosárhoz. Tartsd észben, hogy a total_amount nem lehet negatív szám, a total_amount minimális értéke 0.

Terminológia

  • Kupon: A kosárra alkalmazható kedvezmény. A kuponok egyediek, és csak egyszer alkalmazhatók. Ha a kupon típusa fix árú kedvezmény, akkor a SKU második része a kedvezmény összege, nagybetűkkel.

Implementációk