باید برای یک بقالی، یک سبد خرید مدلسازی کنیم. سبد خرید باید فهرست کالاهای اضافهشده را نگه دارد و قیمت را درست محاسبه کند.
کالاها با کدهای واحد نگهداری موجودی (SKU) به سبد اضافه میشوند. کالاهای موجود در فروشگاه عبارتاند از:
| اسم | قیمت | SKU |
|---|---|---|
| Potatoes | 10.00 | STAPOT |
| Rice | 30.00 | STARIC |
| Coffee | 14.99 | STACOF |
| Newspaper | 2.99 | MEDNEW |
سبد خرید باید امکان انجام این عملیات را فراهم کند:
یک نسخهی جایگزین یا گسترشیافته از داستان، از کوپنهای تخفیفی استفاده میکند که میتوان آنها را به سبد خرید اضافه کرد.
بقالی برای اینکه مشتریها را راضی نگه دارد، کوپنهای تخفیف اضافه کرده است. یعنی برای پشتیبانی از این تخفیفها، سبد خرید ما باید بتواند کوپنهای تخفیف را بخواند و آنها را روی کالاهای فعلی اعمال کند. کوپنهای پشتیبانیشده عبارتاند از:
| نوع | SKU | قاعده |
|---|---|---|
| تخفیف قیمت ثابت | FIX_TEN | مبلغ 10.00 از مبلغ کل سبد کم میکند |
| تخفیف محصول | HALF_STAPOT | قیمت همهی کالاهای STAPOT را به نصف کاهش میدهد |
سبد خرید باید یک عملیات جدید به اسم scan coupon داشته باشد که یک SKU میگیرد و آن را به سبد اضافه میکند. لطفاً در نظر داشته باشید که total_amount نباید عددی منفی باشد؛ کمترین مقدار total_amount برابر 0 است.