refine scheme implementation

This commit is contained in:
2026-02-14 01:03:15 +03:00
parent 91ff1642dc
commit 59558784f6
5 changed files with 905 additions and 0 deletions

68
oms/t-shop/get-order.puml Normal file
View File

@@ -0,0 +1,68 @@
@startuml
title Flow: Получение и обработка заказов с маркетплейса
actor "Покупатель" as Customer
participant "T-Shop\n(Маркетплейс)" as TShop
participant "T-Shop-ADP\n(Адаптер)" as Adapter
database "T-Shop-ADP-DB\n(sync_state, orders)" as DB
participant "Superset" as Superset
actor "Менеджер ВИ" as Admin
== Покупатель оформляет заказ ==
Customer -> TShop: Оформление заказа
note right of TShop: Статус заказа:\nstatus = "PROCESSING"\nsubstatus = "STARTED"
TShop --> Customer:
== Периодическая синхронизация заказов (Дельта по updatedAt) ==
loop Каждые 15 минут
Adapter -> DB: Чтение состояния синхронизации\n(sync_log.last_synced_updated_at)
DB --> Adapter: last_synced_updated_at
Adapter -> TShop: **GET /orders?updatedAtFrom=last_synced_updated_at-5min&updatedAtTo=now()-2min&limit=50**
TShop --> Adapter: Ответ с пагинацией\norders[...], nextPageToken="abc123"
loop Пока есть nextPageToken
Adapter -> DB: **UPSERT заказов в БД**
note right of Adapter: Insert новых\nUpdate существующих (по updatedAt)
DB --> Adapter:
Adapter -> TShop: Следующий запрос с pageToken
TShop --> Adapter: Следующая порция заказов
end
Adapter -> DB: Обновить sync_log\nlast_synced_updated_at = updatedAtTo
DB --> Adapter:
end
== Обновление Superset ==
Superset -> DB: Автообновление дашборда\n(через прямое подключение)
DB --> Superset: Актуальные данные
== Работа менеджера (Оформление заказов) ==
Admin -> Superset: Открытие дашборда
Superset -> DB: Запрос данных
DB --> Superset:
Superset --> Admin: Отображение заказов
Admin -> Admin: Ручное оформление заказа\nв АРМ системе
== Работа менеджера (Обновление статуса заказа) ==
Admin -> Adapter: Обновление статуса заказа в T-Shop через Postman
Adapter -> Adapter: Подстановка кредов + обработка параметров входящих
Adapter --> TShop: Отправка запроса
== Работа менеджера (Отправка кода получения заказа) ==
Admin -> Adapter: Отправка кода получения в T-Shop через Postman
Adapter -> Adapter: Подстановка кредов + обработка параметров входящих
Adapter --> TShop: Отправка запроса
@enduml