feat(pos): интеграция системы скидок в POS терминал

API endpoints:
- POST /api/discounts/validate-promo/: валидация промокода
- POST /api/discounts/calculate/: расчёт скидок для корзины

Обновлён pos_checkout:
- добавлен параметр promo_code в payload
- автоматическое применение скидок к заказу

UI (terminal.html):
- секция скидок в модальном окне оплаты
- поле ввода промокода
- отображение автоматических скидок
- кнопки применения/удаления промокода

JavaScript (terminal.js):
- переменные состояния скидок
- функции applyPromoCode, removePromoCode
- checkAutoDiscounts: проверка автоматических скидок
- updateCheckoutTotalWithDiscounts: пересчёт итога
- обработчики кнопок промокода

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-11 00:30:55 +03:00
parent 9960590dcc
commit 6978f4e59f
4 changed files with 415 additions and 6 deletions

View File

@@ -37,4 +37,11 @@ urlpatterns = [
path('api/create-temp-kit/', views.create_temp_kit_to_showcase, name='create-temp-kit-api'),
# Создать заказ и провести оплату в POS [POST]
path('api/checkout/', views.pos_checkout, name='pos-checkout'),
# ============================================
# DISCOUNT API
# ============================================
# Валидировать промокод [POST]
path('api/discounts/validate-promo/', views.validate_promo_code, name='validate-promo'),
# Рассчитать скидки для корзины [POST]
path('api/discounts/calculate/', views.calculate_cart_discounts, name='calculate-discounts'),
]