Initial commit
This commit is contained in:
142
search/WatsonWithMicroservices.puml
Normal file
142
search/WatsonWithMicroservices.puml
Normal file
@@ -0,0 +1,142 @@
|
||||
@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
|
||||
Reference in New Issue
Block a user