Initial commit
This commit is contained in:
79
oms/process/correction.puml
Normal file
79
oms/process/correction.puml
Normal file
@@ -0,0 +1,79 @@
|
||||
@startuml
|
||||
scale 2000x2000
|
||||
mainframe Внесение изменения в заказ в статусе "В работе"
|
||||
Actor USER
|
||||
participant ARM
|
||||
participant Gateway
|
||||
participant Workflow
|
||||
participant History
|
||||
participant WTIS
|
||||
|
||||
'-------------------------------------------action-------------------
|
||||
autonumber
|
||||
|
||||
USER -> ARM: Открывает заказ
|
||||
USER -> ARM: Нажимает кнопку\n"Редактировать заказ"
|
||||
ARM -> Gateway: Запрос с номером заказа
|
||||
Gateway -> Workflow: Инициирует запуск workflow
|
||||
Workflow -> History: Открывает транзакцию\nrpc StartTransaction(StartTransactionRequest)
|
||||
History --> Workflow: Подтверждает открытие транзакции\nreturn StartTransactionResponse
|
||||
Workflow -> Workflow: Запускает workflow с бизнес-логикой:\n<b>В ТЗ: Функциональные изменения\n<b>-На стороне Workflow\n<b>-"Получение доступных типов корректировок"
|
||||
Workflow -> WTIS: Запрашивает признак доступности корректировки для атрибутов
|
||||
WTIS -> Workflow: Возвращает доступные для редактирования атрибуты
|
||||
Workflow --> Gateway: Возвращает поля доступные\nдля редактирования
|
||||
Gateway --> ARM: Возвращает атрибуты\nдоступные для редактирования
|
||||
ARM --> USER: Дизейблит недоступные для\nредактирования элементы\n<b>В ТЗ: Функциональные изменения\n<b>"На стороне ARM"
|
||||
|
||||
loop Внесение корректировок пользоваелем и наполнение транзакции
|
||||
USER -> ARM: Вносит корректировки
|
||||
ARM -> Gateway: Использует стандартные\nendpoint заказа
|
||||
Gateway -> Workflow: Передает запрос в workflow
|
||||
Workflow -> Workflow: Проверяет что транзакция открыта:\n<b>В ТЗ: Проверка наличия открытой транзакции
|
||||
autonumber 14.1.1
|
||||
alt Транзакция закрыта
|
||||
Workflow -> Gateway: Возвращает ошибку
|
||||
Gateway -> ARM: answer
|
||||
ARM -> USER: Выводит сообщение:\n"Транзакция была закрыта,\nнеобходимо заново открыть\nзаказ на корректировку"
|
||||
|
||||
autonumber 14.2.1
|
||||
else Транзакция открыта
|
||||
Workflow -> History: Отправляет GRPC сигнал\nс корректировками в History\nrpc CreateEvent(CreateEventRequest)
|
||||
History -> History: Сохраняет\nкорректировки
|
||||
History --> Workflow: return CreateEventResponse
|
||||
Workflow --> Gateway: answer
|
||||
Gateway --> ARM: answer
|
||||
end 'Это end alt
|
||||
autonumber 15
|
||||
|
||||
end 'Это end loop
|
||||
|
||||
USER -> ARM: Нажимает кнопку\n"Сохранить изменения"\nИЛИ "Отменить изменения"
|
||||
ARM -> Gateway: Отправляет запрос на\n/orders/end-correction/orderID={orderGUID}
|
||||
Gateway -> Workflow: Вызывает wf
|
||||
Workflow -> History: Запрашивает актуальное\nсостояние заказа\nrpc GetLastState(GetLastStateRequest)
|
||||
History --> Workflow: Возвращает Модель заказа\nс примененнеными корректировками\nreturn GetLastStateResponse
|
||||
Workflow -> Workflow: Закрывает транзакцию,\nсохраняет актуальный\nзаказ в Order/shipment
|
||||
Workflow -> WTIS: Отправляет модель заказа через топик kafka: <b>oms.order.sync</b>\n<b>В ТЗ: Функциональные изменения - "На стороне Gateway" - п.2
|
||||
WTIS -> WTIS: Пытается применить\nвсе изменения в заказе
|
||||
|
||||
autonumber 22.1.1
|
||||
alt Изменения успешно проведены
|
||||
WTIS --> Workflow: Возвращает сигнал в temporal success
|
||||
Workflow -> History: Отправляет GRPC сигнал о закрытии\nтранзакции\nrpc EndTransaction(EndTransactionRequest)
|
||||
History --> Workflow: Подтверждает закрытие\nтранзакции\nreturn EndTransactionResponse
|
||||
Workflow --> Gateway: answer
|
||||
Gateway --> ARM: answer
|
||||
ARM --> USER: Отображает модальное\nокно "Изменения\nуспешно сохранены"
|
||||
|
||||
autonumber 22.2.1
|
||||
else Изменения не проведены
|
||||
WTIS --> Workflow: Возвращает сигнал в temporal failed
|
||||
Workflow -> History: Отправляет GRPC сигнал\nоб удалении транзакции
|
||||
History --> Workflow: Отправляет GRPC сигнал\nчто транзакция удалена
|
||||
Workflow -> Workflow: Откатывает изменения,\nудаляет корректировки
|
||||
Workflow --> Gateway: answer
|
||||
Gateway --> ARM: answer
|
||||
ARM --> USER: Отображает модальное\nокно "Не удалось\nприменить изменения"
|
||||
end
|
||||
|
||||
@enduml
|
||||
Reference in New Issue
Block a user