Я хочу создать продуктовый пакет с количеством, чтобы дать оптовое предложение.
Например, в моем пакете продуктов есть два продукта, у продукта A есть 2 количества, у продукта B есть 1 количество
, если этот продукт пакет добавлен в корзину, тогда нужно проверить товар по количеству, а не только по номеру товара, тогда только мне нужно добавить это предложение в корзину.
и еще одна вещь, если у продукта А есть еще одно предложение и если в корзина, продукт А имеет 3 количества (2 количества из упаковки продукта, 1 количество из отдельного продукта), тогда это отдельное предложение также должно быть применено.
образец данных
product package = [
{
product : A,
quantity: 2,
each_price: 100
},
{
product : B,
quantity: 1,
each_price: 200
},
benefit: {
type: Absolute,
value: 10
}
]
product A has single offer
{
type: Absolute,
value: 20
}
if basket has following products and quantity, i need to add these two offers,
{
lines: [
{
product : A,
quantity: 3,
each_price: 200 // without discount
},
{
product : B,
quantity: 1,
each_price: 100 // without discount
}
],
offer_discounts:[
{
offer_name: product_package,
offer_discount: 10
},
{
offer_name: prdocut_a_single,
offer_discount: 20
}
]
}
in my basket total value should be,
Product A 3x 600
Product B 1x 100
discounts - 10 // from product package
- 20 // from single product A
total 670
i'm stuck this logic :/