update
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# ARCHITECTURE
|
||||
|
||||
## Zakres
|
||||
- Dokument opisuje aktualna architekture kodu (stan repo: 2026-04-18).
|
||||
- Dokument opisuje aktualna architekture kodu (stan repo: 2026-04-19).
|
||||
- Zrodlem prawdy sa: `src/`, `routes/web.php`, `database/migrations/`.
|
||||
|
||||
## Warstwy systemu
|
||||
@@ -21,6 +21,7 @@
|
||||
- `Automation`: reguly event-condition-action, historia wykonan.
|
||||
- `Settings`: konfiguracja statusow, integracji, cron, skrzynek, szablonow, drukowania, mapowan projektow.
|
||||
- `Printing`: API kolejkowania wydruku i klucze API dla klienta desktop.
|
||||
- `Statistics`: raporty i agregacje dzienne zamowien z filtrowaniem po datach, kanalach i grupach statusow.
|
||||
- `Cron`: synchronizacje integracji i zadania utrzymaniowe.
|
||||
- `Info`: endpoint diagnostyczny `/info`.
|
||||
|
||||
@@ -35,6 +36,8 @@
|
||||
- `App\Modules\Printing\PrintApiController`: endpointy kolejki wydruku (session/api-key).
|
||||
- `App\Modules\Automation\AutomationService`: trigger eventow, ewaluacja warunkow, wykonanie akcji.
|
||||
- `App\Modules\Settings\ProjectMappingController`: CRUD mapowania produkt -> skrypt generacji projektu.
|
||||
- `App\Modules\Statistics\OrdersStatisticsController`: endpoint `/statistics/orders`, walidacja filtrow i przygotowanie modelu tabeli.
|
||||
- `App\Modules\Statistics\OrdersStatisticsRepository`: agregacje SQL dzienne (`COUNT`, `SUM total_net`, `SUM total_with_tax`) i mapowanie filtrow kanal/status-group.
|
||||
|
||||
## Integracje zewnetrzne
|
||||
- Allegro: OAuth, import zamowien, sync statusow push/pull, mapowania statusow i dostaw.
|
||||
@@ -47,6 +50,18 @@
|
||||
- Controller waliduje dane i CSRF, wywoluje Repository/Service.
|
||||
- Response: HTML (widoki) albo JSON (endpointy AJAX/API).
|
||||
|
||||
### Przeplyw Statystyk Zamowien
|
||||
- Route: `GET /statistics/orders` (wymaga sesji uzytkownika).
|
||||
- Controller:
|
||||
- parsuje `date_from`, `date_to`, `channels[]`, `status_groups[]`,
|
||||
- ustawia domyslne grupy statusow (wszystkie poza grupa `anulowane`),
|
||||
- pobiera agregaty dzienne z repozytorium,
|
||||
- buduje tabele z dynamicznymi kolumnami kanalow i stopka `Razem`.
|
||||
- Repository:
|
||||
- liczy kanaly jako `allegro` oraz `shoppro:{integration_id}`,
|
||||
- dla statusu efektywnego allegro stosuje mapowanie `allegro_order_status_mappings`,
|
||||
- zwraca zagregowane rekordy dzien/kanal.
|
||||
|
||||
## Glowny przeplyw Cron
|
||||
- Trigger:
|
||||
- `GET /cron` (public token) lub web-cron w `Application::maybeRunCronOnWeb`.
|
||||
|
||||
Reference in New Issue
Block a user