+SyncSpecialAct
Act添加字段IsSpecail
This commit is contained in:
@@ -511,13 +511,17 @@ func CreateOrUpdateActStoreSku(db *DaoDB, storeSkuAct *model.StoreSkuAct) (err e
|
||||
return err
|
||||
}
|
||||
|
||||
func GetStoresSkusAct(db *DaoDB, storeIDs, skuIDs, vendorIDs []int, minActPercentage, maxActPercentage int) (storeSkuActList []*model.StoreSkuAct, err error) {
|
||||
func GetStoresSkusAct(db *DaoDB, hintActID int, storeIDs, skuIDs, vendorIDs []int, minActPercentage, maxActPercentage int) (storeSkuActList []*model.StoreSkuAct, err error) {
|
||||
sql := `
|
||||
SELECT *
|
||||
FROM store_sku_act t1
|
||||
WHERE 1 = 1
|
||||
`
|
||||
sqlParams := []interface{}{}
|
||||
if hintActID > 0 {
|
||||
sql += " AND t1.hint_act_id = ?"
|
||||
sqlParams = append(sqlParams, hintActID)
|
||||
}
|
||||
if len(storeIDs) > 0 {
|
||||
sql += " AND t1.store_id IN (" + GenQuestionMarks(len(storeIDs)) + ")"
|
||||
sqlParams = append(sqlParams, storeIDs)
|
||||
@@ -545,7 +549,7 @@ func GetStoresSkusAct(db *DaoDB, storeIDs, skuIDs, vendorIDs []int, minActPercen
|
||||
func GetStoresSkusAndActInfo(db *DaoDB, storeIDs, skuIDs, vendorIDs []int, minActPercentage, maxActPercentage int) (storeSkuAndActList []*StoreSkuAndAct, err error) {
|
||||
storeSkuList, err := GetStoresSkusInfo(db, storeIDs, skuIDs)
|
||||
if err == nil && len(storeSkuList) > 0 {
|
||||
storeSkuActList, err2 := GetStoresSkusAct(db, storeIDs, skuIDs, vendorIDs, minActPercentage, maxActPercentage)
|
||||
storeSkuActList, err2 := GetStoresSkusAct(db, 0, storeIDs, skuIDs, vendorIDs, minActPercentage, maxActPercentage)
|
||||
if err = err2; err == nil {
|
||||
actMap := make(map[int64][]*model.StoreSkuAct)
|
||||
for _, v := range storeSkuActList {
|
||||
|
||||
@@ -100,6 +100,11 @@ type StoreSkuSyncInfo struct {
|
||||
SkuName string
|
||||
StatusSaleBegin int16 `json:"statusSaleBegin"` //商品可售时间范围
|
||||
StatusSaleEnd int16 `json:"statusSaleEnd"`
|
||||
|
||||
VendorActID string `orm:"column(vendor_act_id);size(48)" json:"vendorActID"`
|
||||
ActPercentage int `json:"actPercentage"` // 直降活动百分比
|
||||
ActSyncStatus int8 `orm:"default(2)" json:"actSyncStatus"`
|
||||
VendorActPrice int64 `json:"vendorActPrice"` // 保存数据用,实际的活动价
|
||||
}
|
||||
|
||||
type MissingStoreSkuInfo struct {
|
||||
@@ -165,6 +170,7 @@ type StoreSkuVendorInfo struct {
|
||||
|
||||
// 新活动信息
|
||||
VendorActID string `orm:"column(vendor_act_id);size(48)" json:"vendorActID"`
|
||||
HintActID int `orm:"column(hint_act_id);size(48);index" json:"hintActID"`
|
||||
ActPercentage int `json:"actPercentage"` // 直降活动百分比
|
||||
ActSyncStatus int8 `orm:"default(2)" json:"actSyncStatus"`
|
||||
VendorActPrice int64 `json:"vendorActPrice"` // 保存数据用,实际的活动价
|
||||
@@ -397,6 +403,10 @@ func GetStoreSkus2(db *DaoDB, vendorID, storeID int, skuIDs []int, mustDirty boo
|
||||
t4m.vendor_thing_id vendor_cat_id,
|
||||
t5skum.vendor_thing_id sku_vendor_cat_id`
|
||||
}
|
||||
if globals.IsStoreSkuAct {
|
||||
sql += `,
|
||||
act.vendor_act_id, act.act_percentage, act.sync_status act_sync_status, act.vendor_act_price`
|
||||
}
|
||||
sql += `
|
||||
FROM store_sku_bind t1
|
||||
JOIN store_map t14 ON t14.store_id = t1.store_id AND t14.vendor_id = ? AND t14.deleted_at = ?
|
||||
@@ -413,6 +423,11 @@ func GetStoreSkus2(db *DaoDB, vendorID, storeID int, skuIDs []int, mustDirty boo
|
||||
utils.DefaultTimeValue, // model.SkuStatusNormal,
|
||||
utils.DefaultTimeValue,
|
||||
}
|
||||
if globals.IsStoreSkuAct {
|
||||
sql += `
|
||||
LEFT JOIN store_sku_act act ON act.store_id = t1.store_id AND act.sku_id = t1.sku_id AND act.vendor_id = ?`
|
||||
sqlParams = append(sqlParams, vendorID)
|
||||
}
|
||||
if isSingleStorePF {
|
||||
sql += `
|
||||
LEFT JOIN store_sku_category_map t5 ON t4.id = t5.category_id AND t5.store_id = t1.store_id AND t5.deleted_at = ?
|
||||
@@ -436,13 +451,17 @@ func GetStoreSkus2(db *DaoDB, vendorID, storeID int, skuIDs []int, mustDirty boo
|
||||
sqlParams = append(sqlParams, storeID)
|
||||
}
|
||||
if mustDirty {
|
||||
sql += " AND (t1.%s_sync_status <> 0 OR (%s <> %s AND t3.id IS NULL))"
|
||||
sql += " AND (t1.%s_sync_status <> 0 OR (%s <> %s AND t3.id IS NULL)"
|
||||
fmtParams = append(fmtParams, fieldPrefix, skuVendorIDField)
|
||||
if isSingleStorePF {
|
||||
fmtParams = append(fmtParams, "0")
|
||||
} else {
|
||||
fmtParams = append(fmtParams, "''")
|
||||
}
|
||||
// if globals.IsStoreSkuAct {
|
||||
// sql += " OR act.sync_status <> 0"
|
||||
// }
|
||||
sql += ")"
|
||||
} else {
|
||||
sql += " AND t1.deleted_at = ?"
|
||||
sqlParams = append(sqlParams, utils.DefaultTimeValue)
|
||||
@@ -1240,7 +1259,7 @@ func UpdateActPrice4StoreSkuNameNew(db *DaoDB, storeIDs, skuIDs []int, skuNamesI
|
||||
return err
|
||||
}
|
||||
storeMapMap = StoreMapList2Map(storeMapList)
|
||||
storeSkuActList, err2 := GetStoresSkusAct(db, storeIDs, skuIDs, nil, 0, 0)
|
||||
storeSkuActList, err2 := GetStoresSkusAct(db, 0, storeIDs, skuIDs, nil, 0, 0)
|
||||
if err = err2; err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -1296,12 +1315,12 @@ func UpdateActPrice4StoreSkuNameNew(db *DaoDB, storeIDs, skuIDs []int, skuNamesI
|
||||
vendorInfo.ActPercentage = storeSkuAct.ActPercentage
|
||||
vendorInfo.ActSyncStatus = storeSkuAct.SyncStatus
|
||||
vendorInfo.VendorActPrice = storeSkuAct.VendorActPrice
|
||||
vendorInfo.HintActID = storeSkuAct.HintActID
|
||||
}
|
||||
|
||||
if actStoreSku := actStoreSkuMap4Act.GetActStoreSku(skuName.StoreID, v.SkuID, vendorID); actStoreSku != nil {
|
||||
vendorInfo.ActPrice = int(actStoreSku.ActualActPrice)
|
||||
vendorInfo.ActID = actStoreSku.ActID
|
||||
vendorInfo.VendorActID = actStoreSku.VendorActID
|
||||
vendorInfo.ActType = actStoreSku.Type
|
||||
vendorInfo.EarningPrice = int(jxutils.CaculateSkuEarningPrice(int64(v.BindPrice), int64(v.ActPrice), skuName.PayPercentage))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user