package model import "time" const ( ActSkuFake = 0 // 假活动,只用于存储活动结算信息 ActSkuDirectDown = 1 ActSkuSecKill = 2 ActOrderBegin = 10 ActOrderMoneyOff = 11 ActOrderMoneyOffCoupon = 12 ActOrderReduceFreight = 13 ActOrderReduceFreightCoupon = 14 ) const ( ActStatusCreated = 1 // 需同步 ActStatusCanceled = 2 // 需同步 ActStatusEnded = 3 // 不需要同步,根据活动时间自动刷新的 ) type Act struct { ModelIDCULD Name string `orm:"size(64)" json:"name"` Advertising string `orm:"size(255)" json:"advertising"` Type int `json:"type"` Status int `json:"status"` LimitDevice int `json:"limitDevice"` LimitPin int `json:"limitPin"` LimitDaily int `json:"limitDaily"` LimitCount int `json:"limitCount"` Source string `orm:"size(255)" json:"source"` CreateType int `json:"createType"` PricePercentage int `json:"pricePercentage"` // 单品级活动才有效 BeginAt time.Time `orm:"type(datetime);index;null" json:"beginAt"` EndAt time.Time `orm:"type(datetime);index;null" json:"endAt"` } type ActMap struct { ModelIDCULD ActID int `orm:"column(act_id)" json:"actID"` VendorID int `orm:"column(vendor_id)" json:"vendorID"` VendorActID string `orm:"column(vendor_act_id);size(48)" json:"vendorActID"` SyncStatus int `orm:"default(2)" json:"syncStatus"` } func (*ActMap) TableUnique() [][]string { return [][]string{ []string{"ActID", "VendorID", "DeletedAt"}, } } // 不建表 type Act2 struct { MapID int `orm:"column(map_id)"` Act VendorID int `orm:"column(vendor_id)" json:"vendorID"` VendorActID string `orm:"column(vendor_act_id);size(48)" json:"vendorActID"` SyncStatus int `orm:"default(2)" json:"syncStatus"` } type ActOrderRule struct { ModelIDCULD ActID int `orm:"column(act_id)" json:"actID"` SalePrice int64 `orm:"" json:"salePrice"` // 满的价格 DeductPrice int64 `orm:"" json:"deductPrice"` // 减的价格 } type ActStoreSku struct { ModelIDCULD ActID int `orm:"column(act_id)" json:"actID"` StoreID int `orm:"column(store_id)" json:"storeID"` SkuID int `orm:"column(sku_id)" json:"skuID"` // LocalStatus int // 这个状态是多个平台的 // RemoteStatus int // 这个状态是多个平台的 OriginalPrice int64 `orm:"" json:"originalPrice"` // 单品级活动用,创建活动时商品的原始京西价 PricePercentage int `orm:"" json:"pricePercentage"` // 单品级活动用,SKU级的价格比例,非0覆盖Act中的PricePercentage ActPrice int64 `orm:"" json:"actPrice"` // 单品级活动用,SKU级指定的价格,非0覆盖CustomPricePercentage与Act中的PricePercentage EarningPrice int64 `json:"earningPrice"` // 活动商品设置,结算给门店老板的钱 Stock int `orm:"" json:"stock"` // 订单级活动用 } func (*ActStoreSku) TableUnique() [][]string { return [][]string{ []string{"ActID", "StoreID", "SkuID", "DeletedAt"}, } } type ActStoreSkuMap struct { ModelIDCULD BindID int `orm:"column(bind_id)" json:"bindID"` ActID int `orm:"column(act_id)" json:"actID"` StoreID int `orm:"column(store_id)" json:"storeID"` SkuID int `orm:"column(sku_id)" json:"skuID"` VendorID int `orm:"column(vendor_id)" json:"vendorID"` VendorActID string `orm:"column(vendor_act_id);size(48)" json:"vendorActID"` SyncStatus int `orm:"default(2)" json:"syncStatus"` ActualActPrice int64 `orm:"" json:"actualActPrice"` // 单品级活动用,创建活动时商品的活动价格 } func (*ActStoreSkuMap) TableUnique() [][]string { return [][]string{ []string{"ActID", "BindID", "VendorID"}, } } func (*ActStoreSkuMap) TableIndex() [][]string { return [][]string{ []string{"ActID", "StoreID", "SkuID", "VendorID", "DeletedAt"}, } } // 不建表 type ActStoreSku2 struct { MapID int `orm:"column(map_id)"` ActStoreSku VendorID int `orm:"column(vendor_id)" json:"vendorID"` VendorActID string `orm:"column(vendor_act_id);size(48)" json:"vendorActID"` SyncStatus int `orm:"default(2)" json:"syncStatus"` ActualActPrice int64 `orm:"" json:"actualActPrice"` // 单品级活动用,创建活动时商品的活动价格 VendorStoreID string `orm:"column(vendor_store_id)" json:"vendorStoreID"` VendorSkuID string `orm:"column(vendor_sku_id)" json:"vendorSkuID"` }