- basic cms structure.
This commit is contained in:
137
business/model/sku.go
Normal file
137
business/model/sku.go
Normal file
@@ -0,0 +1,137 @@
|
||||
package model
|
||||
|
||||
const (
|
||||
SkuCategoryNormal = 0
|
||||
SkuCategorySpecial = 1
|
||||
)
|
||||
|
||||
const (
|
||||
SpecUnitG = 0
|
||||
SpecUnitKG = 1
|
||||
SpecUnitL = 2
|
||||
SpecUnitML = 3
|
||||
)
|
||||
|
||||
var (
|
||||
SpecUnitNames = []string{
|
||||
"g",
|
||||
"kg",
|
||||
"L",
|
||||
"ml",
|
||||
}
|
||||
)
|
||||
|
||||
var (
|
||||
UnitNames = []string{
|
||||
"份",
|
||||
"袋",
|
||||
"瓶",
|
||||
"只",
|
||||
"组",
|
||||
"个",
|
||||
"盒",
|
||||
"把",
|
||||
"半只",
|
||||
"包",
|
||||
"条",
|
||||
"根",
|
||||
"箱",
|
||||
"听",
|
||||
"套",
|
||||
"罐",
|
||||
"件",
|
||||
"块",
|
||||
"片",
|
||||
"支",
|
||||
"杯",
|
||||
}
|
||||
)
|
||||
|
||||
// 这个指的是厂商(比如京东到家,饿百)自已的商品分类,与商家自己的商品分类是两回事
|
||||
type SkuVendorCategory struct {
|
||||
ModelIDCUO
|
||||
VendorCategoryID string `gorm:"type:varchar(48);unique_index:unique_index_id_vendor_id" json:"vendorCategoryID"`
|
||||
VendorID int `gorm:"unique_index:unique_index_id_vendor_id" json:"vendorID"`
|
||||
Name string `gorm:"type:varchar(255);index" json:"name"`
|
||||
IsLeaf int8 `json:"isLeaf"`
|
||||
Level int `json:"level"`
|
||||
ParentID string `gorm:"type:varchar(255);index" json:"parentID"` // 父ID,引用的是VendorCategoryID而不是ID
|
||||
}
|
||||
|
||||
// 基础数据,除了商家商品类别外,基本都以京东到家为准
|
||||
type SkuCategory struct {
|
||||
ModelIDCUO
|
||||
Name string `gorm:"type:varchar(255);unique_index"`
|
||||
ParentID int
|
||||
Level int8
|
||||
Type int8 // 类别类型
|
||||
Seq int
|
||||
|
||||
JdID int64 `gorm:"index"` // 这个是指商家自己的商品类别在京东平台上的ID
|
||||
JdCategoryID int // 这个是指对应的京东商品类别
|
||||
|
||||
// ElmID int64 `gorm:"index"` // 饿了么是单店模式,不需要
|
||||
ElmCategoryID int64 // 这个是指对应的饿了么商品类别
|
||||
|
||||
// EbaiID int64 `gorm:"index"` // 饿百是单店模式,不需要
|
||||
EbaiCategoryID int64 // 这个是指对应的饿百商品类别
|
||||
|
||||
// MtID string `gorm:"type:varchar(48);index"`
|
||||
// DidiID string `gorm:"type:varchar(48);index"`
|
||||
}
|
||||
|
||||
type SkuName struct {
|
||||
ModelIDCUO
|
||||
Prefix string `gorm:"type:varchar(255)"`
|
||||
Name string `gorm:"type:varchar(255)"`
|
||||
Comment string `gorm:"type:varchar(255)"`
|
||||
|
||||
BrandID int `gorm:"default:0"` // 此属性暂时没有使用
|
||||
CategoryID int // 标准类别
|
||||
Status int
|
||||
|
||||
IsGlobal int8 `gorm:"default:1"` // 是否是全部(全国)可见,如果否的话,可见性由SkuPlace决定
|
||||
Unit string `gorm:"type:varchar(8)"`
|
||||
Price int // 单位为分,标准价,不为份的就为实际标准价,为份的为每市斤价,实际还要乘质量。todo 为份的确定必须有质量
|
||||
Img string `gorm:"type:varchar(255)"`
|
||||
ElmImgHashCode string `gorm:"type:varchar(64)"`
|
||||
}
|
||||
|
||||
type Sku struct {
|
||||
ModelIDCUO
|
||||
CategoryID int // 特殊类别,一般用于秒杀,特价之类的特殊类别
|
||||
NameID int `gorm:"index:unique_index_name_Id_quality"` // todo 这个索引应该要求唯一
|
||||
SpecQuality float32 `gorm:"index:unique_index_name_Id_quality"`
|
||||
SpecUnit string `gorm:"type:varchar(8)"` // 质量或容量
|
||||
Weight int // 重量/质量,单位为克,当相应的SkuName的SpecUnit为g或kg时,必须等于SpecQuality
|
||||
|
||||
JdID int64
|
||||
}
|
||||
|
||||
type SkuNamePlaceBind struct {
|
||||
ModelIDCUO
|
||||
SkuNameID int `gorm:"unique_index:unique_sku_name_id_sku_place_id"`
|
||||
PlaceCode int `gorm:"unique_index:unique_sku_name_id_sku_place_id"`
|
||||
}
|
||||
|
||||
// 以下为门店相关数据
|
||||
type StoreSkuCategoryMap struct {
|
||||
ModelIDCUO
|
||||
StoreID int
|
||||
SkuCategoryID int
|
||||
|
||||
ElmID int64 `gorm:"index"`
|
||||
EbaiID int64 `gorm:"index"`
|
||||
}
|
||||
|
||||
type StoreSkuBind struct {
|
||||
ModelIDCUO
|
||||
StoreID int `gorm:"unique_index:unique_store_id_sku_id"`
|
||||
SkuID int `gorm:"unique_index:unique_store_id_sku_id"`
|
||||
SubStoreID int
|
||||
Price int // 单位为分,不用int64的原因是这里不需要累加
|
||||
Status int
|
||||
|
||||
ElmID int64 `gorm:"index"`
|
||||
EbaiID int64 `gorm:"index"`
|
||||
}
|
||||
Reference in New Issue
Block a user