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"` }