Files
jx-callback/business/model/dao/store_score.go
xujianhua 9c7ae16186 Accept Merge Request #3: (don -> mark)
Merge Request: 门店评分
Created By: @zhudan
Accepted By: @xujianhua
URL: https://rosydev.coding.net/p/jx-callback/d/jx-callback/git/merge/3
2019-09-17 11:12:33 +08:00

68 lines
1.3 KiB
Go

package dao
import (
"time"
"git.rosy.net.cn/jx-callback/business/model"
)
func InsertStoreScore(storeScore *model.StoreScore) error {
storeScore.CreatedAt = time.Now()
return CreateEntity(nil, storeScore)
}
func GetLatestWeeklyStoreScoreList(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
WHERE t1.store_id = ?
AND DATE(t1.score_date) >= DATE_SUB(
DATE_SUB(
CURDATE(),
INTERVAL
IF (
DAYOFWEEK(CURDATE()) - 1 = 0,
7,
DAYOFWEEK(CURDATE()) - 1
) DAY
),
INTERVAL ? DAY
)
AND DATE(t1.score_date) <= DATE_SUB(
CURDATE(),
INTERVAL
IF (
DAYOFWEEK(CURDATE()) - 1 = 0,
7,
DAYOFWEEK(CURDATE()) - 1
) DAY
)
ORDER BY score_date DESC
`
if weekNum <= 0 {
weekNum = 1
}
diffDays := weekNum*7 - 1
sqlParams := []interface{}{
storeID,
diffDays,
}
err = GetRows(db, &storeScoreList, sql, sqlParams)
return storeScoreList, err
}
func CheckHasStoreScoreData(db *DaoDB, dateTime time.Time) (hasStoreScoreData bool, err error) {
sql := `
SELECT COUNT(*) count
FROM store_score
WHERE DATE(score_date) = DATE(?)
`
sqlParams := []interface{}{
dateTime,
}
count := 0
err = GetRow(db, &count, sql, sqlParams)
hasStoreScoreData = count > 0
return hasStoreScoreData, err
}