161 lines
4.8 KiB
Go
161 lines
4.8 KiB
Go
package model
|
||
|
||
import (
|
||
"time"
|
||
|
||
"git.rosy.net.cn/baseapi/utils"
|
||
)
|
||
|
||
const (
|
||
ActSkuFake = 0 // 假活动,只用于存储活动结算信息
|
||
ActSkuDirectDown = 3 // 兼容之前的
|
||
ActSkuSecKill = 4 // 兼容之前的
|
||
|
||
ActOrderBegin = 10
|
||
ActOrderMoneyOff = 11
|
||
ActOrderMoneyOffCoupon = 12
|
||
ActOrderReduceFreight = 13
|
||
ActOrderReduceFreightCoupon = 14
|
||
)
|
||
|
||
const (
|
||
ActStatusCreated = 1 // 需同步
|
||
ActStatusCanceled = 2 // 需同步
|
||
ActStatusEnded = 3 // 不需要同步,根据活动时间自动刷新的
|
||
|
||
ActCreateTypeAPI = 1
|
||
ActCreateTypeCallback = 2
|
||
ActCreateTypeSpider = 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"`
|
||
LimitUser int `json:"limitUser"` // 是否按用户限制
|
||
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"`
|
||
|
||
Remark string `orm:"size(255)" json:"remark"`
|
||
}
|
||
|
||
func (*Act) TableUnique() [][]string {
|
||
return [][]string{
|
||
[]string{"Name", "Type", "DeletedAt"},
|
||
}
|
||
}
|
||
|
||
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"`
|
||
}
|
||
|
||
func (a *Act2) GetRealActName() string {
|
||
if IsSyncStatusNeedCreate(a.SyncStatus) {
|
||
return a.Name
|
||
}
|
||
return a.Name + "_" + utils.Int64ToStr(time.Now().Unix())
|
||
}
|
||
|
||
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"`
|
||
|
||
OriginalPrice int64 `orm:"" json:"originalPrice"` // 单品级活动用,创建活动时商品的原始京西价
|
||
|
||
// 以下字段,API中有效
|
||
StoreID int `orm:"column(store_id)" json:"storeID"`
|
||
SkuID int `orm:"column(sku_id)" json:"skuID"`
|
||
|
||
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"`
|
||
}
|