Initial commit

This commit is contained in:
Andrey
2024-04-08 19:15:50 +03:00
commit 072ced2815
51 changed files with 2926 additions and 0 deletions

77
oms/process/booking.puml Normal file
View File

@@ -0,0 +1,77 @@
@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 --> Gateway: Возвращает поля доступные\nдля редактирования
Gateway --> ARM: Возвращает ответ что транзакция открыта
ARM --> USER: Разблокирует все элементы в\nинтерфейсе для редактирования
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:\n<b>В ТЗ: Функциональные изменения - "На стороне Gateway" - п.2
WTIS -> WTIS: Обновляет сущность заказа
autonumber 22.1.1
alt Изменения успешно проведены
WTIS --> Workflow: Возвращает ответ 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: Возвращает ответ failed
Workflow -> History: Отправляет GRPC сигнал\nоб удалении транзакции
History --> Workflow: Отправляет GRPC сигнал\nчто транзакция удалена
Workflow -> Workflow: Откатывает изменения,\nудаляет корректировки
Workflow --> Gateway: answer
Gateway --> ARM: answer
ARM --> USER: Отображает модальное\nокно "Не удалось\nприменить изменения"
end
@enduml