Нужно доработать модуль Giftd для Битрикса.
Изначально модуль рассчитан на Битрикс 14 версии, в котором не было правил работы с корзиной.
Теперь правила работы с корзиной есть у большинства клиентов на 15-м Битриксе пора доработать модуль под это.
*Цель работы модуля*
Проверить вводимые купоны в API Giftd, и давать соответствующие скидки на корзину.
Иногда с мин. чеком (скидка 300 рублей при покупке от 3000), иногда без него (скидка 2000 руб.).
*Текущий алгоритм* работы модуля такой: он встраивается в процесс проверки купона, и создает скидку на товар, а также купон к ней номиналом 0.01 руб. После чего в цикле GetOptimalPrice выдает скидки на каждый товар в корзине таким образом, чтобы суммарно вышла искомая скидка. Такая эмуляция правил работы с корзиной.
*Новый алгоритм*
1. Должен _дополнять_ текущий алгоритм;
2. Должен активироваться только при поддержке правил работы с корзиной, на старых версиях должен работать старый алгоритм
3. Проверять поддержку правил работы с корзиной можно методом GiftdDiscountManager::_useNewCouponSystem
*Список правок*
1. Нужно изменить метод GiftdDiscountManager::AddDiscountCoupon, чтобы он создавал правило работы с корзиной и купон, вместо скидки на товар и купона если доступны правила работы с корзиной
1.1. Сделайте отдельный метод для этого, который вызывается из AddDiscountCoupon
2. Нужно изменить метод AdjustPriceOnGetOptimalPriceResult, чтобы из него был return при доступности правил работы с корзиной
3. Протестировать, что на 14 битриксе ничего не сломалось, а на 15 битриксе все работает по новой схеме.
3.1. Нужно будет показать мне по тимвьюеру / демонстрации экрана, как в обеих версиях все работает.
Жду оценки сроков и стоимости.
В аттачах ориентировочные настройки правила работы с корзиной и купонов правил.