diff --git a/business/partner/purchase/jd/sku.go b/business/partner/purchase/jd/sku.go index 9faf3a8be..9dae3d548 100644 --- a/business/partner/purchase/jd/sku.go +++ b/business/partner/purchase/jd/sku.go @@ -361,24 +361,26 @@ func (p *PurchaseHandler) syncSkuNameAsSpu(db *dao.DaoDB, sku *model.Sku, skuExt skuExt.JdID = tmpSkuName.JdID skuNameJdID = skuExt.JdID } - if sku.JdSyncStatus&model.SyncFlagDeletedMask != 0 { // 删除SKU - err = api.JdAPI.UpdateSkuBaseInfo(utils.Int2Str(skuExt.ID), utils.Int2Str(sku.ID), utils.Params2Map(jdapi.KeyFixedStatus, jdapi.SkuFixedStatusDeleted)) - } else if sku.JdSyncStatus&model.SyncFlagNewMask != 0 && !jxutils.IsFakeID(skuNameJdID) { // 非首次新增SKU - if globals.EnableStoreWrite { - vendorSkuID2, err2 := api.JdAPI.AppendSku(utils.Int2Str(skuExt.ID), utils.Int2Str(sku.ID), skuExt.JdCategoryID, shopCategories, skuExt.BrandID, skuName, price, jxutils.IntWeight2Float(sku.Weight), []string{skuExt.Img}, jxStatus2jdStatus(sku.Status), true, composeSkuSpec(sku.SpecQuality, sku.SpecUnit, skuExt.Unit), nil) - if err = err2; err == nil { - vendorSkuID = utils.Int64ToStr(vendorSkuID2) + if !jxutils.IsFakeID(skuNameJdID) { + if sku.JdSyncStatus&model.SyncFlagDeletedMask != 0 { // 删除SKU + err = api.JdAPI.UpdateSkuBaseInfo(utils.Int2Str(skuExt.ID), utils.Int2Str(sku.ID), utils.Params2Map(jdapi.KeyFixedStatus, jdapi.SkuFixedStatusDeleted)) + } else if sku.JdSyncStatus&model.SyncFlagNewMask != 0 { // 非首次新增SKU + if globals.EnableStoreWrite { + vendorSkuID2, err2 := api.JdAPI.AppendSku(utils.Int2Str(skuExt.ID), utils.Int2Str(sku.ID), skuExt.JdCategoryID, shopCategories, skuExt.BrandID, skuName, price, jxutils.IntWeight2Float(sku.Weight), []string{skuExt.Img}, jxStatus2jdStatus(sku.Status), true, composeSkuSpec(sku.SpecQuality, sku.SpecUnit, skuExt.Unit), nil) + if err = err2; err == nil { + vendorSkuID = utils.Int64ToStr(vendorSkuID2) + } + } + } else if sku.JdSyncStatus&model.SyncFlagModifiedMask != 0 { + params := make(map[string]interface{}) + params[jdapi.KeySkuName] = skuName + params[jdapi.KeyImages] = []string{skuExt.Img} + params[jdapi.KeyFixedStatus] = jxStatus2jdStatus(sku.Status) + params[jdapi.KeyWeight] = jxutils.IntWeight2Float(sku.Weight) + params[jdapi.KeySkuPrice] = price + if globals.EnableStoreWrite { + err = api.JdAPI.UpdateSkuBaseInfo(utils.Int2Str(skuExt.ID), utils.Int2Str(sku.ID), params) } - } - } else if sku.JdSyncStatus&model.SyncFlagModifiedMask != 0 { - params := make(map[string]interface{}) - params[jdapi.KeySkuName] = skuName - params[jdapi.KeyImages] = []string{skuExt.Img} - params[jdapi.KeyFixedStatus] = jxStatus2jdStatus(sku.Status) - params[jdapi.KeyWeight] = jxutils.IntWeight2Float(sku.Weight) - params[jdapi.KeySkuPrice] = price - if globals.EnableStoreWrite { - err = api.JdAPI.UpdateSkuBaseInfo(utils.Int2Str(skuExt.ID), utils.Int2Str(sku.ID), params) } } if err == nil {