From c3873c76145c72af033e02105341597c69da9fed Mon Sep 17 00:00:00 2001 From: Rosy-zhudan Date: Mon, 9 Sep 2019 15:37:55 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=A8=E5=BA=97=E8=AF=84=E5=88=86=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/misc/misc.go | 1 + business/jxstore/misc/store_score.go | 61 ++++++++++++++++------------ 2 files changed, 36 insertions(+), 26 deletions(-) diff --git a/business/jxstore/misc/misc.go b/business/jxstore/misc/misc.go index 44dbd2029..42f353b51 100644 --- a/business/jxstore/misc/misc.go +++ b/business/jxstore/misc/misc.go @@ -102,6 +102,7 @@ func Init() { ScheduleTimerFunc("UpdateActStatusByTime", func() { dao.UpdateActStatusByTime(dao.GetDB(), time.Now().Add(-48*time.Hour)) }, updateActStatusTimeList) + ScheduleScoreStore() } ScheduleTimerFunc("AutoSaleStoreSku", func() { cms.AutoSaleStoreSku(jxcontext.AdminCtx, nil, false) diff --git a/business/jxstore/misc/store_score.go b/business/jxstore/misc/store_score.go index 857201b5a..a52d71aa3 100644 --- a/business/jxstore/misc/store_score.go +++ b/business/jxstore/misc/store_score.go @@ -17,6 +17,8 @@ import ( ) const ( + EnableScheduleScoreStore = !true + GoldMedalScore = 90 SilverMedalScore = 80 BronzeMedalScore = 70 @@ -147,7 +149,7 @@ func ScoreStoreOpenTime(storeList []*cms.StoreExt) { finalScore = 0 } } - storeScoreDataWrapper.SetData(storeID, storeName, "StoreOpenTime", finalScore) + storeScoreDataWrapper.SetData(storeID, storeName, model.FieldStoreOpenTime, finalScore) } } } @@ -174,7 +176,7 @@ func ScoreSaleSkuCount(ctx *jxcontext.Context, storeList []*cms.StoreExt) { if finalScore > ItemTotalScore { finalScore = ItemTotalScore } - storeScoreDataWrapper.SetData(storeID, storeName, "SaleSkuCount", finalScore) + storeScoreDataWrapper.SetData(storeID, storeName, model.FieldSaleSkuCount, finalScore) } } } @@ -204,7 +206,7 @@ func ScoreAveragePickupTime(storeList []*cms.StoreExt) { } } finalScore := totalScore / orderListCount - storeScoreDataWrapper.SetData(storeID, storeName, "AveragePickupTime", finalScore) + storeScoreDataWrapper.SetData(storeID, storeName, model.FieldAveragePickupTime, finalScore) } } } @@ -229,7 +231,7 @@ func ScoreBadCommentOrder(storeList []*cms.StoreExt) { finalScore = 0 } } - storeScoreDataWrapper.SetData(storeID, storeName, "BadCommentOrder", finalScore) + storeScoreDataWrapper.SetData(storeID, storeName, model.FieldBadCommentOrder, finalScore) } } } @@ -254,7 +256,7 @@ func ScoreUnfinishOrder(storeList []*cms.StoreExt) { finalScore = 0 } } - storeScoreDataWrapper.SetData(storeID, storeName, "UnfinishOrder", finalScore) + storeScoreDataWrapper.SetData(storeID, storeName, model.FieldUnfinishOrder, finalScore) } } } @@ -291,12 +293,12 @@ func ScorePromotionSku(storeList []*cms.StoreExt) { finalScore = 0 } } - storeScoreDataWrapper.SetData(storeID, storeName, "PromotionSku", finalScore) + storeScoreDataWrapper.SetData(storeID, storeName, model.FieldPromotionSku, finalScore) } } } -//经营全平台满分10分,每少一个平台扣2分(???一个都没有,是否为0) +//经营全平台满分10分,每少一个平台扣2分(一个平台没有得0分) func ScoreFullVendor(storeList []*cms.StoreExt) { fullVendorCount := len(fullVendorList) for _, storeInfo := range storeList { @@ -314,13 +316,16 @@ func ScoreFullVendor(storeList []*cms.StoreExt) { count++ } } - if count == fullVendorCount { - finalScore = ItemTotalScore - } else { - decScore := (fullVendorCount - count) * 2 - finalScore = ItemTotalScore - decScore + + if count > 0 { + if count == fullVendorCount { + finalScore = ItemTotalScore + } else { + decScore := (fullVendorCount - count) * 2 + finalScore = ItemTotalScore - decScore + } } - storeScoreDataWrapper.SetData(storeID, storeName, "FullVendor", finalScore) + storeScoreDataWrapper.SetData(storeID, storeName, model.FieldFullVendor, finalScore) } } @@ -367,7 +372,7 @@ func ScoreStoreRange(storeList []*cms.StoreExt) { finalScore = ItemTotalScore - int(math.Round(diff*ratio)) } } - storeScoreDataWrapper.SetData(storeID, storeName, "StoreRange", finalScore) + storeScoreDataWrapper.SetData(storeID, storeName, model.FieldStoreRange, finalScore) } } @@ -431,17 +436,19 @@ func ScoreSaleSkuPrice(ctx *jxcontext.Context, storeList []*cms.StoreExt) { rangeStoreList := GetRangeStoreList(storeID, storeInfo.FloatLng, storeInfo.FloatLat, 5, storeList) skusAveragePrice := GetStoreSkusAveragePrice(rangeStoreList) count := GetSkusCountLessEqualAvgPrice(storeID, skusAveragePrice) - ratio := int(math.Round(float64(count) * 100 / float64(totalCount))) - if ratio >= SaleSkuPriceRatio { - finalScore = ItemTotalScore - } else { - decScore := (SaleSkuPriceRatio - ratio) / 10 - finalScore = ItemTotalScore - decScore - if finalScore < 0 { - finalScore = 0 + if count > 0 { + ratio := int(math.Round(float64(count) * 100 / float64(totalCount))) + if ratio >= SaleSkuPriceRatio { + finalScore = ItemTotalScore + } else { + decScore := (SaleSkuPriceRatio - ratio) / 10 + finalScore = ItemTotalScore - decScore + if finalScore < 0 { + finalScore = 0 + } } } - storeScoreDataWrapper.SetData(storeID, storeName, "SaleSkuPrice", finalScore) + storeScoreDataWrapper.SetData(storeID, storeName, model.FieldSaleSkuPrice, finalScore) } } } @@ -496,9 +503,11 @@ func InsertStoreScore() { } func ScheduleScoreStore() { - ScheduleTimerFunc("ScheduleScoreStore", func() { - ScoreStore(jxcontext.AdminCtx, []int{}) - }, scoreStoreTimeList) + if EnableScheduleScoreStore { + ScheduleTimerFunc("ScheduleScoreStore", func() { + ScoreStore(jxcontext.AdminCtx, []int{}) + }, scoreStoreTimeList) + } } func Time2Week(t time.Time) int {