- 京东CreatePromotionSku超限处理

- 活动名字防重复
- 活动限购设置
This commit is contained in:
gazebo
2019-07-02 18:00:02 +08:00
parent 99a9946667
commit 8f77c2058b
5 changed files with 56 additions and 25 deletions

View File

@@ -1,6 +1,10 @@
package model
import "time"
import (
"time"
"git.rosy.net.cn/baseapi/utils"
)
const (
ActSkuFake = 0 // 假活动,只用于存储活动结算信息
@@ -27,15 +31,22 @@ type Act struct {
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"`
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 {
@@ -65,6 +76,13 @@ type Act2 struct {
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
@@ -76,18 +94,18 @@ type ActOrderRule struct {
type ActStoreSku struct {
ModelIDCULD
ActID int `orm:"column(act_id)" json:"actID"`
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"`
// 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"` // 订单级活动用
Stock int `orm:"" json:"stock"` // 活动库存
}
func (*ActStoreSku) TableUnique() [][]string {