575c5d0c2fd832ce4f1bdae515989a6f1ab34452
Проблема: - add_overpayment вызывался дважды: 1. При оплате 300 руб (заказ 150) → +150 в кошелёк 2. При изменении суммы до 100 → +200 в кошелёк - Итого: 350 руб вместо правильных 200 руб Причина: - calculate_total() вызывал add_overpayment при любой переплате - Не учитывалось, что переплата уже была обработана при оплате Решение: - Сохраняем old_total перед пересчётом - Вызываем add_overpayment ТОЛЬКО если: - old_total > 0 (заказ уже существовал) - total_amount < old_total (сумма УМЕНЬШИЛАСЬ) - amount_paid > total_amount (есть переплата) - Это предотвращает двойную обработку при первичной оплате Теперь переплата обрабатывается корректно только при изменении суммы заказа
Description
No description provided
Languages
Python
57%
HTML
32%
JavaScript
9.5%
CSS
1.1%
Shell
0.4%