@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