diff --git a/business/partner/purchase/ebai/store_sku.go b/business/partner/purchase/ebai/store_sku.go index 824dbec1e..25fae54c0 100644 --- a/business/partner/purchase/ebai/store_sku.go +++ b/business/partner/purchase/ebai/store_sku.go @@ -282,7 +282,15 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks // globals.SugarLogger.Debugf("SyncStoreSkus test storeSku.EbaiID:%d, err:%v", storeSku.EbaiID, err) updateFields = append(updateFields, model.FieldEbaiID) if globals.EnableEbaiStoreWrite { - _, err = api.EbaiAPI.SkuUpdate(strStoreID, storeSku.EbaiID, genSkuParamsFromStoreSkuInfo(storeSku)) + if _, err = api.EbaiAPI.SkuUpdate(strStoreID, storeSku.EbaiID, genSkuParamsFromStoreSkuInfo(storeSku)); err != nil { + // 如果是改价错误,尝试把价格标志去掉再同步 + 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)) + } + } + } } } } else {