update
This commit is contained in:
@@ -393,10 +393,14 @@
|
||||
- po imporcie pokazuje diagnostyke miniatur pozycji (ile pozycji ma obrazek i przyczyny brakow).
|
||||
- `POST /settings/integrations/allegro/statuses/save`:
|
||||
- `AllegroIntegrationController::saveStatusMapping(Request): Response`
|
||||
- zapisuje mapowanie `allegro_status_code -> orderpro_status_code`.
|
||||
- redirect stub — logika przeniesiona do `saveStatusMappingsBulk()`.
|
||||
- `POST /settings/integrations/allegro/statuses/save-bulk`:
|
||||
- `AllegroIntegrationController::saveStatusMappingsBulk(Request): Response`
|
||||
- zapisuje mapowania zbiorczo dla wszystkich wierszy tabeli mapowan.
|
||||
- zapisuje mapowania zbiorczo z kluczem `orderpro_status_code` przez `AllegroStatusMappingRepository::replaceAllMappings(...)`.
|
||||
- `AllegroStatusMappingRepository::listExternalStatuses()` — zwraca liste zewnetrznych statusow Allegro.
|
||||
- `AllegroStatusMappingRepository::buildAllegroToOrderproMap()` — buduje mape allegro_status -> orderpro_status.
|
||||
- `AllegroStatusMappingRepository::replaceAllMappings(array)` — atomowy zapis wszystkich mapowan.
|
||||
- `AllegroStatusMappingRepository::upsertMapping(...)` — teraz klucz na `orderpro_status_code`.
|
||||
- `POST /settings/integrations/allegro/statuses/delete`:
|
||||
- `AllegroIntegrationController::deleteStatusMapping(Request): Response`
|
||||
- usuwa mapowanie po `mapping_id`.
|
||||
@@ -433,7 +437,7 @@
|
||||
- respektuje ustawienie kierunku `allegro_status_sync_direction`,
|
||||
- dla kierunku `allegro_to_orderpro` wykorzystuje mechanizm importu zamowien do aktualizacji statusow,
|
||||
- dla kierunku `orderpro_to_allegro` pushuje reczne zmiany statusow (`order_status_history.change_source=manual`) do API Allegro,
|
||||
- push buduje reverse mapping `orderpro_status_code -> allegro_status_code` z `allegro_order_status_mappings`,
|
||||
- push buduje mapping `orderpro_status_code -> allegro_status_code` z `allegro_order_status_mappings` (po odwroceniu kluczy mapowanie jest bezposrednie),
|
||||
- push aktualizuje kursor `integration_order_sync_state.last_status_pushed_at` po sukcesie.
|
||||
- `AllegroApiClient::updateCheckoutFormFulfillment()`:
|
||||
- PUT `/order/checkout-forms/{id}/fulfillment`,
|
||||
@@ -555,7 +559,9 @@
|
||||
- `POST /settings/integrations/shoppro/statuses/save`:
|
||||
- `ShopproIntegrationsController::saveStatusMappings(Request): Response`
|
||||
- waliduje CSRF, `integration_id` i kody statusow orderPRO,
|
||||
- zapisuje mapowania per instancja shopPRO przez `ShopproStatusMappingRepository::replaceForIntegration(...)` do `order_status_mappings`.
|
||||
- zapisuje mapowania per instancja shopPRO przez `ShopproStatusMappingRepository::replaceForIntegration(...)` do `order_status_mappings` (klucz: `orderpro_status_code`).
|
||||
- `ShopproStatusMappingRepository::listExternalStatuses(int)` — zwraca liste zewnetrznych statusow shopPRO dla danej integracji.
|
||||
- `ShopproIntegrationsController` uzywa `buildMappingIndex()` + `buildExternalStatusOptions()` zamiast poprzedniego `buildStatusRows()`.
|
||||
- `POST /settings/integrations/shoppro/delivery/save`:
|
||||
- `ShopproIntegrationsController::saveDeliveryMappings(Request): Response`
|
||||
- waliduje CSRF i `integration_id`,
|
||||
|
||||
@@ -184,9 +184,9 @@ Migracje z prefiksem `ensure_` to migracje kompensujące — zostały dodane
|
||||
- `orderpro_status_code` (varchar 64),
|
||||
- `created_at`, `updated_at`.
|
||||
- Indeksy:
|
||||
- `order_status_mappings_integration_shoppro_unique` (UNIQUE: `integration_id`, `shoppro_status_code`),
|
||||
- `order_status_mappings_integration_orderpro_unique` (UNIQUE: `integration_id`, `orderpro_status_code`),
|
||||
- `order_status_mappings_integration_idx` (`integration_id`),
|
||||
- `order_status_mappings_orderpro_idx` (`orderpro_status_code`).
|
||||
- `order_status_mappings_integration_shoppro_idx` (`integration_id`, `shoppro_status_code`).
|
||||
- Klucze obce:
|
||||
- `order_status_mappings_integration_fk`: `integration_id` -> `integrations.id` (`ON DELETE CASCADE`, `ON UPDATE CASCADE`).
|
||||
|
||||
@@ -222,8 +222,8 @@ Migracje z prefiksem `ensure_` to migracje kompensujące — zostały dodane
|
||||
- `orderpro_status_code` (varchar 64),
|
||||
- `created_at`, `updated_at`.
|
||||
- Indeksy:
|
||||
- `allegro_order_status_mappings_code_unique` (UNIQUE: `allegro_status_code`),
|
||||
- `allegro_order_status_mappings_orderpro_code_idx` (`orderpro_status_code`).
|
||||
- `allegro_order_status_mappings_orderpro_unique` (UNIQUE: `orderpro_status_code`),
|
||||
- `allegro_order_status_mappings_allegro_code_idx` (`allegro_status_code`).
|
||||
|
||||
### `order_payments`
|
||||
- Platnosci zamowien (z importu API lub reczne).
|
||||
|
||||
@@ -1,5 +1,23 @@
|
||||
# Tech Changelog
|
||||
|
||||
## 2026-04-07 — Phase 74: Reverse Status Mapping
|
||||
|
||||
Odwrocenie kierunku mapowania statusow w integracjach shopPRO i Allegro.
|
||||
|
||||
**Zmiana:** UI tab Statusy teraz wyswietla statusy orderPRO po lewej stronie tabeli, a po prawej dropdown z zewnetrznymi statusami (shopPRO/Allegro). Poprzednio bylo odwrotnie.
|
||||
|
||||
**DB:** Migracja 20260407_000078 — zmiana unique key z external_status_code na orderpro_status_code w obu tabelach mapowania.
|
||||
|
||||
**Pliki:**
|
||||
- database/migrations/20260407_000078_reverse_status_mapping_keys.sql
|
||||
- src/Modules/Settings/ShopproStatusMappingRepository.php — replaceForIntegration() key na orderpro, +listExternalStatuses()
|
||||
- src/Modules/Settings/AllegroStatusMappingRepository.php — upsertMapping() key na orderpro, +listExternalStatuses(), +buildAllegroToOrderproMap(), +replaceAllMappings()
|
||||
- src/Modules/Settings/AllegroStatusMappingController.php — saveStatusMappingsBulk() odwrocony, saveStatusMapping() stub
|
||||
- src/Modules/Settings/ShopproIntegrationsController.php — buildMappingIndex() + buildExternalStatusOptions() zamiast buildStatusRows()
|
||||
- resources/views/settings/shoppro.php — odwrocona tabela
|
||||
- resources/views/settings/allegro.php — odwrocona tabela, usuniety single-add form
|
||||
- resources/lang/pl.php — nowe klucze tlumaczen
|
||||
|
||||
## 2026-04-07 (Phase 73 - Search by Product, Plan 01)
|
||||
- `OrdersRepository::buildPaginateFilters()`: dodano EXISTS subquery na `order_items.original_name` do warunku search.
|
||||
- Alias `oi_s` dla unikniecia konfliktu z `oi_agg` w buildListSql.
|
||||
|
||||
Reference in New Issue
Block a user