266 lines
7.7 KiB
Plaintext
266 lines
7.7 KiB
Plaintext
@startuml
|
||
skinparam linetype ortho
|
||
'===============================================================================
|
||
'===================================PDM=========================================
|
||
'===============================================================================
|
||
package PDM <<Cloud>> {
|
||
abstract ProductModuleName {
|
||
+request: GET
|
||
+endpoint: http://api.pdm.vseinstrumenti.ru/api/v1/products/<date>*
|
||
+headers: Accept:application/json
|
||
Authorization:Bearer m1iXCmdwRlbqTU7gBCIe4Xpk8fIjVBGD
|
||
--
|
||
*response: guid товара
|
||
--
|
||
*<date> - 2019-08-16 17:00:00
|
||
}
|
||
|
||
abstract CategoryModuleName {
|
||
+request: GET
|
||
+endpoint: http://api.pdm.vseinstrumenti.ru/api/v1/rubrics/<date>*
|
||
+headers: Accept:application/json
|
||
Authorization:Bearer m1iXCmdwRlbqTU7gBCIe4Xpk8fIjVBGD
|
||
--
|
||
*response: guid категории
|
||
--
|
||
*<date> - 2019-08-16 17:00:00
|
||
}
|
||
|
||
abstract ManufacturerModuleName {
|
||
+request: GET
|
||
+endpoint: http://api.pdm.vseinstrumenti.ru/api/v1/manufacturers/<date>*
|
||
+headers: Accept:application/json
|
||
Authorization:Bearer m1iXCmdwRlbqTU7gBCIe4Xpk8fIjVBGD
|
||
--
|
||
*response: guid производителя
|
||
--
|
||
*<date> - 2019-08-16 17:00:00
|
||
}
|
||
|
||
abstract SpecificationModuleName {
|
||
+request: GET
|
||
+endpoint: http://api.pdm.vseinstrumenti.ru/api/v1/tech_param/<date>*
|
||
+headers: Accept:application/json
|
||
Authorization:Bearer m1iXCmdwRlbqTU7gBCIe4Xpk8fIjVBGD
|
||
--
|
||
*response: guid изменившихся ТХ
|
||
--
|
||
*<date> - 2019-08-16 17:00:00
|
||
}
|
||
}
|
||
|
||
Package MySql <<database>> {
|
||
package "Manufacter_MySql" <<Folder>> {
|
||
entity "search_manufacturers_settings" as manufacturers_settings {
|
||
*id: int auto_increment "PK"
|
||
--
|
||
*manufacturer_guid: char(36)
|
||
*locality_guid: char(36)
|
||
*is_hide: tinyint(1)
|
||
*updated_at: timestamp
|
||
*created_at: timestamp
|
||
--
|
||
unique (manufacturer_guid, locality_guid)
|
||
}
|
||
|
||
entity "search_manufacturers" as manufacturers {
|
||
*id: int auto_increment "PK"
|
||
--
|
||
*guid: char(36)
|
||
*name: varchar(256)
|
||
*is_our: tinyint(1)
|
||
*description: varchar(256)
|
||
*updated_at: timestamp
|
||
--
|
||
unique (guid)
|
||
}
|
||
}
|
||
|
||
package "Products_MySql" <<Folder>> {
|
||
entity "search_products" as products {
|
||
*id: int auto_increment "PK"
|
||
--
|
||
*is_consumable: tinyint(1)
|
||
*is_on_site: tinyint(1)
|
||
*is_visible: tinyint(1)
|
||
*status: smallint
|
||
*is_discountinued: tinyint(1)
|
||
*is_for_order: tinyint(1)
|
||
*sku: int
|
||
*height: float
|
||
*lenght: float
|
||
*width: float
|
||
*guid: char(36)
|
||
*manufacter_guid: char(36)
|
||
*name_site: varchar(256)
|
||
*category: char(36)
|
||
*name_pdm: varchar(256)
|
||
*name_wtis: varchar(256)
|
||
*name_contractor: varchar(256)
|
||
*keywords: varchar(256)
|
||
*lights: varchar(20)
|
||
*country_code: varchar(3)
|
||
*uri: text
|
||
*advantages: text
|
||
*description: text
|
||
*equipment: text
|
||
*features: text
|
||
*updated_at: timestamp
|
||
--
|
||
unique (guid)
|
||
}
|
||
|
||
entity "search_products_categories" as products_categories {
|
||
*id: int auto_increment "PK"
|
||
--
|
||
*hash: char(40)
|
||
*product_guid: char(36)
|
||
*category_guid: char(36)
|
||
*is_enabled: tinyint(1)
|
||
*updated_at: timestamp
|
||
--
|
||
unique (hash)
|
||
}
|
||
}
|
||
|
||
package "Categories_MySql" <<Folder>> {
|
||
entity "search_categories_settings" as categories_settings {
|
||
*id: int auto_increment "PK"
|
||
--
|
||
*category_guid: char(36)
|
||
*locality_guid: char(36)
|
||
*is_hide: tinyint(1)
|
||
*updated_at: timestamp
|
||
*created_at: timestamp
|
||
--
|
||
unique (category_guid, locality_guid)
|
||
}
|
||
|
||
entity "search_categories_relationship" as categories_relationship {
|
||
*id: int auto_increment "PK"
|
||
--
|
||
*parent: char(36)
|
||
*child: char(36)
|
||
*main: tinyint(1)
|
||
*level: int
|
||
*line: int
|
||
*created_at: timestamp
|
||
}
|
||
|
||
entity "search_categories" as categories {
|
||
*id: int auto_increment "PK"
|
||
--
|
||
*guid: char(36)
|
||
name: varchar(256)
|
||
type: varchar(256)
|
||
parent_guid: char(36)
|
||
is_active: tinyint(1)
|
||
is_enable: tinyint(1)
|
||
up_caption: varchar(256)
|
||
updated_at: timestamp
|
||
--
|
||
unique (guid)
|
||
}
|
||
}
|
||
|
||
package PDM_Specifications <<Folder>> {
|
||
entity "search_specifications_bool" as specifications_bool {
|
||
*id: int auto_increment "PK"
|
||
--
|
||
*hash: char(40)
|
||
*product_guid: char(36)
|
||
*guid: char(36)
|
||
*name: varchar(256)
|
||
*unit: varchar(256)
|
||
*description: text
|
||
*value: tinyint(1)
|
||
*updated_at: timestamp
|
||
--
|
||
unique (hash)
|
||
}
|
||
|
||
entity "search_specifications_collection" as specifications_collection {
|
||
*id: int auto_increment "PK"
|
||
--
|
||
*hash: char(40)
|
||
*product_guid: char(36)
|
||
*guid: char(36)
|
||
*name: varchar(256)
|
||
*unit: varchar(256)
|
||
*description: text
|
||
*value: varchar(256)
|
||
*value_guid: char(36)
|
||
*updated_at: timestamp
|
||
--
|
||
unique (hash)
|
||
}
|
||
|
||
entity "search_specifications_float" as specifications_float {
|
||
*id: int auto_increment "PK"
|
||
--
|
||
*hash: char(40)
|
||
*product_guid: char(36)
|
||
*guid: char(36)
|
||
*name: varchar(256)
|
||
*unit: varchar(256)
|
||
*description: text
|
||
*value: float
|
||
*updated_at: timestamp
|
||
--
|
||
unique (hash)
|
||
}
|
||
|
||
entity "search_specifications_int" as specifications_int {
|
||
*id: int auto_increment "PK"
|
||
--
|
||
*hash: char(40)
|
||
*product_guid: char(36)
|
||
*guid: char(36)
|
||
*name: varchar(256)
|
||
*unit: varchar(256)
|
||
*description: text
|
||
*value: int
|
||
*updated_at: timestamp
|
||
--
|
||
unique (hash)
|
||
}
|
||
|
||
entity "search_specifications_range" as specifications_range {
|
||
*id: int auto_increment "PK"
|
||
--
|
||
*hash: char(40)
|
||
*product_guid: char(36)
|
||
*guid: char(36)
|
||
*name: varchar(256)
|
||
*unit: varchar(256)
|
||
*description: text
|
||
*value_gte: float
|
||
*value_lte: float
|
||
*updated_at: timestamp
|
||
--
|
||
unique (hash)
|
||
}
|
||
|
||
entity "search_specifications_text" as specifications_text {
|
||
*id: int auto_increment "PK"
|
||
--
|
||
*hash: char(40)
|
||
*product_guid: char(36)
|
||
*guid: char(36)
|
||
*name: varchar(256)
|
||
*unit: varchar(256)
|
||
*description: text
|
||
*value: varchar(256)
|
||
*updated_at: timestamp
|
||
--
|
||
unique (hash)
|
||
}
|
||
}
|
||
}
|
||
|
||
SpecificationModuleName -up----> PDM_Specifications
|
||
ProductModuleName -up---> "Products_MySql"
|
||
CategoryModuleName -up----> "Categories_MySql"
|
||
ManufacturerModuleName -up---> "Manufacter_MySql"
|
||
|
||
@enduml |