ver. 0.270 - Apilo payment/status sync hardening
This commit is contained in:
@@ -4,6 +4,18 @@ Logi zmian z migracji na Domain-Driven Architecture. Najnowsze na gorze.
|
||||
|
||||
---
|
||||
|
||||
## ver. 0.270 (2026-02-14) - Apilo payment/status sync hardening
|
||||
|
||||
- **Shop/Order + Apilo** - utwardzenie synchronizacji platnosci i statusow zamowien
|
||||
- FIX: `shop\Order::set_as_paid()` wysyla do Apilo mapowany typ platnosci (`payment_method_id` -> `apilo_payment_type_id`) zamiast stalego `type = 1`
|
||||
- NOWE: retry queue dla chwilowej niedostepnosci Apilo (`temp/apilo-sync-queue.json`) dla sync platnosci i statusu
|
||||
- NOWE: `shop\Order::process_apilo_sync_queue()` przetwarza zalegle syncy
|
||||
- UPDATE: `cron.php` uruchamia przetwarzanie kolejki sync Apilo przy aktywnej integracji
|
||||
- UPDATE: rozszerzone logowanie debug (`logs/apilo.txt`) o HTTP code i bledy cURL dla sync platnosci/statusu
|
||||
- Testy: **OK (300 tests, 895 assertions)**
|
||||
|
||||
---
|
||||
|
||||
## ver. 0.269 (2026-02-14) - ShopTransport
|
||||
|
||||
- **ShopTransport** - migracja `/admin/shop_transport` na Domain + DI + nowe widoki
|
||||
|
||||
@@ -62,6 +62,8 @@ shop\product:{product_id}:{lang_id}:{permutation_hash}
|
||||
- Czestotliwosc: Co 10 minut
|
||||
- **Synchronizacja cennika:** masowa aktualizacja cen z Apilo
|
||||
- Czestotliwosc: Co 1 godzine
|
||||
- **Synchronizacja zaleglych syncow platnosci/statusow:** kolejka retry dla chwilowej niedostepnosci Apilo (`temp/apilo-sync-queue.json`)
|
||||
- Przetwarzanie: przy kazdym uruchomieniu `cron.php` (limit wsadowy)
|
||||
|
||||
**Uwaga:** Integracje Sellasist i Baselinker zostaly usuniete w ver. 0.263.
|
||||
|
||||
@@ -242,6 +244,11 @@ autoload/
|
||||
- Usunieto legacy: `autoload/admin/controls/class.ShopTransport.php`, `autoload/admin/view/class.ShopTransport.php`, `admin/templates/shop-transport/view-list.php`.
|
||||
- `admin\factory\ShopTransport` i `front\factory\ShopTransport` przepiete na repozytorium.
|
||||
|
||||
**Aktualizacja 2026-02-14 (ver. 0.270):**
|
||||
- `shop\Order` zapisuje nieudane syncy Apilo (status/platnosc) do kolejki `temp/apilo-sync-queue.json`.
|
||||
- `cron.php` automatycznie ponawia zalegle syncy (`Order::process_apilo_sync_queue()`).
|
||||
- `shop\Order::set_as_paid()` wysyla mapowany typ platnosci Apilo (z mapowania metody platnosci), bez stalej wartosci `type`.
|
||||
|
||||
### Routing admin (admin\Site::route())
|
||||
1. Sprawdź mapę `$newControllers` → utwórz instancję z DI → wywołaj
|
||||
2. Jeśli nowy kontroler nie istnieje (`class_exists()` = false) → fallback na `admin\controls\`
|
||||
|
||||
@@ -375,3 +375,13 @@ OK (300 tests, 895 assertions)
|
||||
Nowe testy dodane 2026-02-14:
|
||||
- `tests/Unit/Domain/Transport/TransportRepositoryTest.php` (14 testow: find invalid/null/normalize/nullables, save insert/update/failure/default reset/switch normalization, listForAdmin whitelist, allActive, getApiloCarrierAccountId, getTransportCost, allForAdmin)
|
||||
- `tests/Unit/admin/Controllers/ShopTransportControllerTest.php` (5 testow: kontrakty metod, brak aliasow legacy, return types, DI konstruktora z 2 repo)
|
||||
|
||||
## Aktualizacja suite (Apilo sync hardening, ver. 0.270)
|
||||
Ostatnio zweryfikowano: 2026-02-14
|
||||
|
||||
```text
|
||||
OK (300 tests, 895 assertions)
|
||||
```
|
||||
|
||||
Zmiany testowe 2026-02-14:
|
||||
- brak nowych testow; pelna regresja po zmianach sync Apilo (TPAY -> Apilo) przeszla bez bledow
|
||||
|
||||
Reference in New Issue
Block a user