58 lines
2.9 KiB
Plaintext
58 lines
2.9 KiB
Plaintext
@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 |