diff --git a/business/jxstore/misc/store_sku_sales.go b/business/jxstore/misc/store_sku_sales.go index 16315fa4c..97ca1c5a0 100644 --- a/business/jxstore/misc/store_sku_sales.go +++ b/business/jxstore/misc/store_sku_sales.go @@ -126,23 +126,35 @@ func GetStoreSkuSalesInfo(ctx *jxcontext.Context, storeID int) (outStoreSkuSales } //输出商品销量统计结果 - for _, value := range citySkuSalesCntList { - skuID := value.SkuID - if _, ok := storeSkuSalesCntMap[skuID]; ok { - storeSkuSales := &model.StoreSkuSales{} - storeSkuSales.SkuID = skuID - skuInfo := storeSkuMapData[skuID] - if skuInfo != nil { - storeSkuSales.SkuName = skuInfo.Name - storeSkuSales.SkuPrice = jxutils.IntPrice2StandardCurrencyString(int64(skuInfo.Skus2[0].BindPrice)) - storeSkuSales.SkuAvgPrice = jxutils.IntPrice2StandardCurrencyString(int64(skusAveragePrice[skuID])) - storeSkuSales.BadCommentCnt = storeSkuBadCommentCntMap[skuID] - storeSkuSales.StoreSkuSalesCnt = storeSkuSalesCntMap[skuID] - storeSkuSales.CitySkuSalesCnt = citySkuSalesCntMap[skuID] - outStoreSkuSales = append(outStoreSkuSales, storeSkuSales) + skuAndNameMapData := make(map[int]*model.SkuAndName) + if len(storeSkuMapData) < len(citySkuIDs) { + skuAndNameList, err := dao.GetSkus(db, citySkuIDs, nil, nil, nil) + if err == nil { + for _, value := range skuAndNameList { + skuAndNameMapData[value.ID] = value } } } + for _, value := range citySkuSalesCntList { + skuID := value.SkuID + storeSkuSales := &model.StoreSkuSales{} + storeSkuSales.SkuID = skuID + if storeSkuMapData[skuID] != nil { + storeSkuSales.SkuName = storeSkuMapData[skuID].Name + storeSkuSales.SkuPrice = jxutils.IntPrice2StandardCurrencyString(int64(storeSkuMapData[skuID].Skus2[0].BindPrice)) + } else if skuAndNameMapData[skuID] != nil { + storeSkuSales.SkuName = skuAndNameMapData[skuID].Name + storeSkuSales.SkuPrice = "0" + } else { + storeSkuSales.SkuName = "N/A" + storeSkuSales.SkuPrice = "0" + } + storeSkuSales.SkuAvgPrice = jxutils.IntPrice2StandardCurrencyString(int64(skusAveragePrice[skuID])) + storeSkuSales.BadCommentCnt = storeSkuBadCommentCntMap[skuID] + storeSkuSales.StoreSkuSalesCnt = storeSkuSalesCntMap[skuID] + storeSkuSales.CitySkuSalesCnt = citySkuSalesCntMap[skuID] + outStoreSkuSales = append(outStoreSkuSales, storeSkuSales) + } return outStoreSkuSales, err }