- don't use SkuShopCategoryMap to bind sku cat.

This commit is contained in:
gazebo
2019-02-22 12:03:39 +08:00
parent 34c25a7639
commit 360ea1e326

View File

@@ -4,7 +4,6 @@ import (
"errors" "errors"
"fmt" "fmt"
"strings" "strings"
"time"
"git.rosy.net.cn/baseapi/platformapi/ebaiapi" "git.rosy.net.cn/baseapi/platformapi/ebaiapi"
"git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/baseapi/utils"
@@ -243,21 +242,23 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks
// todo 适当处理重复(即已经创建)的情况 // todo 适当处理重复(即已经创建)的情况
if storeSku.EbaiID, err = api.EbaiAPI.SkuCreate(strStoreID, storeSku.SkuID, genSkuParamsFromStoreSkuInfo(storeSku)); err == nil { if storeSku.EbaiID, err = api.EbaiAPI.SkuCreate(strStoreID, storeSku.SkuID, genSkuParamsFromStoreSkuInfo(storeSku)); err == nil {
updateFields = append(updateFields, model.FieldEbaiID) updateFields = append(updateFields, model.FieldEbaiID)
isCreate = true // https: //open-be.ele.me/dev/notice?id=116
// 创建SKU后马上绑定分类会失败所以延迟绑定 // 饿百支持创建sku时绑定商家分类了
time.AfterFunc(3*time.Second, func() { // isCreate = true
if err := api.EbaiAPI.SkuShopCategoryMap(strStoreID, storeSku.EbaiID, utils.Int64ToStr(storeSku.CatEbaiID)); err == nil { // // 创建SKU后马上绑定分类会失败所以延迟绑定
storeSku.EbaiSyncStatus = 0 // time.AfterFunc(3*time.Second, func() {
dao.UpdateEntity(nil, &storeSku.StoreSkuBind, updateFields...) // if err := api.EbaiAPI.SkuShopCategoryMap(strStoreID, storeSku.EbaiID, utils.Int64ToStr(storeSku.CatEbaiID)); err == nil {
} // storeSku.EbaiSyncStatus = 0
}) // dao.UpdateEntity(nil, &storeSku.StoreSkuBind, updateFields...)
// }
// })
} }
} else if storeSku.EbaiSyncStatus&model.SyncFlagModifiedMask != 0 { } else if storeSku.EbaiSyncStatus&model.SyncFlagModifiedMask != 0 {
if jxutils.IsFakeID(storeSku.EbaiID) { if jxutils.IsFakeID(storeSku.EbaiID) {
err = fmt.Errorf("京西数据异常,修改一个没有创建的饿百商品:%d, store:%s", storeSku.SkuID, strStoreID) err = fmt.Errorf("京西数据异常,修改一个没有创建的饿百商品:%d, store:%s", storeSku.SkuID, strStoreID)
} else { } else {
if _, err = api.EbaiAPI.SkuUpdate(strStoreID, storeSku.EbaiID, genSkuParamsFromStoreSkuInfo(storeSku)); err == nil { if _, err = api.EbaiAPI.SkuUpdate(strStoreID, storeSku.EbaiID, genSkuParamsFromStoreSkuInfo(storeSku)); err == nil {
err = api.EbaiAPI.SkuShopCategoryMap(strStoreID, storeSku.EbaiID, utils.Int64ToStr(storeSku.CatEbaiID)) // err = api.EbaiAPI.SkuShopCategoryMap(strStoreID, storeSku.EbaiID, utils.Int64ToStr(storeSku.CatEbaiID))
} }
} }
} }
@@ -381,6 +382,7 @@ func genSkuParamsFromStoreSkuInfo(storeSku *tStoreSkuFullInfo) (params map[strin
"left_num": model.MaxStoreSkuStockQty, "left_num": model.MaxStoreSkuStockQty,
"sale_price": price, "sale_price": price,
"market_price": price, "market_price": price,
"category_id": storeSku.CatEbaiID,
"cat1_id": getEbaiCat(storeSku.EbaiCat1ID, 1), "cat1_id": getEbaiCat(storeSku.EbaiCat1ID, 1),
"cat2_id": getEbaiCat(storeSku.EbaiCat2ID, 2), "cat2_id": getEbaiCat(storeSku.EbaiCat2ID, 2),
"cat3_id": getEbaiCat(storeSku.EbaiCat3ID, 3), "cat3_id": getEbaiCat(storeSku.EbaiCat3ID, 3),