سلة التسوق


القصة

نحتاج إلى تصميم نموذج لسلة تسوق لبقالة صغيرة. وينبغي للسلة أن تتعقب قائمة العناصر المضافة، وأن تحسب السعر بشكل صحيح.

تُضاف العناصر إلى السلة باستخدام رموز وحدة حفظ المخزون (SKU). والعناصر المتوفرة في المتجر هي:

الاسم السعر SKU
البطاطس 10.00 STAPOT
الأرز 30.00 STARIC
القهوة 14.99 STACOF
الصحيفة 2.99 MEDNEW

المهام

ينبغي أن تسمح سلة التسوق بتنفيذ هذه العمليات:

  • إضافة عناصر إلى السلة: قراءة رمز SKU وإضافته إلى السلة.
  • التحقق من المبلغ الإجمالي: القيمة الإجمالية للعناصر في السلة كعدد من منزلتين عشريتين (مثل 3.99).
  • التحقق من العناصر الموجودة في السلة: قائمة بأسماء العناصر في السلة، مرتبة ترتيبًا أبجديًا، دون تكرار، مفصولة بفاصلة ومسافة.

المصطلحات

  • العنصر: منتج يمكن إضافته إلى سلة التسوق.
  • SKU: رمز تعريفي يتكوّن من أول ثلاثة أحرف كبيرة من نوع المنتج + أول ثلاثة أحرف كبيرة من اسم المنتج.
  • السعر: قيمة العنصر كعدد من منزلتين عشريتين.

التطبيقات

نسخة بديلة

هناك نسخة بديلة أو امتداد للقصة يستخدم كوبونات خصم يمكن إضافتها إلى سلة التسوق.

القصة

ولإسعاد العملاء، أضافت البقالة الصغيرة كوبونات خصم. وهذا يعني أن سلة التسوق تحتاج، لدعم هذه الخصومات، إلى قراءة كوبونات الخصم وتطبيقها على العناصر الحالية. والكوبونات المدعومة هي:

النوع SKU القاعدة
خصم بسعر ثابت FIX_TEN يخصم 10.00 من المبلغ الإجمالي للسلة
خصم على منتج HALF_STAPOT يخفض سعر جميع عناصر STAPOT إلى النصف

المهام

ينبغي أن تحتوي سلة التسوق على عملية جديدة هي scan coupon تتلقى رمز SKU وتضيفه إلى السلة. ويرجى الانتباه إلى أن total_amount يجب ألا يكون عددًا سالبًا، فأدنى قيمة له هي 0.

المصطلحات

  • الكوبون: خصم يمكن تطبيقه على السلة. الكوبونات فريدة ويمكن تطبيقها مرة واحدة فقط. وإذا كان نوع الكوبون خصمًا بسعر ثابت، فإن الجزء الثاني من رمز SKU هو مبلغ الخصم مكتوبًا بأحرف كبيرة.

التطبيقات