- ebai.store_sku2小修改

This commit is contained in:
gazebo
2019-07-11 17:21:37 +08:00
parent 980c6b9023
commit 85f86a19fe

View File

@@ -16,9 +16,15 @@ import (
"git.rosy.net.cn/jx-callback/globals/api"
)
const (
minBatchSize = 5 // 使用batch相关的API最少的处理数量因为饿百批处理API的调用频率限制得更低
)
func (p *PurchaseHandler) GetStoreSkusBatchSize(funcID int) (batchSize int) {
switch funcID {
case partner.FuncUpdateStoreSkusStock, partner.FuncUpdateStoreSkusStatus, partner.FuncUpdateStoreSkusPrice, partner.FuncDeleteStoreSkus:
batchSize = ebaiapi.MaxStoreSkuBatchSize
case partner.FuncCreateStoreSkus, partner.FuncUpdateStoreSkus:
batchSize = 1
}
return batchSize
}
// 门店分类
func (p *PurchaseHandler) ReadStoreCategory(ctx *jxcontext.Context, vendorStoreID string) (cats []*partner.BareCategoryInfo, err error) {
@@ -79,12 +85,6 @@ func (p *PurchaseHandler) UpdateStoreSkus(ctx *jxcontext.Context, vendorStoreID
return err
}
// 通用
func (p *PurchaseHandler) GetStoreSkusBatchSize(funcID int) int {
return 1
}
// 对于多门店平台来说storeSkuList中只有SkuID与VendorSkuID有意义
func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, vendorStoreID string, storeSkuList []*dao.StoreSkuSyncInfo) (err error) {
storeSku := storeSkuList[0]
@@ -115,24 +115,16 @@ func (p *PurchaseHandler) UpdateStoreSkusStatus(ctx *jxcontext.Context, storeID
}
}
if globals.EnableEbaiStoreWrite {
if len(invalidSkus) > minBatchSize {
if len(invalidSkus) > 1 {
err = api.EbaiAPI.SkuOffline(utils.Int2Str(storeID), strings.Join(invalidSkus, ","))
} else if len(invalidSkus) > 0 {
for _, v := range invalidSkus {
if err = api.EbaiAPI.SkuOfflineOne(utils.Int2Str(storeID), utils.Str2Int64(v), "", ""); err != nil {
break
}
}
} else if len(invalidSkus) == 1 {
err = api.EbaiAPI.SkuOfflineOne(utils.Int2Str(storeID), utils.Str2Int64(invalidSkus[0]), "", "")
}
if err == nil {
if len(validSkus) > minBatchSize {
if len(validSkus) > 1 {
err = api.EbaiAPI.SkuOnline(utils.Int2Str(storeID), strings.Join(validSkus, ","))
} else if len(validSkus) > 0 {
for _, v := range invalidSkus {
if err = api.EbaiAPI.SkuOnlineOne(utils.Int2Str(storeID), utils.Str2Int64(v), "", ""); err != nil {
break
}
}
} else if len(validSkus) == 1 {
err = api.EbaiAPI.SkuOnlineOne(utils.Int2Str(storeID), utils.Str2Int64(validSkus[0]), "", "")
}
}
}
@@ -145,14 +137,10 @@ func (p *PurchaseHandler) UpdateStoreSkusPrice(ctx *jxcontext.Context, storeID i
skuPriceList[k] = fmt.Sprintf("%s:%d", v.VendorSkuID, v.Price)
}
if globals.EnableEbaiStoreWrite {
if len(skuPriceList) > minBatchSize {
if len(skuPriceList) > 1 {
err = api.EbaiAPI.SkuPriceUpdateBatch(utils.Int2Str(storeID), strings.Join(skuPriceList, ";"), "", "")
} else {
for _, v := range skuPriceList {
if err = api.EbaiAPI.SkuPriceUpdateOne(utils.Int2Str(storeID), v, "", ""); err != nil {
break
}
}
} else if len(skuPriceList) == 1 {
err = api.EbaiAPI.SkuPriceUpdateOne(utils.Int2Str(storeID), skuPriceList[0], "", "")
}
}
return err