59 lines
2.5 KiB
Plaintext
59 lines
2.5 KiB
Plaintext
@startuml
|
||
scale 1300x1300
|
||
mainframe AS IS обмен по созданию заказа на сайте
|
||
Actor USER
|
||
participant SITE
|
||
database SITE_database
|
||
queue kafka_1
|
||
participant WTIS
|
||
database WTIS_database
|
||
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
|
||
WTIS -> kafka_1: Читает сообщения из топика
|
||
WTIS -> WTIS_database: Сохраняет заказ
|
||
WTIS_database -> WTIS: Заказ успешно сохранен
|
||
WTIS -> WTIS: Проверяет условия для MVP\nсогласно настроек в wtis_settings
|
||
|
||
autonumber 9.1
|
||
alt Заказ подходит под условия OMS
|
||
WTIS -> kafka_2: Записывает заказ в топик: wtis.order_oms.created
|
||
else Заказ не подходит под условия OMS
|
||
WTIS -> WTIS: Продолжает процедуру автооформления\nзаказа и обогащения данными
|
||
WTIS -> WTIS: Конец процесса
|
||
end
|
||
|
||
autonumber 10
|
||
OMS -> kafka_2: Читает событие из топика
|
||
OMS -> OMS_database: Сохраняет заказ в БД
|
||
OMS_database -> OMS: Заказ успешно сохранен
|
||
|
||
OMS -> OMS: Проводит бизнес проверки
|
||
OMS -> WTIS: Резервирует товары
|
||
|
||
autonumber 15.1
|
||
alt Успешно зарезервировано
|
||
WTIS -> OMS: Товары в заказе успешно зарезервированы
|
||
else Не успешно зарезервировано
|
||
WTIS -> WTIS: Ставит задачу на менеджера, меняет мастер-систему
|
||
WTIS -> WTIS: Конец процесса
|
||
end
|
||
|
||
@enduml |