From dd0447df9af03539e00be8ccc49ae35ee983bac5 Mon Sep 17 00:00:00 2001 From: gazebo Date: Tue, 4 Jun 2019 14:35:34 +0800 Subject: [PATCH] - fk --- business/partner/purchase/ebai/store_sku.go | 41 ++++++++++----------- 1 file changed, 19 insertions(+), 22 deletions(-) diff --git a/business/partner/purchase/ebai/store_sku.go b/business/partner/purchase/ebai/store_sku.go index ebd8a311b..f52a79aef 100644 --- a/business/partner/purchase/ebai/store_sku.go +++ b/business/partner/purchase/ebai/store_sku.go @@ -281,25 +281,7 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks } else if storeSku.EbaiID = ebaiapi.GetEbaiSkuIDFromError(err); storeSku.EbaiID > 0 { // globals.SugarLogger.Debugf("SyncStoreSkus test storeSku.EbaiID:%d, err:%v", storeSku.EbaiID, err) updateFields = append(updateFields, model.FieldEbaiID) - if globals.EnableEbaiStoreWrite { - if _, err = api.EbaiAPI.SkuUpdate(strStoreID, storeSku.EbaiID, genSkuParamsFromStoreSkuInfo(storeSku)); err != nil { - // 如果是改价错误,尝试把价格标志去掉再同步 - if storeSku.SkuID == 23831 { - globals.SugarLogger.Debugf("ebai isErrModifyPrice(err):%t", isErrModifyPrice(err)) - } - if isErrModifyPrice(err) { - storeSku.EbaiSyncStatus = storeSku.EbaiSyncStatus & ^model.SyncFlagPriceMask - if storeSku.SkuID == 23831 { - globals.SugarLogger.Debugf("storeSku.EbaiSyncStatus:%d", storeSku.EbaiSyncStatus) - } - if storeSku.EbaiSyncStatus != 0 { - if _, err2 := api.EbaiAPI.SkuUpdate(strStoreID, storeSku.EbaiID, genSkuParamsFromStoreSkuInfo(storeSku)); err2 != nil { - err = err2 - } - } - } - } - } + err = skuUpdate(strStoreID, storeSku) } } else { err = fmt.Errorf("SKUANME%d:%s没有图片,同步失败", storeSku.NameID, storeSku.Name) @@ -312,9 +294,7 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks err = fmt.Errorf("京西数据异常,修改一个没有创建的饿百商品:%d, store:%s", storeSku.SkuID, strStoreID) } else { if storeSku.Img != "" { - if globals.EnableEbaiStoreWrite { - _, err = api.EbaiAPI.SkuUpdate(strStoreID, storeSku.EbaiID, genSkuParamsFromStoreSkuInfo(storeSku)) - } + err = skuUpdate(strStoreID, storeSku) } else { err = fmt.Errorf("SKUANME%d:%s没有图片,同步失败", storeSku.NameID, storeSku.Name) } @@ -341,6 +321,23 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks return rootTask.ID, err } +func skuUpdate(strStoreID string, storeSku *tStoreSkuFullInfo) (err error) { + if globals.EnableEbaiStoreWrite { + if _, err = api.EbaiAPI.SkuUpdate(strStoreID, storeSku.EbaiID, genSkuParamsFromStoreSkuInfo(storeSku)); err != nil { + // 如果是改价错误,尝试把价格标志去掉再同步 + if isErrModifyPrice(err) { + storeSku.EbaiSyncStatus = storeSku.EbaiSyncStatus & ^model.SyncFlagPriceMask + if storeSku.EbaiSyncStatus != 0 { + if _, err2 := api.EbaiAPI.SkuUpdate(strStoreID, storeSku.EbaiID, genSkuParamsFromStoreSkuInfo(storeSku)); err2 != nil { + err = err2 + } + } + } + } + } + return err +} + func isErrModifyPrice(err error) bool { if errExt, ok := err.(*utils.ErrorWithCode); ok && errExt.IntCode() == 1 { for _, v := range []string{