Как реализовать логику подсчета стоимости в зависимости от количества единиц товара?
Стоит задача рассчитать стоимость покупки в зависимости от количества единиц товара. Есть ли уже готовые библиотеки, которые бы предоставляли возможность описывать рассчет общей стоимости от количества указанных единиц товара? Например, в том же питон коде:
Если пользователь указал до 10 единиц - то стоимость единицы не меняется;
Если пользователь указал от 10 до 20 единиц - то стоимость единицы -3%;
Если пользователь указал свыше 20 единиц - то стоимость единицы товара -5%
Алексей, спасибо за ответ. Дело в том, что не все так просто. Каждый продавец может сам решать, как рассчитывать стоимость в зависимости от количества единиц. Один может вообще не использовать эту функциональность, другой - добавить правило 1, третий реализует правило 2 и т.д.
Станислав Гордиенко: существенная дополнительная информация, однако, которая полностью меняет дело. Тогда я не знаю :) я не думаю что есть такие библиотеки которые предоставляют абстракцию для подсчета стоимости товара. Если принципы расчета уникальны то придется писать такой "калькулятор" самому.
Рассчет можно так-же запихать в "если-то" а правила расчета пронумеровать. и в зависимости от выбраных правил произвести обход рассчетных функций.
Допустим есть правило "умножь на два" это ведь ни что иное как функция.
Ну и нужно последовательность правил четко определить, допустим:
Правило 1: х2
Правило 2: +4
есть разница какое правило применить первым. Для этого нужно досконально знать рассчетную логику (бизнес-логику)
Станислав Гордиенко: 1). Продавцы будут сами создавать эти правила или просто выбирать из некоторого готового списка? 2). Все правила укладываются в схему "если от ... до ... штук - то ... % скидки" или предполагаются и другие шаблоны правил?
Александр: Я согласен, что скорее всего лучше создать для продавцов готовый список правил. Так будет проще. Вы меня натолкнули на хорошую идею :-) Я сделаю правила подобным образом, где человек просто будет заполнять от 1 до 5 - скидка такая-то. Пока под вопросом, как быть от н до бесконечности. Спасибо.
Если схема всегда "от ... до ... - скидка ... процентов", то можно просто сделать конструктор правил.
Скрипт конструктора будет показывать простейшую формочку, в которой пользователь в текстовые поля задаёт три числа, после чего это правило сохраняется в специальном файле.
Ну а основная программа будет брать правила из этого же файла.