diff --git a/business/partner/purchase/tiktok_store/store_sku2_utils.go b/business/partner/purchase/tiktok_store/store_sku2_utils.go index 928e36813..220232f15 100644 --- a/business/partner/purchase/tiktok_store/store_sku2_utils.go +++ b/business/partner/purchase/tiktok_store/store_sku2_utils.go @@ -219,10 +219,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI if len(localThing) != 0 { mainProductId = utils.Str2Int64(localThing[0].VendorThingID) } else { - mainOrderDetail, failedList = loadMainProductId(api, storeSku, storeID, syncType) - if len(failedList) > 0 { - continue - } + mainOrderDetail = loadMainProductId(api, storeSku) mainProductId = mainOrderDetail.MainProductId } @@ -398,9 +395,9 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI if storeSku.VendorMainId == "" { localThing, _ := dao.GetThingToTiktokMapList(db, model.VendorIDDD, int64(storeSku.SkuID), storeDetail.VendorOrgCode) if len(localThing) == 0 || localThing == nil { - mainOrderDetail, failedList2 := loadMainProductId(api, storeSku, storeID, syncType) - if len(failedList2) > 0 { - failedList = append(failedList, failedList2...) + mainOrderDetail := loadMainProductId(api, storeSku) + if mainOrderDetail.MainProductId == 0 { + failedList = putils.GetErrMsg2FailedSingleList(storeSku, errors.New("主商品获取失败"), storeID, model.VendorChineseNames[model.VendorIDDD], syncType) continue } mainIdInt = mainOrderDetail.MainProductId @@ -437,18 +434,16 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI return failedList, err } -func loadMainProductId(api *tiktokShop.API, storeSku *dao.StoreSkuSyncInfo, storeID int, syncType string) (mainOrderDetail *product_detail_response.ProductDetailData, failedList []*partner.StoreSkuInfoWithErr) { +func loadMainProductId(api *tiktokShop.API, storeSku *dao.StoreSkuSyncInfo) (mainOrderDetail *product_detail_response.ProductDetailData) { // 这有可能获取的值主商品也有可能是子商品,我们需要的是主商品id和状态 mainOrderDetail, err := api.GetSkuDetailLocalID("", utils.Int2Str(storeSku.SkuID)) - if err != nil { - failedList = putils.GetErrMsg2FailedSingleList(storeSku, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) - return + if err != nil || mainOrderDetail == nil { + mainOrderDetail.MainProductId = 0 } if mainOrderDetail.MainProductId != 0 { // 子商品时,获取主商品id和状态 mainOrderDetail, err = api.GetSkuDetail(utils.Int64ToStr(mainOrderDetail.MainProductId), "") - if err != nil { - failedList = putils.GetErrMsg2FailedSingleList(storeSku, err, storeID, model.VendorChineseNames[model.VendorIDDD], syncType) - return + if err != nil || mainOrderDetail == nil { + mainOrderDetail.MainProductId = 0 } if mainOrderDetail == nil || mainOrderDetail.Status == 2 { // 主商品为空或已删除状态时,需要创建 mainOrderDetail.MainProductId = 0