add new schemes
This commit is contained in:
52
oms/interface-arm/journals/order-journal/filters.puml
Normal file
52
oms/interface-arm/journals/order-journal/filters.puml
Normal file
@@ -0,0 +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: Отображает журнал заказов
|
||||
@enduml
|
||||
29
oms/interface-arm/journals/order-journal/search.puml
Normal file
29
oms/interface-arm/journals/order-journal/search.puml
Normal file
@@ -0,0 +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: Отображает журнал заказов
|
||||
@enduml
|
||||
58
oms/interface-arm/products/add-promotion.puml
Normal file
58
oms/interface-arm/products/add-promotion.puml
Normal file
@@ -0,0 +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: Отображает примененные акции
|
||||
@enduml
|
||||
251
oms/order mongoDB.puml
Normal file
251
oms/order mongoDB.puml
Normal file
@@ -0,0 +1,251 @@
|
||||
@startjson
|
||||
|
||||
<style>
|
||||
' Общий стиль схемы задан здесь
|
||||
jsonDiagram {
|
||||
node {
|
||||
LineColor #000
|
||||
FontName Helvetica
|
||||
FontColor black
|
||||
FontSize 18
|
||||
FontStyle bold
|
||||
}
|
||||
arrow {
|
||||
LineColor #000
|
||||
LineThickness 3
|
||||
LineStyle 2
|
||||
}
|
||||
highlight {
|
||||
BackGroundColor #e5e5e5
|
||||
FontColor black
|
||||
}
|
||||
}
|
||||
' Здесь находятся расцветки изменений. Необходимо создать новый объект по образу .firstChange
|
||||
.firstChange {
|
||||
FontColor blue
|
||||
}
|
||||
</style>
|
||||
|
||||
' Здесь указываем какие атрибуты нужно подсвечивать в схеме
|
||||
#highlight "order" / "Recipient" / "ID" <<firstChange>>
|
||||
#highlight "order" / "Recipient" / "RecipientAddress" <<firstChange>>
|
||||
#highlight "order" / "Recipient" / "RecipientPhone" <<firstChange>>
|
||||
#highlight "order" / "Recipient" / "RecipientName" <<firstChange>>
|
||||
|
||||
{
|
||||
"order": {
|
||||
"orderID": "uuid || Номер заказа",
|
||||
"managerInfo": {
|
||||
"CreatedBy": "uuid || Идентификатор автора заказа из AD",
|
||||
"CreatedFullName": "string || ФИО автора заказа",
|
||||
"UpdatedBy": "uuid || Идентификатор последнего обновлявшего заказ",
|
||||
"UpdatedFullName": "string || ФИО последнего обновлявшего заказ",
|
||||
"ManagerGroup": "int || Идентификатор группы менеджера",
|
||||
"ManagerPhoneNumber": "string || Номер телефона менеджера",
|
||||
"ManagerExtensionNumber": "string || Добавочный номер телефона менеджера"
|
||||
},
|
||||
"RootOrder": "uuid || UUID корневого заказа",
|
||||
"Number": "string || Номер заказа в формате ****-******-*****",
|
||||
"OrderStatus": "int || Идентификатор статуса заказа (от 0 до 7)",
|
||||
"Contractor": {
|
||||
"Type": "int || Тип контрагента.",
|
||||
"B2CContractor": {
|
||||
"Person": {
|
||||
"ID": "uuid || Идентификатор (UUID) контрагента",
|
||||
"FullName": "string || Полное ФИО КА",
|
||||
"Phone": "string || Номер телефона КА",
|
||||
"Email": "string || Email адрес КА"
|
||||
}
|
||||
},
|
||||
"B2BContractor": {
|
||||
"ID": "uuid || Идентификатор (UUID) контрагента",
|
||||
"Name": "string || Полное наименование КА",
|
||||
"TIN": "string || Номер ИНН",
|
||||
"ContactPersons (array)": {
|
||||
"Person": {
|
||||
"ID": "uuid || Идентификатор (UUID) контрагента",
|
||||
"FullName": "string || Полное ФИО КА",
|
||||
"Phone": "string || Номер телефона КА",
|
||||
"Email": "string || Email адрес КА"
|
||||
},
|
||||
"SmsPhoneNumber": "string || Номер телефона для СМС"
|
||||
},
|
||||
"CurrentContactPersonID": "uuid || ID выбранного КЛ для заказа",
|
||||
"Curator": {
|
||||
"ID": "uuid || Идентификатор куратора",
|
||||
"FullName": "string || ФИО куратора"
|
||||
},
|
||||
"Contract": {
|
||||
"ID": "uuid || Идентификатор договора",
|
||||
"Number": "string || Номер договора",
|
||||
"Kind": "int || Тип договора"
|
||||
},
|
||||
"BaseDocumentSettings": {
|
||||
"GovernmentContractID": "string || Идентификатор государственного контракта",
|
||||
"InvoiceTransferBasis": "string || Основание передачи в счете на оплату",
|
||||
"ShippingDocuments": {
|
||||
"TransferBasisDocument": "string || документ-основание передачи(сдачи)/получения(приемки)",
|
||||
"TransferBasisAdditionalDetails": "string || Дополнительные сведения основания передачи",
|
||||
"OtherInformation": "string || Иные сведения"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Recipient": {
|
||||
"ID": "uuid || Идентификатор (UUID) грузополучателя",
|
||||
"RecipientName": "string || Имя грузополучателя заказа",
|
||||
"RecipientPhone": "string || Номер телефона грузополучателя",
|
||||
"RecipientAddress": "string || Адрес грузополучателя"
|
||||
},
|
||||
"Properties": {
|
||||
"BasicTimestamps": {
|
||||
"CreatedAt": "date-time || Дата и время создания заказа",
|
||||
"UpdatedAt": "date-time || Дата и время последнего обновления заказа"
|
||||
},
|
||||
"OriginID": "int || Идентификатор источника заказа",
|
||||
"SiteOrderDate": "date-time || Дата и время заказа выбранное на сайте",
|
||||
"OrderComment": "string || Комментарий к заказу. Во wtis: primSklad",
|
||||
"TtnNumber": "string || Номер ТТН",
|
||||
"TtnDate": "string || Дата ТТН",
|
||||
"IsPartialShipmentFromSite": "bool || Признак ЧО с сайта",
|
||||
"PaymentAmount": "float || Сумма внесенной оплаты",
|
||||
"BookingEndDates": "array || Массив с датами истечения бронирования заказа",
|
||||
"IsPrepaymentRequired": "bool || Признак Необходима предоплата",
|
||||
"RegionGUID": "uuid || Идентификатор (UUID) региона",
|
||||
"RegionName": "string || Наименование региона",
|
||||
"TypeOrderFromSite": "string || Тип заказа с сайта. normal / fast",
|
||||
"Firma": "GUID фирмы отгружающей товар."
|
||||
},
|
||||
"Artifacts": {
|
||||
"PartialShipment": "bool || Признак Частичная отгрузка",
|
||||
"OrderMasterSystem": "string || Признак мастер-система по заказу",
|
||||
"KkmDate": "string || Дата ККМ",
|
||||
"KkmAmount": "float || Сумма оплаты через ККМ",
|
||||
"PaymentKkm": "bool || Признак оплата через ККМ",
|
||||
"PaymentCb": "bool || Признак оплата по счету",
|
||||
"PaymentCard": "bool || Признак картой",
|
||||
"IsEwalletPayment": "bool || Признак оплата с сайта",
|
||||
"OrderStateWtis": "int || Состояние заказа из WTIS",
|
||||
"AttbOplata": "int || Статус оплаты (0 - Не оплачено, 1 - Частичная оплата, 2 - Оплачено). || deprecated",
|
||||
"OrderStatusWtis": "int || Статус заказа из WTIS",
|
||||
"IsPromoEnabled": "bool || Признак, что сайт взаимодействует с МС Promo и берет распродажную инфу оттуда.",
|
||||
"IsYandexEnabled": "bool || Признак, что адрес передается в новом формате для курьерки."
|
||||
},
|
||||
"Supplies (array)": {
|
||||
"ID": "uuid || Идентификатор поставки",
|
||||
"ShipmentID": "uuid || Идентификатор шипмента",
|
||||
"ProductID": "uuid || Идентификатор номенклатуры",
|
||||
"SourceOffice": "uuid || Идентификатор склада на котором находится товар",
|
||||
"ReserveTo": "date-time || Дата резерв до",
|
||||
"PurchaseIDs": "array || Массив идентификаторов закупки",
|
||||
"UnreserveDate": "date-time || Дата фактического снятия с резерва товара",
|
||||
"Quantity": "int || Количество товара в доставке. Суммарное количество должно быть равно quantity в items",
|
||||
"StatusItem": "int || Идентификатор статуса товара",
|
||||
"Artifacts": {
|
||||
"StatusItemWtis": "int || Клиентский статус товара из WTIS",
|
||||
"Attb": "Состоние товара из WTIS",
|
||||
"FlagReturn": "bool || Признак Возврат товара. 1 - товар с вкладки Возвраты, 0 - для товаров с вкладки Товары.",
|
||||
"FlagReturnedToSklad": "bool || Принят на склад",
|
||||
"AppendUser": "uuid || ID пользователя кто добавил поставку",
|
||||
"ChangeUser": "uuid || ID пользователя кто последний изменил поставку"
|
||||
},
|
||||
"DateCanDeliver": "date-time || Дата 'Сможем доставить'.",
|
||||
"CreatedAt": "date-time || Дата создания поставки",
|
||||
"UpdatedAt": "date-time || Дата последнего обновления поставки",
|
||||
"Prices": {
|
||||
"DiscountPrice": "float || Сумма скидки",
|
||||
"DiscountCategory": "string || Категория скидки",
|
||||
"DiscountReason": "string || Причина скидки",
|
||||
"InitialPrice": "float || Начальная цена",
|
||||
"PurchasePrice": "float || Цена закупки",
|
||||
"Price": "float || Цена товара",
|
||||
"Discount": "float || Процент скидки",
|
||||
"ClearanceSaleID": "uuid || Идентификатор распродажи",
|
||||
"IsPromoCodeUsed": "bool || Флаг использования промокода",
|
||||
"PromotionID": "int || Идентификатор акции из МС Promo",
|
||||
"ExtraCost": "float || Цена доставки на единицу товара"
|
||||
},
|
||||
"IsRestored": "bool || Признак восстановления поставки.",
|
||||
"DeliveryDate": "date-time || Дата доставки"
|
||||
},
|
||||
"Shipment": {
|
||||
"Meta": {
|
||||
"ID": "uuid || Идентификатор shipment",
|
||||
"OrderID": "uuid || Идентификатор заказа",
|
||||
"MethodID": "int || Идентификатор шипмента",
|
||||
"Status": "int || Статус доставки",
|
||||
"DeliveryDate": "date-time || Дата доставки",
|
||||
"Services": {
|
||||
"Settings": {
|
||||
"SpreadExtraCost": "bool || Размазать стоимость доставки по товарам связанным с доставкой"
|
||||
}
|
||||
},
|
||||
"CreatedAt": "date-time || Дата создания доставки",
|
||||
"UpdatedAt": "date-time || Дата последнего обновления доставки"
|
||||
},
|
||||
"ShipmentPickup": {
|
||||
"OfficeGUID": "uuid || Идентификатор офиса"
|
||||
},
|
||||
"ShipmentCourier": {
|
||||
"FactDeliveryBoy": "uuid || Идентификатор курьера который отдал заказ",
|
||||
"FreeReason": "int || Причина бесплатной доставки",
|
||||
"FiasID": "uuid || FIAS идентификатор адреса доставки",
|
||||
"IntervalGUID": "uuid || Идентификатор интервала курьерской доставки",
|
||||
"DeliveryAregGUID": "uuid || Идентификатор AREG адреса доставки",
|
||||
"AddressTail": {
|
||||
"AddressTailID": "uuid || Идентификатор хвоста адреса",
|
||||
"Flat": "int || Номер квартиры",
|
||||
"Entrance": "int || Подъезд",
|
||||
"Floor": "int || Этаж",
|
||||
"AddressComment": "string || Комментарий к адресу",
|
||||
"ContactNumber": "string || Контактный номер в адресе доставки"
|
||||
},
|
||||
"IntervalValue": "string || Значение интервала доставки",
|
||||
"Latitude": "string || Широта адреса доставки",
|
||||
"Longitude": "string || Долгота адреса доставки",
|
||||
"CourierGUID": "uuid || Идентификатор курьера в заказе",
|
||||
"DeliveryBoyName": "string || ФИО курьера в заказе",
|
||||
"AddrDostav": "string || Адрес доставки",
|
||||
"CourierDeliveryCost": "int || Стоимость доставки",
|
||||
"CourierComment": "string || Комментарий для курьера"
|
||||
},
|
||||
"ShipmentTKPickup": {
|
||||
"TransportCompanyID": "uuid || Идентификатор транспортной компании",
|
||||
"TransportCompanyCityID": "uuid || Идентификатор города ТК",
|
||||
"TransportCompanyCityName": "string || Название города ТК",
|
||||
"TransportCompanyExternalCode": "string || Внешний код офиса ТК в системе CDEK",
|
||||
"TransportCompanyTariffID": "uuid || Идентификатор тарифа ТК",
|
||||
"TransportCompanyTariffName": "string || Наименование тарифа",
|
||||
"CourierDeliveryCost": "int || Стоимость доставки",
|
||||
"CourierComment": "string || Комментарий для курьера"
|
||||
},
|
||||
"shipmentTKCourier": {
|
||||
"TransportCompanyID": "uuid || Идентификатор транспортной компании",
|
||||
"TransportCompanyCityID": "uuid || Идентификатор города ТК",
|
||||
"TransportCompanyCityName": "string || Название города ТК",
|
||||
"TransportCompanyExternalCode": "string || Внешний код офиса ТК в системе CDEK",
|
||||
"TransportCompanyTariffID": "uuid || Идентификатор тарифа ТК",
|
||||
"TransportCompanyTariffName": "string || Наименование тарифа",
|
||||
"IntervalValue": "string || Значение интервала доставки",
|
||||
"Latitude": "string || Широта адреса доставки",
|
||||
"Longitude": "string || Долгота адреса доставки",
|
||||
"AddrDostav": "string || Адрес доставки",
|
||||
"FiasID": "uuid || FIAS идентификатор адреса доставки",
|
||||
"IntervalGUID": "uuid || Идентификатор интервала курьерской доставки",
|
||||
"DeliveryAregGUID": "uuid || Идентификатор AREG адреса доставки",
|
||||
"AddressTail": {
|
||||
"AddressTailID": "uuid || Идентификатор хвоста адреса",
|
||||
"Flat": "int || Номер квартиры",
|
||||
"Entrance": "int || Подъезд",
|
||||
"Floor": "int || Этаж",
|
||||
"AddressComment": "string || Комментарий к адресу",
|
||||
"ContactNumber": "string || Контактный номер в адресе доставки"
|
||||
},
|
||||
"CourierDeliveryCost": "int || Стоимость доставки",
|
||||
"DeliveryWay": "int || Тип доставки, через транспортную компанию",
|
||||
"CourierComment": "string || Комментарий для курьера"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@endjson
|
||||
@@ -1,32 +0,0 @@
|
||||
@startjson
|
||||
{
|
||||
"ShipmentDoc":{
|
||||
"ShipmentMeta":{
|
||||
"id":"uuid || Идентификатор доставки",
|
||||
"OrderID":"uuid || Идентификатор заказа",
|
||||
"MethodId":"int(enum) || Способы доставки",
|
||||
"DeliveryDate":"datetime || Дата доставки",
|
||||
"Services":{
|
||||
"Settings":{
|
||||
"SpreadExtraCost":"bool || Размазать стоимость доставки по товарам связанным с доставкой"
|
||||
}
|
||||
},
|
||||
"CreatedAt":"datetime || Дата создания доставки",
|
||||
"UpdatedAt":"datetime || Дата обновления доставки",
|
||||
"Artifact": {
|
||||
"DeliveryWith":"string || Начальный временной промежуток курьерской доставки",
|
||||
"TrackingNumberId":"int || Удалить, бесполезное поле",
|
||||
"PartnerDeliverTo":"string || ??? ",
|
||||
"DestinationOfficeID":"int || Идентификатор офиса, откуда везем товар",
|
||||
"DeliveryOn":"string || Верхняя граница часов доставки ",
|
||||
"DeliveryType":"bool || - обычная доставка 1 - доставка строительных материалов",
|
||||
"DeliveryZone":"int || id зоны доставки строительных материалов из таблицы wtis_ref_town_zone ",
|
||||
"VeerouteExportDate":"datetime || Дата выгрузки в Veeroute ",
|
||||
"AddressID":"int || Идентификатор адреса доставки (внутренний от WTIS) "
|
||||
}
|
||||
},
|
||||
"": {
|
||||
}
|
||||
}
|
||||
}
|
||||
@endjson
|
||||
Reference in New Issue
Block a user