diff --git a/business/partner/purchase/ebai/store_sku.go b/business/partner/purchase/ebai/store_sku.go index 3443ab8b0..67ab08dfb 100644 --- a/business/partner/purchase/ebai/store_sku.go +++ b/business/partner/purchase/ebai/store_sku.go @@ -239,6 +239,7 @@ func (p *PurchaseHandler) syncStoreSkus(ctx *jxcontext.Context, parentTask tasks // globals.SugarLogger.Debugf("skuID:%d, price:%d, pricePercentage:%d", storeSku.SkuID, storeSku.Price, pricePercentage) // globals.SugarLogger.Debugf(utils.Format4Output(storeDetail.PricePercentagePackObj, false)) updateFields := []string{model.FieldEbaiSyncStatus} + syncStatus := int8(0) if storeSku.NameID == 0 || storeSku.EbaiSyncStatus&model.SyncFlagDeletedMask != 0 { if storeSku.EbaiSyncStatus&model.SyncFlagNewMask == 0 && !jxutils.IsEmptyID(storeSku.EbaiID) { if globals.EnableEbaiStoreWrite { @@ -271,8 +272,11 @@ func (p *PurchaseHandler) syncStoreSkus(ctx *jxcontext.Context, parentTask tasks updateFields = append(updateFields, model.FieldEbaiID) } else if ebaiapi.IsErrSkuExist(err) { if storeSku.EbaiID = api.EbaiAPI.GetEbaiSkuIDFromCustomID(strStoreID, utils.Int2Str(storeSku.SkuID)); storeSku.EbaiID > 0 { + err = nil updateFields = append(updateFields, model.FieldEbaiID) - err = skuUpdate(strStoreID, pricePercentage, storeSku) + if err2 := skuUpdate(strStoreID, pricePercentage, storeSku); err2 != nil { + syncStatus = model.SyncFlagStoreSkuModifiedMask + } } } } else { @@ -295,7 +299,7 @@ func (p *PurchaseHandler) syncStoreSkus(ctx *jxcontext.Context, parentTask tasks } if err == nil { if len(updateFields) > 0 { - storeSku.EbaiSyncStatus = 0 + storeSku.EbaiSyncStatus = syncStatus _, err = dao.UpdateEntity(nil, &storeSku.StoreSkuBind, updateFields...) } } else if isErrModifyPrice(err) {