Files
plantUML/oms/t-shop/get-order.puml
2026-02-14 01:03:15 +03:00

68 lines
2.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
@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