41 lines
1.2 KiB
Plaintext
41 lines
1.2 KiB
Plaintext
@startuml
|
||
scale 800*800
|
||
mainframe Получение списка регионов от Officer
|
||
actor Пользователь as user
|
||
participant ARM as ARM
|
||
participant gateway as gateway
|
||
collections redis as redis
|
||
participant workflow as workflow
|
||
participant officer as officer
|
||
autonumber
|
||
|
||
user -> ARM: Открывает форму\nзаказа
|
||
activate ARM
|
||
ARM -> gateway: REST API GET\n инфо о регионах
|
||
activate gateway
|
||
gateway -> redis: Запрашивает\nсписок\nрегионов
|
||
|
||
opt Данные о регионах есть в кэше
|
||
redis --> gateway: answer
|
||
else Данные необходимо обновить в кэше
|
||
gateway -> workflow: триггерит обновление
|
||
activate workflow
|
||
workflow -> officer: GraphQL method\noffices
|
||
activate officer
|
||
officer --> workflow: GraphQL answer
|
||
workflow -> officer: GraphQL method\nlocalities
|
||
officer --> workflow: GraphQL answer
|
||
deactivate officer
|
||
workflow -> workflow: Обработка\nданных
|
||
workflow -> redis: Записывает регионы\nи параметры в экш
|
||
workflow --> gateway: answer
|
||
deactivate workflow
|
||
end
|
||
|
||
gateway --> ARM: REST API GET\nanswer
|
||
deactivate gateway
|
||
ARM --> user: Рендерит данные
|
||
deactivate ARM
|
||
@enduml
|
||
|
||
|