refine scheme implementation
This commit is contained in:
68
oms/t-shop/get-order.puml
Normal file
68
oms/t-shop/get-order.puml
Normal 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
|
||||
Reference in New Issue
Block a user