Jacek Pyziak 3a2c419c25 feat(119): protect total_paid from re-import overwrite
OrderImportRepository::updateOrderDelta() przechodzi na dynamic SET builder.
total_paid jest dolaczane do UPDATE tylko gdy payment_status realnie sie
zmienia; is_canceled_by_buyer analogicznie, ale z override przez
cancelledBySource (cancel ze zrodla nadal propaguje sie do bazy).

Chroni reczne korekty operatora (zwroty czesciowe) przed cichym
nadpisaniem z payloadu zrodla przy kolejnym sync. Incydent #976:
operator zwrocil klientowi 28,00 PLN obnizajac total_paid 119->91,
co bez tej zmiany byloby cofniete przez kolejny re-import shoppro.

Boundaries: identical-payload guard, paymentTransition, statusOverwriteAllowed,
cancel propagation (status_code='anulowane') - bez zmian.

Tests: tests/Unit/OrderImportRepositoryTest.php - 3 scenariusze
(preserve / transition / cancel propagation) via Reflection + sqlite
in-memory. PHPUnit run odroczony (vendor/ gitignored).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 14:57:04 +02:00
2026-05-05 00:00:40 +02:00
2026-04-08 23:22:48 +02:00
2026-04-19 22:43:02 +02:00
2026-04-30 21:33:48 +02:00
2026-05-11 00:09:23 +02:00
2026-04-09 00:51:24 +02:00
2026-03-28 15:04:35 +01:00
2026-05-11 20:40:13 +02:00
2026-04-12 21:43:39 +02:00
2026-03-15 01:17:19 +01:00
2026-04-28 22:17:25 +02:00
2026-03-18 00:02:18 +01:00
2026-03-13 01:00:28 +01:00
Description
No description provided
116 MiB
Languages
PHP 82.5%
Python 8.5%
SCSS 3.3%
CSS 2.6%
JavaScript 1.7%
Other 1.3%