124 lines
2.9 KiB
Go
124 lines
2.9 KiB
Go
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 SkuJdCategory struct {
|
||
ModelIDCUO
|
||
Name string `gorm:"type:varchar(255);index"`
|
||
Level int
|
||
ParentID int64
|
||
}
|
||
|
||
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 int64 // 这个是指对应的京东商品类别
|
||
ElmID string `gorm:"type:varchar(48);index"`
|
||
MtID string `gorm:"type:varchar(48);index"`
|
||
DidiID string `gorm:"type:varchar(48);index"`
|
||
}
|
||
|
||
type StoreSkuCategoryMap struct {
|
||
ModelIDCUO
|
||
StoreID int
|
||
SkuCategoryID int
|
||
|
||
ElmID string `gorm:"type:varchar(48)"`
|
||
}
|
||
|
||
type SkuName struct {
|
||
ModelIDCUO
|
||
Prefix string `gorm:"type:varchar(255)"`
|
||
Name string `gorm:"type:varchar(255)"`
|
||
Comment string `gorm:"type:varchar(255)"`
|
||
|
||
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 string `gorm:"type:varchar(48)"`
|
||
}
|
||
|
||
type SkuNamePlaceBind struct {
|
||
ModelIDCUO
|
||
SkuNameID int `gorm:"unique_index:unique_sku_name_id_sku_place_id"`
|
||
PlaceID int `gorm:"unique_index:unique_sku_name_id_sku_place_id"`
|
||
}
|
||
|
||
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 string `gorm:"type:varchar(48)"`
|
||
}
|