Files
plantUML/search/WatsonWithMicroservices.puml
2024-04-08 19:15:50 +03:00

142 lines
3.6 KiB
Plaintext

@startuml
skinparam linetype ortho
'============================================================================================
'===========================================Микросервисы=====================================
'============================================================================================
package Microservices <<cloud>> {
abstract "Shcat" as shcat {
+request: POST
+endpoint: http://shcat.vseinstrumenti.ru/rpc
--
*Method: rests.get
*nomenclature - guid товара
*source - guid магазина
--
+response
--
*nomenclature - guid товара
*source - guid офиса
*quntity - количество остатков
*quality - качество, по умолчанию 1
}
abstract "HamletX10" as hamlet {
+request: POST
+enpoint: http://hamlet-v2.vseinstrumenti.ru/rpc
--
*Method: availability.chain
*store - guid офиса
*nomenclature - guid товара
*filter_zero_chain - скрывать или нет ЛЦ по которым нет наличия
--
+response
--
*available - Признак наличия
*store - guid офиса
*free - количество остатков
}
abstract "Officer" as officer {
+request: POST
+endpoint: https://officer2go.vseinstrumenti.ru/query
--
*Method: availability.get_offices
*locality_areg_id - areg_id города
--
+response
--
*id - guid офиса
*created_at - Дата создания
}
abstract "Scrooge_sync" as scrooge {
+request: GET
+endpoint: http://exporter.scrooge-v2.vseinstrumenti.ru/file/price?after-id=
--
+response
--
*price
*price_type
}
abstract "Scrooge_graphQL" as Scrooge_graphQL {
+request: POST
+endpoint: http://exporter.scrooge-v2.vseinstrumenti.ru/query
--
*method: priceTypeBinding
--
+response
--
*priceTypeId
*priceCategory
*localityID
}
}
package MySql <<database>> {
entity "search_availability_flag_{guid_office}" as availability {
* id : int auto_increment "PK"
--
*product : char(36)
*is_availability : tinyint(1)
*create_at : timestamp
*update_at : timestamp
--
unique (product)
}
entity "search_remaining_{guid_office}" as remaining {
* id: int auto_increment "PK"
--
*product: char(36)
*remaining: int
*create_at: timestamp
*update_at: timestamp
--
unique (product)
}
entity "search_localities_offices" as localities_offices {
*id: int auto_increment "PK"
--
*locality_guid: char(36)
*office_guid: char(36)
*is_active: tinyint(1)
--
unique (office_guid)
}
entity "search_prices_types_localities_2" as prices_types_localities {
*id: int auto_increment "PK"
--
*hash: char(40)
*locality_guid: char(36)
*price_type_guid: char(36)
*type: varchar(128)
--
unique (hash)
}
entity "search_prices_types_products_2" as prices_types_products {
*id: int auto_increment "PK"
--
*hash: char(40)
*product_guid: char(36)
*price_type_guid: char(36)
*price: decimal(10, 2)
*updated_at: timestamp
--
unique (hash)
}
}
shcat -d-----> remaining
hamlet -d-----> availability
officer -d-----> localities_offices
scrooge -d-----> prices_types_products
Scrooge_graphQL -d--> prices_types_localities
@enduml