diff --git a/business/partner/purchase/mtwm/store_sku2.go b/business/partner/purchase/mtwm/store_sku2.go index 8ac6b50be..24b3cc289 100644 --- a/business/partner/purchase/mtwm/store_sku2.go +++ b/business/partner/purchase/mtwm/store_sku2.go @@ -413,7 +413,9 @@ func (p *PurchaseHandler) GetStoreSkusFullInfo(ctx *jxcontext.Context, parentTas if err != nil { return nil, err } - skuNameList = append(skuNameList, vendorSku2Jx(skuInfo)) + if skuName := vendorSku2Jx(skuInfo); skuName != nil { + skuNameList = append(skuNameList, skuName) + } } else { var storeSkuMap map[string]*partner.StoreSkuInfo if storeSkuList != nil { @@ -430,7 +432,9 @@ func (p *PurchaseHandler) GetStoreSkusFullInfo(ctx *jxcontext.Context, parentTas } else { for _, v := range result { if storeSkuMap[v.AppFoodCode] != nil { - skuNameList = append(skuNameList, vendorSku2Jx(v)) + if skuName := vendorSku2Jx(v); skuName != nil { + skuNameList = append(skuNameList, skuName) + } } } } @@ -443,6 +447,10 @@ func (p *PurchaseHandler) GetStoreSkusFullInfo(ctx *jxcontext.Context, parentTas } func vendorSku2Jx(appFood *mtwmapi.AppFood) (skuName *partner.SkuNameInfo) { + if len(appFood.SkuList) == 1 { + globals.SugarLogger.Warnf("vendorSku2Jx, strange appFood:%s", utils.Format4Output(appFood, true)) + return nil + } prefix, name, comment, specUnit, unit, specQuality := jxutils.SplitSkuName(appFood.Name) vendorSku := appFood.SkuList[0] weight := int(utils.Str2Int64WithDefault(vendorSku.Weight, 0)) @@ -488,7 +496,9 @@ func vendorSku2Jx(appFood *mtwmapi.AppFood) (skuName *partner.SkuNameInfo) { func vendorSkuList2Jx(appFoodList []*mtwmapi.AppFood) (skuNameList []*partner.SkuNameInfo) { for _, appFood := range appFoodList { - skuNameList = append(skuNameList, vendorSku2Jx(appFood)) + if skuName := vendorSku2Jx(appFood); skuName != nil { + skuNameList = append(skuNameList, skuName) + } } return skuNameList }