得到门店总分排名

This commit is contained in:
Rosy-zhudan
2019-09-23 16:58:02 +08:00
parent 06a155daf2
commit 2814b0c55a
5 changed files with 142 additions and 2 deletions

View File

@@ -1,6 +1,7 @@
package dao
import (
"fmt"
"time"
"git.rosy.net.cn/jx-callback/business/model"
@@ -11,7 +12,7 @@ func InsertStoreScore(storeScore *model.StoreScore) error {
return CreateEntity(nil, storeScore)
}
func GetLatestWeeklyStoreScoreList(db *DaoDB, storeID, weekNum int) (storeScoreList []*model.StoreScoreEx, err error) {
func GetWeeklyStoreScoreList(db *DaoDB, storeID, weekNum int) (storeScoreList []*model.StoreScoreEx, err error) {
sql := `
SELECT t2.name store_name, t1.* FROM store_score t1
JOIN store t2 ON t1.store_id = t2.id
@@ -65,3 +66,41 @@ func CheckHasStoreScoreData(db *DaoDB, dateTime time.Time) (hasStoreScoreData bo
hasStoreScoreData = count > 0
return hasStoreScoreData, err
}
func GetStoreTotalScoreList(db *DaoDB, storeIDList []int, cityCode int, keyWord string, beginTime, endTime time.Time) (storeTotalScoreList []*model.StoreTotalScore, err error) {
sql := `
SELECT t2.id store_id, t2.name store_name, t3.name city_name,
SUM(t1.store_open_time + t1.sale_sku_count + t1.average_pickup_time + t1.bad_comment_order + t1.unfinish_order
+ t1.absent_Goods_order + t1.promotion_sku + t1.full_vendor + t1.store_range + t1.sale_sku_price) store_score
FROM store_score t1
JOIN store t2 ON t1.store_id = t2.id
JOIN place t3 ON t2.city_code = t3.code
WHERE DATE(t1.score_date) >= DATE(?) AND DATE(t1.score_date) <= DATE(?)
`
sqlParams := []interface{}{
beginTime,
endTime,
}
if len(storeIDList) > 0 {
sql += `
AND t2.id in (` + GenQuestionMarks(len(storeIDList)) + `)`
sqlParams = append(sqlParams, storeIDList)
}
if cityCode > 0 {
sql += `
AND t3.code = ?`
sqlParams = append(sqlParams, cityCode)
}
if keyWord != "" {
sql += `
AND (t2.id LIKE ? OR t2.name LIKE ? OR t3.name LIKE ?)`
keyWord = fmt.Sprintf("%%%s%%", keyWord)
sqlParams = append(sqlParams, keyWord, keyWord, keyWord)
}
sql += `
GROUP BY t1.store_id, t1.score_date
`
err = GetRows(db, &storeTotalScoreList, sql, sqlParams)
return storeTotalScoreList, err
}

View File

@@ -49,6 +49,13 @@ type WeeklyStoreScore struct {
Level int `json:"level"`
}
type StoreTotalScore struct {
StoreID int `orm:"column(store_id)" json:"storeID"`
StoreName string `orm:"column(store_name)" json:"storeName"`
StoreScore int `orm:"column(store_score)" json:"storeScore"`
CityName string `orm:"column(city_name)" json:"cityName"`
}
type StoreCount struct {
StoreID int `orm:"column(store_id)"`
Count int