@startuml scale 1000*1000 mainframe Получение данных для отрисовки таблицы оплат MVP participant WTIS as WTIS collections Redis as redis participant payments as payments participant workflow as workflow participant gateway as gateway participant ARM as ARM actor user as user autonumber hnote over WTIS: После MVP WTIS изменится\nна сервис баланса autonumber 1 user -> ARM: Открывает заказ ARM -> gateway: Запрашивает\nдокументы к заказу activate gateway == Получение данных о наличной оплате == gateway -> redis: Проверяет наличие\nданных в кэше alt данные есть в кэше redis --> gateway: Возвращает\nдокументы\n к заказу else данных нет в кэше redis --> gateway: Возвращает\nпустой ответ gateway -> workflow: Триггерит на\nобновление данных activate workflow workflow -> WTIS: API GET order_doc_info() activate WTIS WTIS --> workflow: answer deactivate WTIS workflow -> redis: Сохраняет в кэш\nКраткую форму на 7 дней\nПолную форму на 3 дня (спорно) redis --> workflow: Сообщение об успешном сохранении workflow --> gateway: Возвращает\nдокументы\n к заказу end == Получение данных о других типах оплаты == workflow -> payments: Запрашивает данные\nоб онлайн оплате И\nпо счету activate payments payments --> workflow: answer deactivate payments workflow -> workflow: Агрегирует данные\nс источников workflow --> gateway: answer deactivate workflow gateway --> ARM: возвращает\nданные об оплатах deactivate gateway ARM --> user: Рендерит блок\nдокументов @enduml