44 lines
2.4 KiB
Plaintext
44 lines
2.4 KiB
Plaintext
@startuml
|
||
scale 1500x1500
|
||
mainframe Автооформление заказов
|
||
actor user as user
|
||
participant SITE
|
||
queue kafka
|
||
participant Gateway
|
||
participant workflow
|
||
participant wtis
|
||
participant CRM
|
||
|
||
user -> SITE: Оформляет заказ
|
||
SITE -> SITE: Сохраняет заказ в БД
|
||
SITE --> kafka: Пишет заказ в kafka
|
||
Gateway --> kafka: Забирает заказ
|
||
|
||
Gateway -> workflow: CreateB2CAO
|
||
workflow -> workflow: Проверяет условия АО
|
||
workflow -> workflow: Проверяет тип доставки
|
||
workflow -> wtis: синк заказа во втис через kafka
|
||
alt Тип доставки "Курьером"
|
||
workflow -> workflow: Устанавливает таймер на N минут
|
||
alt Поступила оплата в заказ до истечения срока таймера
|
||
workflow -> workflow: Заканчивает автооформление\nУстанавливает дату доставки\nзаказа
|
||
workflow -> wtis: Синхронизирует заказ со WTIS
|
||
else Не поступила оплата в заказ до истечения срока таймера
|
||
workflow -> CRM: Ставится задача с типом 21 в CRM
|
||
end
|
||
else Тип доставки "Самовывоз"
|
||
workflow -> workflow: Проверяет наличие\nкрупногабаритных товаров\nв заказе
|
||
alt Крупногабаритных товаров в заказе нет
|
||
workflow -> workflow: Заканчивает автооформление\nУстанавливает дату доставки\nзаказа
|
||
workflow -> wtis: Синхронизирует заказ со WTIS
|
||
else Крупногабаритные товары в заказе есть
|
||
workflow -> workflow: Устанавливает таймер на N минут
|
||
alt Поступила оплата в заказ до истечения срока таймера
|
||
workflow -> workflow: Заканчивает автооформление\nУстанавливает дату доставки\nзаказа
|
||
workflow -> wtis: Синхронизирует заказ со WTIS
|
||
else Не поступила оплата в заказ до истечения срока таймера
|
||
workflow -> CRM: Ставится задача с типом 21 в CRM
|
||
end
|
||
end
|
||
end
|
||
@enduml |