66 lines
2.7 KiB
Plaintext
66 lines
2.7 KiB
Plaintext
@startuml
|
||
scale 1300x1300
|
||
mainframe TO BE обмен по созданию заказа на сайте
|
||
Actor USER
|
||
participant SITE
|
||
database SITE_database
|
||
participant WTIS
|
||
database WTIS_database
|
||
queue kafka_1
|
||
queue kafka_2
|
||
participant OMS
|
||
database OMS_database
|
||
'-------------------------------------------action-------------------
|
||
autonumber
|
||
|
||
USER -> SITE: Нажимает кнопку оформить заказ
|
||
SITE -> SITE_database: Проводит внутренние проверки\nи сохраняет в БД
|
||
SITE_database -> SITE: Заказ успешно сохранен
|
||
|
||
autonumber 4.1
|
||
alt Тип доставки в заказе: Самовывоз
|
||
SITE -> kafka_1: Записывает заказ в топик kafka: site.order.pickup.created
|
||
else Тип доставки в заказе: Курьером
|
||
SITE -> kafka_1: Записывает заказ в топик kafka: site.order.courier.created
|
||
else Тип доставки в заказе: ТК
|
||
SITE -> kafka_1: Записывает заказ в топик kafka: site.order.transport_company.created
|
||
end
|
||
|
||
autonumber 5
|
||
OMS -> kafka_1: Читает сообщения из топиков
|
||
OMS -> OMS: Проверяет условия для MVP
|
||
WTIS -> kafka_1: Читает сообщения из топиков
|
||
WTIS -> WTIS: Проверяет условия для MVP
|
||
|
||
autonumber 9.1
|
||
alt Подходит под условия OMS
|
||
WTIS -> WTIS: Не обрабатывает такой заказ
|
||
OMS -> OMS_database: Сохраняет заказ
|
||
OMS -> kafka_2: Записывает заказ в топик: oms.orders.sync
|
||
OMS_database -> OMS: Заказ успешно сохранен
|
||
WTIS -> kafka_2: Читает топик
|
||
WTIS -> WTIS: Создает заказ
|
||
WTIS -> OMS: Возвращает модель заказа через workflow
|
||
OMS -> OMS: Проводит автооформление
|
||
OMS -> WTIS: Резервирует товары
|
||
|
||
autonumber 9.9.1
|
||
alt Успешно зарезервировано
|
||
WTIS -> OMS: Товары в заказе успешно зарезервированы
|
||
WTIS -> WTIS: Конец процесса
|
||
|
||
else Не успешно зарезервировано
|
||
WTIS -> WTIS: Ставит задачу на менеджера, меняет мастер-систему
|
||
WTIS -> WTIS: Конец процесса
|
||
end
|
||
|
||
|
||
else Не подходит под условия OMS
|
||
autonumber 10.1
|
||
OMS -> OMS: Не обрабатывает такой заказ
|
||
WTIS -> WTIS_database: Сохраняет заказ
|
||
WTIS_database -> WTIS: Заказ успешно сохранен
|
||
WTIS -> WTIS: Конец процесса
|
||
end
|
||
|
||
@enduml |