From b0022eb26ecc0f173cb5680b9f82a464ee9d10f8 Mon Sep 17 00:00:00 2001 From: Rosy-zhudan Date: Fri, 6 Sep 2019 11:28:29 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=A8=E5=BA=97=E8=AF=84=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/misc/store_score.go | 64 ++++++++++++++-------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/business/jxstore/misc/store_score.go b/business/jxstore/misc/store_score.go index 9d016ed65..7935c6314 100644 --- a/business/jxstore/misc/store_score.go +++ b/business/jxstore/misc/store_score.go @@ -65,6 +65,29 @@ func (s *StoreScoreDataWrapper) SetData(storeID int, valueName string, value int valueInfo.FieldByName(valueName).SetInt(int64(value)) } +//得到所有门店的商品 +func GetAllStoreSkus(ctx *jxcontext.Context, storeList []*cms.StoreExt) { + allStoreSkus = make(map[int]map[int]*cms.StoreSkuNameExt) + for _, storeInfo := range storeList { + storeID := storeInfo.ID + jxSkuInfoData, _ := cms.GetStoreSkus(ctx, storeID, []int{}, true, "", true, map[string]interface{}{}, 0, -1) + jxSkuMapData := make(map[int]*cms.StoreSkuNameExt) + for _, value := range jxSkuInfoData.SkuNames { + for _, skuInfo := range value.Skus2 { + saleStatus := jxutils.MergeSkuStatus(skuInfo.SkuStatus, skuInfo.StoreSkuStatus) + if saleStatus == model.SkuStatusNormal { + jxSkuMapData[skuInfo.SkuID] = value + } + } + } + allStoreSkus[storeID] = jxSkuMapData + } +} + +func ClearAllStoreSkus() { + allStoreSkus = nil +} + func GetOpenTime(opTimeList []int16) (opTime float64) { opTime = 0 for index, _ := range opTimeList { @@ -111,11 +134,11 @@ func ScoreStoreOpenTime(storeList []*cms.StoreExt) { func ScoreSaleSkuCount(ctx *jxcontext.Context, storeList []*cms.StoreExt) { for _, storeInfo := range storeList { storeID := storeInfo.ID - jxSkuInfoData, err := cms.GetStoreSkus(ctx, storeID, []int{}, true, "", true, map[string]interface{}{}, 0, -1) - if err == nil && len(jxSkuInfoData.SkuNames) > 0 { + skusMapData := allStoreSkus[storeID] + if len(skusMapData) > 0 { finalScore := 0 saleSkuCount := 0 - for _, value := range jxSkuInfoData.SkuNames { + for _, value := range skusMapData { for _, skuInfo := range value.Skus2 { saleStatus := jxutils.MergeSkuStatus(skuInfo.SkuStatus, skuInfo.StoreSkuStatus) if saleStatus == model.SkuStatusNormal { @@ -334,29 +357,6 @@ func GetRangeStoreList(storeID int, lng, lat, checkDist float64, storeList []*cm return outStoreList } -//得到所有门店的商品 -func GetAllStoreSkus(ctx *jxcontext.Context, storeList []*cms.StoreExt) { - allStoreSkus = make(map[int]map[int]*cms.StoreSkuNameExt) - for _, storeInfo := range storeList { - storeID := storeInfo.ID - jxSkuInfoData, _ := cms.GetStoreSkus(ctx, storeID, []int{}, true, "", true, map[string]interface{}{}, 0, -1) - jxSkuMapData := make(map[int]*cms.StoreSkuNameExt) - for _, value := range jxSkuInfoData.SkuNames { - for _, skuInfo := range value.Skus2 { - saleStatus := jxutils.MergeSkuStatus(skuInfo.SkuStatus, skuInfo.StoreSkuStatus) - if saleStatus == model.SkuStatusNormal { - jxSkuMapData[skuInfo.SkuID] = value - } - } - } - allStoreSkus[storeID] = jxSkuMapData - } -} - -func ClearAllStoreSkus() { - allStoreSkus = nil -} - //得到给定门店列表里的同一SkuID商品的平均价格 func GetStoreSkusAveragePrice(storeList []*cms.StoreExt) map[int]int { skusTotalPrice := make(map[int]int) @@ -392,7 +392,6 @@ func GetSkusCountLessEqualAvgPrice(storeID int, skusAveragePrice map[int]int) (c //可售商品价格在附近5km内门店比较,价格低于等于平均值的商品数占90%以上满分10分,比例每降低10%减1分,100%超标得0分 func ScoreSaleSkuPrice(ctx *jxcontext.Context, storeList []*cms.StoreExt) { - GetAllStoreSkus(ctx, storeList) for _, storeInfo := range storeList { finalScore := 0 storeID := storeInfo.ID @@ -414,7 +413,6 @@ func ScoreSaleSkuPrice(ctx *jxcontext.Context, storeList []*cms.StoreExt) { storeScoreDataWrapper.SetData(storeID, "SaleSkuPrice", finalScore) } } - ClearAllStoreSkus() } func GetFilterStoreListEx(storeList []*cms.StoreExt, storeIDMap map[int]int) (outStoreList []*cms.StoreExt) { @@ -443,17 +441,19 @@ func ScoreStore(ctx *jxcontext.Context, storeIDList []int) (retVal interface{}, storeIDMap := jxutils.IntList2Map(storeIDList) storeList = GetFilterStoreListEx(storeList, storeIDMap) + // GetAllStoreSkus(ctx, storeList) ScoreStoreOpenTime(storeList) - ScoreSaleSkuCount(ctx, storeList) + // ScoreSaleSkuCount(ctx, storeList) ScoreAveragePickupTime(storeList) ScoreBadCommentOrder(storeList) ScoreUnfinishOrder(storeList) - ScoreAbsentGoodsOrder(storeList) + // ScoreAbsentGoodsOrder(storeList) ScorePromotionSku(storeList) ScoreFullVendor(storeList) ScoreStoreRange(storeList) - ScoreSaleSkuPrice(ctx, storeList) - InsertStoreScore() + // ScoreSaleSkuPrice(ctx, storeList) + // InsertStoreScore() + // ClearAllStoreSkus() return retVal, err }