diff --git a/business/partner/purchase/tiktok_store/store_sku2_utils.go b/business/partner/purchase/tiktok_store/store_sku2_utils.go index 20cea0e55..75fb4d89c 100644 --- a/business/partner/purchase/tiktok_store/store_sku2_utils.go +++ b/business/partner/purchase/tiktok_store/store_sku2_utils.go @@ -316,7 +316,18 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI // 主商品存在,直接同步子商品 childrenProductId, err := api.CreateSubProduct(utils.Str2Int64(localThing[0].VendorThingID), utils.Str2Int64(vendorStoreID)) - if err != nil || childrenProductId == 0 { + if err != nil && strings.Contains(err.Error(), "2010001") { // 子品已经同步了但本地不存在 + mainOrderDetailSkuId, _ := api.GetSkuDetailLocalID("", utils.Int2Str(storeSku.SkuID)) + if mainOrderDetailSkuId.MainProductId != 0 { // 子品 + storeSku.VendorSonSkuID = mainOrderDetailSkuId.ProductIdStr // (属性id skuID方案一)(自商品的商品id方案二) + storeSku.SkuSyncStatus = 0 + storeSku.VendorSkuID = mainOrderDetailSkuId.ProductIdStr // 子商品主id + storeSku.VendorMainId = utils.Int64ToStr(mainOrderDetailSkuId.MainProductId) // 主品id + childrenProductId = mainOrderDetailSkuId.ProductId + } else { // 正常不会进入 + continue + } + } else if err != nil || childrenProductId == 0 { failedList = putils.GetErrMsg2FailedSingleList(storeSku, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) storeSku.SkuSyncStatus = model.SyncFlagStoreSkuModifiedMask storeSku.VendorSonSkuID = utils.Int64ToStr(childrenProductId) // (属性id skuID方案一)(自商品的商品id方案二)