diff --git a/business/partner/purchase/tiktok_store/store_sku2_utils.go b/business/partner/purchase/tiktok_store/store_sku2_utils.go index 311673fed..4a42434ee 100644 --- a/business/partner/purchase/tiktok_store/store_sku2_utils.go +++ b/business/partner/purchase/tiktok_store/store_sku2_utils.go @@ -442,18 +442,25 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI func loadMainProductId(api *tiktokShop.API, storeSku *dao.StoreSkuSyncInfo) *product_detail_response.ProductDetailData { // 这有可能获取的值主商品也有可能是子商品,我们需要的是主商品id和状态 var mainOrderDetail *product_detail_response.ProductDetailData - mainOrderDetail, err := api.GetSkuDetailLocalID("", utils.Int2Str(storeSku.SkuID)) - if err != nil || mainOrderDetail == nil { + mainOrderDetailSkuId, err := api.GetSkuDetailLocalID("", utils.Int2Str(storeSku.SkuID)) + if err != nil || mainOrderDetailSkuId == nil { mainOrderDetail.MainProductId = 0 return mainOrderDetail } + if mainOrderDetailSkuId.MainProductId != 0 { // 查询出来是子商品 + mainOrderDetail.MainProductId = mainOrderDetailSkuId.MainProductId + } else { // 查询出来是主商品 + mainOrderDetail.MainProductId = mainOrderDetailSkuId.ProductId + return mainOrderDetail + } + if mainOrderDetail.MainProductId != 0 { // 子商品时,获取主商品id和状态 - mainOrderDetail, err = api.GetSkuDetail(utils.Int64ToStr(mainOrderDetail.MainProductId), "") - if err != nil || mainOrderDetail == nil { + mainOrderDetailProductId, err := api.GetSkuDetail(utils.Int64ToStr(mainOrderDetail.MainProductId), "") + if err != nil || mainOrderDetailProductId == nil { mainOrderDetail.MainProductId = 0 return mainOrderDetail } - mainOrderDetail.MainProductId = mainOrderDetail.ProductId + mainOrderDetail.MainProductId = mainOrderDetailProductId.ProductId } else { mainOrderDetail.MainProductId = mainOrderDetail.ProductId // 主商品 }