From 201411d32566bc8a2887cb8f9f0ed1007c8f363f Mon Sep 17 00:00:00 2001 From: Rosy-zhudan Date: Thu, 19 Sep 2019 18:32:12 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E5=95=86=E5=93=81=E9=94=80?= =?UTF-8?q?=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/misc/store_sku_sales.go | 40 +++++++++++++++--------- 1 file changed, 26 insertions(+), 14 deletions(-) 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 }