определение скидок на набор (которых может быть несколько) товаров - PullRequest
0 голосов
/ 10 июля 2020

Я попытался найти этот вопрос на SO over здесь , но я не считаю его актуальным.

Допустим,

1. Offer1 : buy 3 or more pencil and get 10% discount
2. Offer2 : buy 2 scale and 1 sharpener and get 20% discount on each set

итого, тележка с pencil ($10) : 4 , scale ($20): 5, eraser($5): 1 и sharpener($10): 2 будут выглядеть так:

Pencil : 4 Qty  ==> $36  ($40 with 10% discount)
Scale: 2 Qty + Sharpener : 1 Qty ==> $40 ( $50 with 20% discount)
Scale: 2 Qty + Sharpener : 1 Qty ==> $40 ( $50 with 20% discount)
Eraser: 1 Qty  ==> $5

Cart Total :  $ 121   ( 36 + 40 + 40 + 5) 

Как go впереди для реализации такого алгоритма? Пожалуйста, помогите мне в этом.

1 Ответ

0 голосов
/ 11 июля 2020

Это должен быть комментарий, но у меня недостаточно очков репутации ... так что отправляю так ..

Вы можете попробовать ниже -

В начале у вас есть все элементы и их соответствующие цены.

  1. Теперь создайте такой метод, как calculatePrice_set1, который не принимает в качестве параметров карандашей и стоимость карандаша. Рассчитайте общую стоимость, если карандашей больше 3, вычтите скидку и верните сумму.

  2. создайте другой метод calculatePrice_set2, который не требует масштабирования, точилки и их соответствующей стоимости. Теперь посчитайте, сколько у вас наборов из 2 весов. Предположим, вы передали в качестве параметра 6 шкал и 4 точилки. Затем у вас есть 3 набора из 2 чешуек и 4 точилки. Из этого вы можете узнать, сколько подходящих наборов для Offer2 вы можете сделать, что в данном случае составляет 3. Соответственно рассчитайте общую цену для набора, примените скидку и добавьте оставшиеся части, которые не могут быть частью какого-либо набора.

Затем вы можете добавить сумму возврата из шага 1+ шага 2 + (кол-во ластика * цена)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...