From 1e69e243335921c22bec18b14c26005e98945114 Mon Sep 17 00:00:00 2001 From: gazebo Date: Wed, 29 May 2019 10:50:24 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E7=BE=8E=E5=9B=A2=E5=A4=96=E5=8D=96?= =?UTF-8?q?=E5=9C=A8=E6=94=B9=E4=BB=B7=E5=87=BA=E9=94=99=E5=90=8E=EF=BC=8C?= =?UTF-8?q?=E5=B0=9D=E8=AF=95=E5=8F=AA=E4=BF=AE=E6=94=B9=E5=8F=AF=E5=94=AE?= =?UTF-8?q?=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/ebai/store_sku.go | 4 +++- business/partner/purchase/mtwm/store_sku.go | 16 +++++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/business/partner/purchase/ebai/store_sku.go b/business/partner/purchase/ebai/store_sku.go index 25fae54c0..0a5e91447 100644 --- a/business/partner/purchase/ebai/store_sku.go +++ b/business/partner/purchase/ebai/store_sku.go @@ -287,7 +287,9 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks if errExt, ok := err.(*utils.ErrorWithCode); ok && errExt.IntCode() == 1 && strings.Index(errExt.ErrMsg(), "sku_参加营销活动") >= 0 { storeSku.EbaiSyncStatus = storeSku.EbaiSyncStatus & ^model.SyncFlagPriceMask if storeSku.EbaiSyncStatus != 0 { - api.EbaiAPI.SkuUpdate(strStoreID, storeSku.EbaiID, genSkuParamsFromStoreSkuInfo(storeSku)) + if _, err2 := api.EbaiAPI.SkuUpdate(strStoreID, storeSku.EbaiID, genSkuParamsFromStoreSkuInfo(storeSku)); err2 != nil { + err = err2 + } } } } diff --git a/business/partner/purchase/mtwm/store_sku.go b/business/partner/purchase/mtwm/store_sku.go index 72624313e..e8c8a850c 100644 --- a/business/partner/purchase/mtwm/store_sku.go +++ b/business/partner/purchase/mtwm/store_sku.go @@ -3,6 +3,7 @@ package mtwm import ( "errors" "fmt" + "strings" "time" "git.rosy.net.cn/baseapi/platformapi/mtwmapi" @@ -286,7 +287,8 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks }, } foodData["skus"] = skus - if skuItem.StoreSkuSyncStatus&(model.SyncFlagModifiedMask|model.SyncFlagNewMask|model.SyncFlagPriceMask) != 0 { + shouldCallSellStatus := !(skuItem.StoreSkuSyncStatus&(model.SyncFlagModifiedMask|model.SyncFlagNewMask|model.SyncFlagPriceMask) != 0) + if !shouldCallSellStatus { globals.SugarLogger.Debugf("mtwm SyncStoreSkus3 skuID:%d, SkuSyncStatus:%d", skuItem.SkuID, skuItem.StoreSkuSyncStatus) mergeStoreSkuStatus := jxutils.MergeSkuStatus(skuItem.Status, skuItem.StoreSkuStatus) if !(skuItem.StoreSkuSyncStatus&model.SyncFlagNewMask != 0 && mergeStoreSkuStatus != model.SkuStatusNormal) { @@ -331,12 +333,20 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks // 暂不创建 updateFields = nil } - } else { + } + if err != nil { + if extErr, ok := err.(*utils.ErrorWithCode); ok && extErr.IntCode() == 1 && strings.Index(extErr.ErrMsg(), "折扣商品原价不允许修改") >= 0 { + shouldCallSellStatus = true + } + } + if shouldCallSellStatus { if skuItem.StoreSkuSyncStatus&(model.SyncFlagSaleMask) != 0 { globals.SugarLogger.Debugf("mtwm SyncStoreSkus4 skuID:%d, SkuSyncStatus:%d", skuItem.SkuID, skuItem.StoreSkuSyncStatus) sellStatus := skuStatusJX2Mtwm(jxutils.MergeSkuStatus(skuItem.Status, skuItem.StoreSkuStatus)) if globals.EnableMtwmStoreWrite { - err = api.MtwmAPI.RetailSkuSellStatus(vendorStoreID, foodDataList, sellStatus) + if err2 := api.MtwmAPI.RetailSkuSellStatus(vendorStoreID, foodDataList, sellStatus); err2 != nil { + err = err2 + } } } }