add new scheme
This commit is contained in:
@@ -1,15 +1,15 @@
|
||||
@startuml
|
||||
scale 800*800
|
||||
mainframe Добавление контакта к КА в заказе
|
||||
actor Пользователь as user
|
||||
participant ARM as ARM
|
||||
participant OMS as OMS
|
||||
autonumber
|
||||
|
||||
user -> ARM: Добавляет контакт КА в кратком блоке КА
|
||||
activate ARM
|
||||
ARM -> OMS: API POST /orders/{orderId}/contacts/add
|
||||
activate OMS
|
||||
return API POST answer
|
||||
return ок
|
||||
@startuml
|
||||
scale 800*800
|
||||
mainframe Добавление контакта к КА в заказе
|
||||
actor Пользователь as user
|
||||
participant ARM as ARM
|
||||
participant OMS as OMS
|
||||
autonumber
|
||||
|
||||
user -> ARM: Добавляет контакт КА в кратком блоке КА
|
||||
activate ARM
|
||||
ARM -> OMS: API POST /orders/{orderId}/contacts/add
|
||||
activate OMS
|
||||
return API POST answer
|
||||
return ок
|
||||
@enduml
|
||||
@@ -1,15 +1,15 @@
|
||||
@startuml
|
||||
scale 800*800
|
||||
mainframe Добавление КА к заказу
|
||||
actor Пользователь as user
|
||||
participant ARM as ARM
|
||||
participant OMS as OMS
|
||||
autonumber
|
||||
|
||||
user -> ARM: Добавляет КА в заказ
|
||||
activate ARM
|
||||
ARM -> OMS: API POST /orders/{orderId}/contractors/add
|
||||
activate OMS
|
||||
return API POST answer
|
||||
return ок
|
||||
@startuml
|
||||
scale 800*800
|
||||
mainframe Добавление КА к заказу
|
||||
actor Пользователь as user
|
||||
participant ARM as ARM
|
||||
participant OMS as OMS
|
||||
autonumber
|
||||
|
||||
user -> ARM: Добавляет КА в заказ
|
||||
activate ARM
|
||||
ARM -> OMS: API POST /orders/{orderId}/contractors/add
|
||||
activate OMS
|
||||
return API POST answer
|
||||
return ок
|
||||
@enduml
|
||||
@@ -1,30 +1,30 @@
|
||||
@startuml
|
||||
scale 800*800
|
||||
mainframe Обновление данных в модели КА
|
||||
actor Пользователь as user
|
||||
participant ARM as ARM
|
||||
participant OMS as OMS
|
||||
participant MSKB as MSKB
|
||||
autonumber
|
||||
|
||||
user -> ARM: Нажимает кнопку "Сохранить"
|
||||
ARM -> OMS: API PUT /contractors/{contractorID}
|
||||
activate OMS
|
||||
OMS -> OMS: Разделяет модель КА\nна основные поля\n+ контакты
|
||||
alt Если изменена только основная модель
|
||||
OMS -> MSKB: API POST api/business/v2/physic/update
|
||||
activate MSKB
|
||||
return answer API POST
|
||||
else Если добавлены контакты
|
||||
OMS -> MSKB: API POST api/business/v2/contact/create
|
||||
activate MSKB
|
||||
return answer API POST
|
||||
else Если удалены контакты
|
||||
OMS -> MSKB: Удаление контакта КА:\n API DELETE api/business/v2/contact/delete
|
||||
activate MSKB
|
||||
return answer API DELETE
|
||||
end
|
||||
|
||||
return answer API PUT
|
||||
ARM --> user: Показывает сообщение и\nзакрывает модалку
|
||||
@startuml
|
||||
scale 800*800
|
||||
mainframe Обновление данных в модели КА
|
||||
actor Пользователь as user
|
||||
participant ARM as ARM
|
||||
participant OMS as OMS
|
||||
participant MSKB as MSKB
|
||||
autonumber
|
||||
|
||||
user -> ARM: Нажимает кнопку "Сохранить"
|
||||
ARM -> OMS: API PUT /contractors/{contractorID}
|
||||
activate OMS
|
||||
OMS -> OMS: Разделяет модель КА\nна основные поля\n+ контакты
|
||||
alt Если изменена только основная модель
|
||||
OMS -> MSKB: API POST api/business/v2/physic/update
|
||||
activate MSKB
|
||||
return answer API POST
|
||||
else Если добавлены контакты
|
||||
OMS -> MSKB: API POST api/business/v2/contact/create
|
||||
activate MSKB
|
||||
return answer API POST
|
||||
else Если удалены контакты
|
||||
OMS -> MSKB: Удаление контакта КА:\n API DELETE api/business/v2/contact/delete
|
||||
activate MSKB
|
||||
return answer API DELETE
|
||||
end
|
||||
|
||||
return answer API PUT
|
||||
ARM --> user: Показывает сообщение и\nзакрывает модалку
|
||||
@enduml
|
||||
@@ -1,19 +1,19 @@
|
||||
@startuml
|
||||
scale 800*800
|
||||
mainframe Логика "Создание КА"
|
||||
actor Пользователь as user
|
||||
participant ARM as ARM
|
||||
participant OMS as OMS
|
||||
participant MSKB as MSKB
|
||||
autonumber
|
||||
|
||||
user -> ARM: Нажимает кнопку "Создать контрагента"
|
||||
ARM -> OMS: API POST /contractors/create
|
||||
activate OMS
|
||||
OMS -> MSKB: API POST api/business/v2/physic/create
|
||||
activate MSKB
|
||||
return answer API POST
|
||||
|
||||
return answer API POST
|
||||
ARM --> user: Показывает сообщение и\nзакрывает модалку
|
||||
@startuml
|
||||
scale 800*800
|
||||
mainframe Логика "Создание КА"
|
||||
actor Пользователь as user
|
||||
participant ARM as ARM
|
||||
participant OMS as OMS
|
||||
participant MSKB as MSKB
|
||||
autonumber
|
||||
|
||||
user -> ARM: Нажимает кнопку "Создать контрагента"
|
||||
ARM -> OMS: API POST /contractors/create
|
||||
activate OMS
|
||||
OMS -> MSKB: API POST api/business/v2/physic/create
|
||||
activate MSKB
|
||||
return answer API POST
|
||||
|
||||
return answer API POST
|
||||
ARM --> user: Показывает сообщение и\nзакрывает модалку
|
||||
@enduml
|
||||
@@ -1,19 +1,19 @@
|
||||
@startuml
|
||||
scale 800*800
|
||||
mainframe Получение данных для полной карточки КА
|
||||
actor Пользователь as user
|
||||
participant ARM as ARM
|
||||
participant OMS as OMS
|
||||
participant MSKB as MSKB
|
||||
autonumber
|
||||
|
||||
user -> ARM: Открывает карточку контрагента
|
||||
ARM -> OMS: API GET /contractors/{contractorID}
|
||||
activate OMS
|
||||
OMS -> MSKB: GraphQL contractorPhysic
|
||||
activate MSKB
|
||||
return answer API GET
|
||||
|
||||
return answer get_short_info_contact
|
||||
ARM --> user: Рендерит карточку контрагента
|
||||
@startuml
|
||||
scale 800*800
|
||||
mainframe Получение данных для полной карточки КА
|
||||
actor Пользователь as user
|
||||
participant ARM as ARM
|
||||
participant OMS as OMS
|
||||
participant MSKB as MSKB
|
||||
autonumber
|
||||
|
||||
user -> ARM: Открывает карточку контрагента
|
||||
ARM -> OMS: API GET /contractors/{contractorID}
|
||||
activate OMS
|
||||
OMS -> MSKB: GraphQL contractorPhysic
|
||||
activate MSKB
|
||||
return answer API GET
|
||||
|
||||
return answer get_short_info_contact
|
||||
ARM --> user: Рендерит карточку контрагента
|
||||
@enduml
|
||||
@@ -1,21 +1,21 @@
|
||||
@startuml
|
||||
scale 800*800
|
||||
mainframe Логика подблока "Информация о контрагенте"
|
||||
actor Пользователь as user
|
||||
participant ARM as ARM
|
||||
participant OMS as OMS
|
||||
participant WTIS as WTIS
|
||||
autonumber
|
||||
|
||||
user -> ARM: Нажимает кнопку раскрытия блока
|
||||
activate ARM
|
||||
ARM -> OMS: API GET\n/contractors/{contractorID}/orderInfo
|
||||
activate OMS
|
||||
OMS -> WTIS: API GET\napi/order/oms_export/contragent_info_oms/{guid}
|
||||
activate WTIS
|
||||
WTIS -> WTIS: prepare data
|
||||
return API GET answer
|
||||
return API GET answer
|
||||
|
||||
return Рендерит блок
|
||||
@startuml
|
||||
scale 800*800
|
||||
mainframe Логика подблока "Информация о контрагенте"
|
||||
actor Пользователь as user
|
||||
participant ARM as ARM
|
||||
participant OMS as OMS
|
||||
participant WTIS as WTIS
|
||||
autonumber
|
||||
|
||||
user -> ARM: Нажимает кнопку раскрытия блока
|
||||
activate ARM
|
||||
ARM -> OMS: API GET\n/contractors/{contractorID}/orderInfo
|
||||
activate OMS
|
||||
OMS -> WTIS: API GET\napi/order/oms_export/contragent_info_oms/{guid}
|
||||
activate WTIS
|
||||
WTIS -> WTIS: prepare data
|
||||
return API GET answer
|
||||
return API GET answer
|
||||
|
||||
return Рендерит блок
|
||||
@enduml
|
||||
@@ -1,38 +1,38 @@
|
||||
@startuml
|
||||
scale 800*800
|
||||
mainframe Логика блока "Поиск КА"
|
||||
actor Пользователь as user
|
||||
participant ARM as ARM
|
||||
participant OMS as OMS
|
||||
participant MSKB as MSKB
|
||||
autonumber
|
||||
|
||||
user -> ARM: Нажимает кнопку "Поиск КА"
|
||||
|
||||
return рендерит шаблон модального окна
|
||||
|
||||
alt Если ищем только по номеру телефона
|
||||
user -> ARM: Заполняет номер телефона полностью
|
||||
else Если ищем только по email
|
||||
user -> ARM: Заполняет email полностью
|
||||
else Если ищем по номеру телефона И email
|
||||
user -> ARM: Заполняет номер телефона И email полностью
|
||||
end
|
||||
ARM -> ARM: валидирует поля
|
||||
alt Валидация не успешна
|
||||
ARM -> user: Информирует пользователя об ошибках
|
||||
|
||||
else Валидация успешно пройдена
|
||||
ARM -> OMS: /contractors/search
|
||||
activate OMS
|
||||
end
|
||||
|
||||
OMS -> MSKB: API POST /api/business/v2/physic/search
|
||||
activate MSKB
|
||||
MSKB -> MSKB: prepare_data
|
||||
return answer API POST
|
||||
|
||||
return success
|
||||
|
||||
ARM -> user: Отображает результаты поиска
|
||||
@startuml
|
||||
scale 800*800
|
||||
mainframe Логика блока "Поиск КА"
|
||||
actor Пользователь as user
|
||||
participant ARM as ARM
|
||||
participant OMS as OMS
|
||||
participant MSKB as MSKB
|
||||
autonumber
|
||||
|
||||
user -> ARM: Нажимает кнопку "Поиск КА"
|
||||
|
||||
return рендерит шаблон модального окна
|
||||
|
||||
alt Если ищем только по номеру телефона
|
||||
user -> ARM: Заполняет номер телефона полностью
|
||||
else Если ищем только по email
|
||||
user -> ARM: Заполняет email полностью
|
||||
else Если ищем по номеру телефона И email
|
||||
user -> ARM: Заполняет номер телефона И email полностью
|
||||
end
|
||||
ARM -> ARM: валидирует поля
|
||||
alt Валидация не успешна
|
||||
ARM -> user: Информирует пользователя об ошибках
|
||||
|
||||
else Валидация успешно пройдена
|
||||
ARM -> OMS: /contractors/search
|
||||
activate OMS
|
||||
end
|
||||
|
||||
OMS -> MSKB: API POST /api/business/v2/physic/search
|
||||
activate MSKB
|
||||
MSKB -> MSKB: prepare_data
|
||||
return answer API POST
|
||||
|
||||
return success
|
||||
|
||||
ARM -> user: Отображает результаты поиска
|
||||
@enduml
|
||||
@@ -1,20 +1,20 @@
|
||||
@startuml
|
||||
scale 1000*1000
|
||||
mainframe Получение данных (Реализации, оплаты) от WTIS MVP
|
||||
participant WTIS as WTIS
|
||||
queue kafka
|
||||
participant workflow as workflow
|
||||
collections Redis as redis
|
||||
autonumber
|
||||
hnote over WTIS: После MVP WTIS изменится\nна сервис баланса
|
||||
|
||||
loop Всегда
|
||||
WTIS -> kafka: Пишет все инфо\nо документах по заказу
|
||||
workflow -> kafka: Получает документы\nк заказу из очереди
|
||||
alt данных нет в кэше по ключу
|
||||
workflow -> redis: Сохраняет в кэш\nКраткую форму на 7 дней\nПолную форму на 3 дня
|
||||
else данные есть в кэше по ключу
|
||||
workflow -> redis: Удаляет запись по ключу
|
||||
workflow -> redis: Сохраняет в кэш\nКраткую форму на 7 дней\nПолную форму на 3 дня
|
||||
end
|
||||
@startuml
|
||||
scale 1000*1000
|
||||
mainframe Получение данных (Реализации, оплаты) от WTIS MVP
|
||||
participant WTIS as WTIS
|
||||
queue kafka
|
||||
participant workflow as workflow
|
||||
collections Redis as redis
|
||||
autonumber
|
||||
hnote over WTIS: После MVP WTIS изменится\nна сервис баланса
|
||||
|
||||
loop Всегда
|
||||
WTIS -> kafka: Пишет все инфо\nо документах по заказу
|
||||
workflow -> kafka: Получает документы\nк заказу из очереди
|
||||
alt данных нет в кэше по ключу
|
||||
workflow -> redis: Сохраняет в кэш\nКраткую форму на 7 дней\nПолную форму на 3 дня
|
||||
else данные есть в кэше по ключу
|
||||
workflow -> redis: Удаляет запись по ключу
|
||||
workflow -> redis: Сохраняет в кэш\nКраткую форму на 7 дней\nПолную форму на 3 дня
|
||||
end
|
||||
@enduml
|
||||
@@ -1,19 +1,19 @@
|
||||
@startuml
|
||||
scale 1000*1000
|
||||
mainframe Получение данных безналичная оплата / оплата по счету из kafka
|
||||
participant paykeeper
|
||||
participant 1C
|
||||
queue kafka
|
||||
participant workflow as workflow
|
||||
collections PaymentsDb as PaymentsDb
|
||||
autonumber
|
||||
|
||||
loop Всегда
|
||||
paykeeper -> kafka: Пишет все инфо\nо документах по заказу
|
||||
1C -> kafka: Пишет все инфо\nо документах по заказу
|
||||
workflow -> kafka: Получает документы\nк заказу из очереди
|
||||
workflow -> workflow: Преобразовывает данные
|
||||
workflow -> PaymentsDb: Записывает в коллекцию
|
||||
end
|
||||
|
||||
@startuml
|
||||
scale 1000*1000
|
||||
mainframe Получение данных безналичная оплата / оплата по счету из kafka
|
||||
participant paykeeper
|
||||
participant 1C
|
||||
queue kafka
|
||||
participant workflow as workflow
|
||||
collections PaymentsDb as PaymentsDb
|
||||
autonumber
|
||||
|
||||
loop Всегда
|
||||
paykeeper -> kafka: Пишет все инфо\nо документах по заказу
|
||||
1C -> kafka: Пишет все инфо\nо документах по заказу
|
||||
workflow -> kafka: Получает документы\nк заказу из очереди
|
||||
workflow -> workflow: Преобразовывает данные
|
||||
workflow -> PaymentsDb: Записывает в коллекцию
|
||||
end
|
||||
|
||||
@enduml
|
||||
@@ -1,46 +1,46 @@
|
||||
@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документов
|
||||
|
||||
@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
|
||||
@@ -1,36 +1,36 @@
|
||||
@startuml
|
||||
scale 1000*1000
|
||||
mainframe Получение данных для отрисовки модалки Реализации или оплаты наличными
|
||||
participant WTIS as WTIS
|
||||
collections Redis as redis
|
||||
participant workflow as workflow
|
||||
participant gateway as gateway
|
||||
participant ARM as ARM
|
||||
actor user as user
|
||||
|
||||
autonumber
|
||||
hnote over WTIS: После MVP WTIS изменится\nна сервис баланса
|
||||
|
||||
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
|
||||
return answer
|
||||
deactivate WTIS
|
||||
workflow -> redis: Сохраняет в кэш\nКраткую форму на 7 дней\nПолную форму на 3 дня (спорно)
|
||||
redis --> workflow: Сообщение об успешном сохранении
|
||||
workflow --> gateway: Возвращает\nдокументы\n к заказу
|
||||
deactivate workflow
|
||||
end
|
||||
gateway --> ARM: данные по документу
|
||||
ARM -> user: рендерит модальное\nокно с инфо\nо документе
|
||||
|
||||
@startuml
|
||||
scale 1000*1000
|
||||
mainframe Получение данных для отрисовки модалки Реализации или оплаты наличными
|
||||
participant WTIS as WTIS
|
||||
collections Redis as redis
|
||||
participant workflow as workflow
|
||||
participant gateway as gateway
|
||||
participant ARM as ARM
|
||||
actor user as user
|
||||
|
||||
autonumber
|
||||
hnote over WTIS: После MVP WTIS изменится\nна сервис баланса
|
||||
|
||||
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
|
||||
return answer
|
||||
deactivate WTIS
|
||||
workflow -> redis: Сохраняет в кэш\nКраткую форму на 7 дней\nПолную форму на 3 дня (спорно)
|
||||
redis --> workflow: Сообщение об успешном сохранении
|
||||
workflow --> gateway: Возвращает\nдокументы\n к заказу
|
||||
deactivate workflow
|
||||
end
|
||||
gateway --> ARM: данные по документу
|
||||
ARM -> user: рендерит модальное\nокно с инфо\nо документе
|
||||
|
||||
@enduml
|
||||
@@ -1,38 +1,38 @@
|
||||
@startuml
|
||||
scale 1000*1000
|
||||
mainframe Получение данных для отрисовки таблицы реализаций MVP
|
||||
participant WTIS as WTIS
|
||||
collections Redis as redis
|
||||
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
|
||||
return answer
|
||||
deactivate WTIS
|
||||
workflow -> redis: Сохраняет в кэш\nКраткую форму на 7 дней\nПолную форму на 3 дня (спорно)
|
||||
redis --> workflow: Сообщение об успешном сохранении
|
||||
workflow --> gateway: Возвращает\nдокументы\n к заказу
|
||||
deactivate workflow
|
||||
end
|
||||
|
||||
gateway --> ARM: возвращает\nданные о заказе
|
||||
deactivate gateway
|
||||
ARM --> user: Рендерит блок\nдокументов
|
||||
|
||||
@startuml
|
||||
scale 1000*1000
|
||||
mainframe Получение данных для отрисовки таблицы реализаций MVP
|
||||
participant WTIS as WTIS
|
||||
collections Redis as redis
|
||||
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
|
||||
return answer
|
||||
deactivate WTIS
|
||||
workflow -> redis: Сохраняет в кэш\nКраткую форму на 7 дней\nПолную форму на 3 дня (спорно)
|
||||
redis --> workflow: Сообщение об успешном сохранении
|
||||
workflow --> gateway: Возвращает\nдокументы\n к заказу
|
||||
deactivate workflow
|
||||
end
|
||||
|
||||
gateway --> ARM: возвращает\nданные о заказе
|
||||
deactivate gateway
|
||||
ARM --> user: Рендерит блок\nдокументов
|
||||
|
||||
@enduml
|
||||
@@ -1,41 +1,41 @@
|
||||
@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
|
||||
|
||||
@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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user