This commit is contained in:
KatykhinAA
2024-09-09 09:05:15 +03:00
parent e0abd0257b
commit b15ab20a18
17 changed files with 925 additions and 874 deletions

View File

@@ -1,33 +1,33 @@
@startuml
scale 1200*1200
mainframe Получение свободных остатков
actor Пользователь as user
participant ARM as ARM
participant OMS as OMS
collections Cache as cache
participant Shcat as Shcat
participant Susanin as Susanin
autonumber
user -> ARM: Нажимает на остатки товара\nв товарной строке заказа
ARM -> OMS: API GET /quantity-list-by-office
activate OMS
OMS -> OMS: валидирует запрос
OMS -> cache: Забрать все офисы из кэша
activate cache
return answer
OMS -> Shcat: POST method rests.get
activate Shcat
return answer API POST
OMS -> Susanin: POST method get_logistic_chains_with_priority
activate Susanin
return answer API POST
OMS -> OMS: Формирует два массива:\n1. По лог.цепям\n2. Прочие склады
return answer API GET
ARM --> user: Рендерит данные в модальном окне
@startuml
scale 1200*1200
mainframe Получение свободных остатков
actor Пользователь as user
participant ARM as ARM
participant OMS as OMS
collections Cache as cache
participant Shcat as Shcat
participant Susanin as Susanin
autonumber
user -> ARM: Нажимает на остатки товара\nв товарной строке заказа
ARM -> OMS: API GET /quantity-list-by-office
activate OMS
OMS -> OMS: валидирует запрос
OMS -> cache: Забрать все офисы из кэша
activate cache
return answer
OMS -> Shcat: POST method rests.get
activate Shcat
return answer API POST
OMS -> Susanin: POST method get_logistic_chains_with_priority
activate Susanin
return answer API POST
OMS -> OMS: Формирует два массива:\n1. По лог.цепям\n2. Прочие склады
return answer API GET
ARM --> user: Рендерит данные в модальном окне
@enduml

View File

@@ -1,24 +1,24 @@
@startuml
scale 1200*1200
mainframe Получение остатков под резервом
actor Пользователь as user
participant ARM as ARM
participant OMS as OMS
participant Susanin as Susanin
autonumber
user -> ARM: Нажимает на остатки товара\nв товарной строке заказа
ARM -> OMS: API GET /quantity-list-by-office
activate OMS
OMS -> OMS: валидирует запрос
OMS -> Susanin: POST method get_logistic_chains_with_priority
activate Susanin
return answer API POST
OMS -> OMS: запрос в mongodb Order с фильтрами по товару
OMS -> OMS: Формирует два массива:\n1. По лог.цепям\n2. Прочие склады
return answer API GET
ARM --> user: Рендерит данные в модальном окне
@startuml
scale 1200*1200
mainframe Получение остатков под резервом
actor Пользователь as user
participant ARM as ARM
participant OMS as OMS
participant Susanin as Susanin
autonumber
user -> ARM: Нажимает на остатки товара\nв товарной строке заказа
ARM -> OMS: API GET /quantity-list-by-office
activate OMS
OMS -> OMS: валидирует запрос
OMS -> Susanin: POST method get_logistic_chains_with_priority
activate Susanin
return answer API POST
OMS -> OMS: запрос в mongodb Order с фильтрами по товару
OMS -> OMS: Формирует два массива:\n1. По лог.цепям\n2. Прочие склады
return answer API GET
ARM --> user: Рендерит данные в модальном окне
@enduml

View File

@@ -1,52 +1,52 @@
@startuml
mainframe Получение заказов для отображения фильтров
autonumber
actor user
participant ARM
participant OMS
collections Redis
participant MSKB
database Database
user -> ARM: Устанавливает фильтры
alt устанавливает фильтр по ПВЗ
user -> ARM: Начинает вводить наименование ПВЗ
ARM -> OMS: Запрашивает список подходящих ПВЗ
OMS -> Redis: Запрашивает список ПВЗ
Redis --> OMS: Возвращает список ПВЗ
OMS --> ARM: Возвращает список ПВЗ
user -> ARM: Выбирает необходимый ПВЗ
ARM -> ARM: Запоминает идентификатор ПВЗ
else устанавливает фильтр по менеджеру
user -> ARM: Начинает вводить ФИО менеджера
ARM -> OMS: Запрашивает список подходящих менеджеров
OMS -> Redis: Запрашивает список менеджеров
Redis --> OMS: Возвращает список менеджеров
OMS --> ARM: Возвращает список менеджеров
user -> ARM: Выбирает необходимого менеджера
ARM -> ARM: Запоминает идентификатор менеджера
else устанавливает фильтр по КА
user -> ARM: Нажимает на фильтр по КА
ARM --> user: Открывает модальное окно "Поиск КА"
user -> ARM: Ищет необходимого КА
ARM -> OMS: Запрашивает список подходящих КА
OMS -> MSKB: Запрашивает список КА
MSKB --> OMS: Возвращает список КА
OMS --> ARM: Возвращает список КА
user -> ARM: Выбирает необходимого КА
ARM -> ARM: Запоминает идентификатор КА
end
alt Необходимы сортировки
user -> ARM: Выбирает необходимую сортировку
ARM -> ARM: Запоминает выбор пользователя
else Не устанавливаются сортировки
end
user -> ARM: Нажимает кнопку Enter или "Обновить"
ARM -> ARM: Формирует запрос на bf
ARM -> OMS: Отправляет запрос
OMS -> Database: Запрашивает список заказов\nс установленными фильтрами
Database --> OMS: Ответ
OMS --> ARM: Ответ
ARM --> user: Отображает журнал заказов
@startuml
mainframe Получение заказов для отображения фильтров
autonumber
actor user
participant ARM
participant OMS
collections Redis
participant MSKB
database Database
user -> ARM: Устанавливает фильтры
alt устанавливает фильтр по ПВЗ
user -> ARM: Начинает вводить наименование ПВЗ
ARM -> OMS: Запрашивает список подходящих ПВЗ
OMS -> Redis: Запрашивает список ПВЗ
Redis --> OMS: Возвращает список ПВЗ
OMS --> ARM: Возвращает список ПВЗ
user -> ARM: Выбирает необходимый ПВЗ
ARM -> ARM: Запоминает идентификатор ПВЗ
else устанавливает фильтр по менеджеру
user -> ARM: Начинает вводить ФИО менеджера
ARM -> OMS: Запрашивает список подходящих менеджеров
OMS -> Redis: Запрашивает список менеджеров
Redis --> OMS: Возвращает список менеджеров
OMS --> ARM: Возвращает список менеджеров
user -> ARM: Выбирает необходимого менеджера
ARM -> ARM: Запоминает идентификатор менеджера
else устанавливает фильтр по КА
user -> ARM: Нажимает на фильтр по КА
ARM --> user: Открывает модальное окно "Поиск КА"
user -> ARM: Ищет необходимого КА
ARM -> OMS: Запрашивает список подходящих КА
OMS -> MSKB: Запрашивает список КА
MSKB --> OMS: Возвращает список КА
OMS --> ARM: Возвращает список КА
user -> ARM: Выбирает необходимого КА
ARM -> ARM: Запоминает идентификатор КА
end
alt Необходимы сортировки
user -> ARM: Выбирает необходимую сортировку
ARM -> ARM: Запоминает выбор пользователя
else Не устанавливаются сортировки
end
user -> ARM: Нажимает кнопку Enter или "Обновить"
ARM -> ARM: Формирует запрос на bf
ARM -> OMS: Отправляет запрос
OMS -> Database: Запрашивает список заказов\nс установленными фильтрами
Database --> OMS: Ответ
OMS --> ARM: Ответ
ARM --> user: Отображает журнал заказов
@enduml

View File

@@ -1,29 +1,29 @@
@startuml
mainframe Получение заказов для отображения фильтров
autonumber
actor user
participant ARM
participant OMS
database Database
user -> ARM: Вводит один или несколько номеров заказов
ARM -> ARM: Делит строку по пробелам
alt Необходимы сортировки
user -> ARM: Выбирает необходимую сортировку
ARM -> ARM: Запоминает выбор пользователя
else Не устанавливаются сортировки
end
user -> ARM: Нажимает кнопку Enter или "Обновить"
ARM -> ARM: Формирует запрос
ARM -> OMS: Отправляет запрос на bf
OMS -> OMS: Проверяет есть ли объекты длиной 5 символов
alt Если такие объекты есть
OMS -> OMS: Формирует запрос с регулярным выражением,\nгде поиск осуществляется\nпо последним 5 символам строки
else Если таких объектов нет
OMS -> OMS: Формирует стандартный запрос в БД
end
OMS -> Database: Запрашивает список заказов по выбранным параметрам
Database --> OMS: Ответ
OMS --> ARM: Ответ
ARM --> user: Отображает журнал заказов
@startuml
mainframe Получение заказов для отображения фильтров
autonumber
actor user
participant ARM
participant OMS
database Database
user -> ARM: Вводит один или несколько номеров заказов
ARM -> ARM: Делит строку по пробелам
alt Необходимы сортировки
user -> ARM: Выбирает необходимую сортировку
ARM -> ARM: Запоминает выбор пользователя
else Не устанавливаются сортировки
end
user -> ARM: Нажимает кнопку Enter или "Обновить"
ARM -> ARM: Формирует запрос
ARM -> OMS: Отправляет запрос на bf
OMS -> OMS: Проверяет есть ли объекты длиной 5 символов
alt Если такие объекты есть
OMS -> OMS: Формирует запрос с регулярным выражением,\nгде поиск осуществляется\nпо последним 5 символам строки
else Если таких объектов нет
OMS -> OMS: Формирует стандартный запрос в БД
end
OMS -> Database: Запрашивает список заказов по выбранным параметрам
Database --> OMS: Ответ
OMS --> ARM: Ответ
ARM --> user: Отображает журнал заказов
@enduml

View File

@@ -1,38 +1,38 @@
@startuml
scale 800*800
mainframe Взаимодействие с историей изменения заказ
actor Пользователь as user
participant ARM as ARM
participant OMS as OMS
participant History as History
autonumber
user -> ARM: Нажимает кнопку "История изменений"
ARM -> OMS: REST GET /order-history
OMS -> History: REST GET api/v1/order_history_short/
History --> OMS: answer
OMS --> ARM: answer
ARM --> user: Рендерит страницу "История изменений"
user -> ARM: Нажимает кнопку "Подробнее" в корректировке
ARM -> OMS: REST GET /order-history-event
OMS -> History: REST GET api/v1/event_changed/
History --> OMS: answer
OMS --> ARM: answer
ARM --> user: Отображает полную информацию о корректировке
user -> ARM: Выбирает фильтр по дате или по типу корректировки
ARM -> OMS: REST GET /order-history-filters
OMS -> History: REST GET api/v1/events_from_entity/
History --> OMS: answer
OMS --> ARM: answer
ARM --> user: Отображает корректировки по заданным условиям
user -> ARM: Вводит идентификатор корректировки и нажимает Enter
ARM -> OMS: REST GET /order-history-event
OMS -> History: REST GET api/v1/event_changed/
History --> OMS: answer
OMS --> ARM: answer
ARM --> user: Отображает корректировки по заданным условиям
@startuml
scale 800*800
mainframe Взаимодействие с историей изменения заказ
actor Пользователь as user
participant ARM as ARM
participant OMS as OMS
participant History as History
autonumber
user -> ARM: Нажимает кнопку "История изменений"
ARM -> OMS: REST GET /order-history
OMS -> History: REST GET api/v1/order_history_short/
History --> OMS: answer
OMS --> ARM: answer
ARM --> user: Рендерит страницу "История изменений"
user -> ARM: Нажимает кнопку "Подробнее" в корректировке
ARM -> OMS: REST GET /order-history-event
OMS -> History: REST GET api/v1/event_changed/
History --> OMS: answer
OMS --> ARM: answer
ARM --> user: Отображает полную информацию о корректировке
user -> ARM: Выбирает фильтр по дате или по типу корректировки
ARM -> OMS: REST GET /order-history-filters
OMS -> History: REST GET api/v1/events_from_entity/
History --> OMS: answer
OMS --> ARM: answer
ARM --> user: Отображает корректировки по заданным условиям
user -> ARM: Вводит идентификатор корректировки и нажимает Enter
ARM -> OMS: REST GET /order-history-event
OMS -> History: REST GET api/v1/event_changed/
History --> OMS: answer
OMS --> ARM: answer
ARM --> user: Отображает корректировки по заданным условиям
@enduml

View File

@@ -1,23 +1,23 @@
@startuml
mainframe Добавление/удаление заметки пользователя в ЛК
scale 1500x1500
actor user as user
participant ARM
participant Gateway
participant personalCabinet
autonumber
user -> ARM: Нажимает кнопку "Главная"
alt Пользователь ввел текст и снял фокус с поля
ARM -> Gateway: Отправляет запрос на\nPUT personal-cabinet/v1/note
else Пользователь нажал кнопку "Очистить"
ARM -> Gateway: Отправляет запрос на\nDELETE personal-cabinet/v1/note
end
ARM -> Gateway: Отправляет запрос на GET personal-cabinet/v1/note
Gateway -> personalCabinet: Вызывает методы для\nизменения заметок по пользователю
personalCabinet --> Gateway: answer
Gateway --> ARM: answer
ARM --> user: answer
@startuml
mainframe Добавление/удаление заметки пользователя в ЛК
scale 1500x1500
actor user as user
participant ARM
participant Gateway
participant personalCabinet
autonumber
user -> ARM: Нажимает кнопку "Главная"
alt Пользователь ввел текст и снял фокус с поля
ARM -> Gateway: Отправляет запрос на\nPUT personal-cabinet/v1/note
else Пользователь нажал кнопку "Очистить"
ARM -> Gateway: Отправляет запрос на\nDELETE personal-cabinet/v1/note
end
ARM -> Gateway: Отправляет запрос на GET personal-cabinet/v1/note
Gateway -> personalCabinet: Вызывает методы для\nизменения заметок по пользователю
personalCabinet --> Gateway: answer
Gateway --> ARM: answer
ARM --> user: answer
@enduml

View File

@@ -1,23 +1,23 @@
@startuml
mainframe Взаимодействие с избранным
scale 1500x1500
actor user as user
participant ARM
participant Gateway
participant Order
autonumber
user -> ARM: Нажимает иконку\nсердечка в любом заказе
alt Поле было предварительно выделено (активное состояние)
ARM -> Gateway: Отправляет запрос на\nDELETE orders/v1/{orderID}/favorite
else Поле было предварительно не выделено (не активное состояние)
ARM -> Gateway: Отправляет запрос на\nPOST orders/v1/{orderID}/favorite
end
Gateway -> Order: Вызывает метод\nвзаимодействия с заказом
Order -> Order: Обновляет модель order\n(Либо добавляет uuid юзера\nлибо удаляет)
Order --> Gateway: answer
Gateway --> ARM: answer
ARM --> user: answer
@startuml
mainframe Взаимодействие с избранным
scale 1500x1500
actor user as user
participant ARM
participant Gateway
participant Order
autonumber
user -> ARM: Нажимает иконку\nсердечка в любом заказе
alt Поле было предварительно выделено (активное состояние)
ARM -> Gateway: Отправляет запрос на\nDELETE orders/v1/{orderID}/favorite
else Поле было предварительно не выделено (не активное состояние)
ARM -> Gateway: Отправляет запрос на\nPOST orders/v1/{orderID}/favorite
end
Gateway -> Order: Вызывает метод\nвзаимодействия с заказом
Order -> Order: Обновляет модель order\n(Либо добавляет uuid юзера\nлибо удаляет)
Order --> Gateway: answer
Gateway --> ARM: answer
ARM --> user: answer
@enduml

View File

@@ -1,17 +1,17 @@
@startuml
mainframe Получение данных о заказах для ЛК пользователя
scale 1500x1500
actor user as user
participant ARM
participant Gateway
participant Order
autonumber
user -> ARM: Нажимает кнопку "Главная"
user -> ARM: Нажимает кнопку "Статистика по заказам"
ARM -> Gateway: Отправляет запрос на GET personal-cabinet/v1/stats
Gateway -> Order: Вызывает методы для получения всех необходимых срезов по заказам
Order --> Gateway: answer
Gateway --> ARM: answer
ARM --> user: Рендерит информационные блоки
@startuml
mainframe Получение данных о заказах для ЛК пользователя
scale 1500x1500
actor user as user
participant ARM
participant Gateway
participant Order
autonumber
user -> ARM: Нажимает кнопку "Главная"
user -> ARM: Нажимает кнопку "Статистика по заказам"
ARM -> Gateway: Отправляет запрос на GET personal-cabinet/v1/stats
Gateway -> Order: Вызывает методы для получения всех необходимых срезов по заказам
Order --> Gateway: answer
Gateway --> ARM: answer
ARM --> user: Рендерит информационные блоки
@enduml

View File

@@ -1,16 +1,16 @@
@startuml
mainframe Получение заметки пользователя для ЛК
scale 1500x1500
actor user as user
participant ARM
participant Gateway
participant personalCabinet
autonumber
user -> ARM: Нажимает кнопку "Главная"
ARM -> Gateway: Отправляет запрос на GET personal-cabinet/v1/note
Gateway -> personalCabinet: Вызывает методы для получения заметок по пользователю
personalCabinet --> Gateway: answer
Gateway --> ARM: answer
ARM --> user: Рендерит текст в блоке заметок
@startuml
mainframe Получение заметки пользователя для ЛК
scale 1500x1500
actor user as user
participant ARM
participant Gateway
participant personalCabinet
autonumber
user -> ARM: Нажимает кнопку "Главная"
ARM -> Gateway: Отправляет запрос на GET personal-cabinet/v1/note
Gateway -> personalCabinet: Вызывает методы для получения заметок по пользователю
personalCabinet --> Gateway: answer
Gateway --> ARM: answer
ARM --> user: Рендерит текст в блоке заметок
@enduml

View File

@@ -1,58 +1,58 @@
@startuml
mainframe TO BE применение акций и скидок в заказе B2C
scale 1500x1500
actor user as user
participant ARM
participant Sherlock
participant Gateway
participant Order
participant PDM
participant Druz
participant SCROOGE
participant Promo
autonumber
user -> ARM: Нажимает кнопку "Применить скидки"
ARM -> ARM: Рендерит модальное окно
ARM -> ARM: Акции сайта - чекбокс активен
ARM -> ARM: Скидки, выбрано: Без скидки
autonumber 5.1
alt Выбирает только скидки уровня ОПТ
user -> ARM: Выбирает тип ОПТа для клиента
user -> ARM: Снимает чекбокс "Акции сайта"
user -> ARM: Нажимает кнопку "Применить"
ARM -> Gateway: Передает запрос
Gateway -> Gateway: Получает название региона из кэша
Gateway -> SCROOGE: Запрашивает цены из SCROOGE согласно уровню ОПТа
SCROOGE --> Gateway: answer
autonumber 6.1
else Выбирает только акции сайта
user -> ARM: Оставляет чекбокс "Акции сайта"
user -> ARM: Оставляет скидку с типом "Без скидки"
user -> ARM: Нажимает кнопку "Применить"
ARM -> Gateway: Передает запрос
Gateway -> Gateway: Получает название региона из кэша
Gateway -> Gateway: Готовит запрос в promo
Gateway -> Promo: Запрашивает акции и цены по товарам из Promo
Promo --> Gateway: answer
autonumber 7.1
else Выбирает акции и скидки ОПТ
user -> ARM: Выбирает тип ОПТа для клиента
user -> ARM: Оставляет чекбокс "Акции сайта"
user -> ARM: Нажимает кнопку "Применить"
ARM -> Gateway: Передает запрос
Gateway -> Gateway: Получает название региона из кэша
Gateway -> Gateway: Готовит запрос в promo
Gateway -> Promo: Запрашивает акции и цены по товарам из Promo
Promo --> Gateway: answer
Gateway -> SCROOGE: Запрашивает цены из SCROOGE согласно уровню ОПТа
SCROOGE --> Gateway: answer
Gateway -> Gateway: Применяет наименьшие цены\nк каждому из товаров
end
autonumber 8
Gateway -> Order: Записывает изменения в модель
Order --> Gateway: Изменения успешно применены
Gateway -> Gateway: Собирает ответ для frontend
Gateway --> ARM: Answer
ARM -> user: Отображает примененные акции
@startuml
mainframe TO BE применение акций и скидок в заказе B2C
scale 1500x1500
actor user as user
participant ARM
participant Sherlock
participant Gateway
participant Order
participant PDM
participant Druz
participant SCROOGE
participant Promo
autonumber
user -> ARM: Нажимает кнопку "Применить скидки"
ARM -> ARM: Рендерит модальное окно
ARM -> ARM: Акции сайта - чекбокс активен
ARM -> ARM: Скидки, выбрано: Без скидки
autonumber 5.1
alt Выбирает только скидки уровня ОПТ
user -> ARM: Выбирает тип ОПТа для клиента
user -> ARM: Снимает чекбокс "Акции сайта"
user -> ARM: Нажимает кнопку "Применить"
ARM -> Gateway: Передает запрос
Gateway -> Gateway: Получает название региона из кэша
Gateway -> SCROOGE: Запрашивает цены из SCROOGE согласно уровню ОПТа
SCROOGE --> Gateway: answer
autonumber 6.1
else Выбирает только акции сайта
user -> ARM: Оставляет чекбокс "Акции сайта"
user -> ARM: Оставляет скидку с типом "Без скидки"
user -> ARM: Нажимает кнопку "Применить"
ARM -> Gateway: Передает запрос
Gateway -> Gateway: Получает название региона из кэша
Gateway -> Gateway: Готовит запрос в promo
Gateway -> Promo: Запрашивает акции и цены по товарам из Promo
Promo --> Gateway: answer
autonumber 7.1
else Выбирает акции и скидки ОПТ
user -> ARM: Выбирает тип ОПТа для клиента
user -> ARM: Оставляет чекбокс "Акции сайта"
user -> ARM: Нажимает кнопку "Применить"
ARM -> Gateway: Передает запрос
Gateway -> Gateway: Получает название региона из кэша
Gateway -> Gateway: Готовит запрос в promo
Gateway -> Promo: Запрашивает акции и цены по товарам из Promo
Promo --> Gateway: answer
Gateway -> SCROOGE: Запрашивает цены из SCROOGE согласно уровню ОПТа
SCROOGE --> Gateway: answer
Gateway -> Gateway: Применяет наименьшие цены\nк каждому из товаров
end
autonumber 8
Gateway -> Order: Записывает изменения в модель
Order --> Gateway: Изменения успешно применены
Gateway -> Gateway: Собирает ответ для frontend
Gateway --> ARM: Answer
ARM -> user: Отображает примененные акции
@enduml