门店评分-优化数据读取速度

This commit is contained in:
Rosy-zhudan
2019-09-12 15:36:39 +08:00
parent 86d35d58c5
commit 6b3b0bcd35
3 changed files with 139 additions and 97 deletions

View File

@@ -306,42 +306,36 @@ func GetDailyFinishOrderList(db *DaoDB, storeID int) (orderList []*model.OrderPi
return orderList, GetRows(db, &orderList, sql, sqlParams...)
}
func GetDailyBadCommentOrderCount(db *DaoDB, storeID int) (count int64, err error) {
sql := `select count(*) from jx_bad_comments where DATE(createtime) = CURDATE() and jxstoreid = ?`
sqlParams := []interface{}{
storeID,
}
err = GetRow(db, &count, sql, sqlParams...)
func GetDailyBadCommentOrderCount(db *DaoDB) (storeCountList []*model.StoreCount, err error) {
sql := `select jxstoreid store_id, COUNT(*) count from jx_bad_comments where DATE(createtime) = CURDATE() GROUP BY jxstoreid`
err = GetRows(db, &storeCountList, sql)
return count, err
return storeCountList, err
}
func GetDailyUnFinishOrderCount(db *DaoDB, storeID int) (num int64, err error) {
return GetDailyEndOrderCount(db, storeID, []int{model.OrderStatusCanceled}, false)
func GetDailyUnFinishOrderCount(db *DaoDB) (storeCountList []*model.StoreCount, err error) {
return GetDailyEndOrderCount(db, []int{model.OrderStatusCanceled}, false)
}
func GetDailyFinishOrderCount(db *DaoDB, storeID int) (num int64, err error) {
return GetDailyEndOrderCount(db, storeID, []int{model.OrderStatusFinished}, false)
func GetDailyFinishOrderCount(db *DaoDB) (storeCountList []*model.StoreCount, err error) {
return GetDailyEndOrderCount(db, []int{model.OrderStatusFinished}, false)
}
func GetDailyAbsentGoodsOrderCount(db *DaoDB, storeID int) (num int64, err error) {
return GetDailyEndOrderCount(db, storeID, []int{model.OrderStatusFinished, model.OrderStatusCanceled}, true)
func GetDailyAbsentGoodsOrderCount(db *DaoDB) (storeCountList []*model.StoreCount, err error) {
return GetDailyEndOrderCount(db, []int{model.OrderStatusFinished, model.OrderStatusCanceled}, true)
}
func GetDailyEndOrderCount(db *DaoDB, storeID int, statusList []int, isAbsentOrder bool) (count int64, err error) {
sql := `SELECT COUNT(*) FROM goods_order
func GetDailyEndOrderCount(db *DaoDB, statusList []int, isAbsentOrder bool) (storeCountList []*model.StoreCount, err error) {
sql := `SELECT jx_store_id store_id, COUNT(*) count FROM goods_order
WHERE DATE(order_finished_at) = CURDATE()
AND jx_store_id = ?
AND status IN (` + GenQuestionMarks(len(statusList)) + `)`
if isAbsentOrder {
sql += `
AND adjust_count > 0`
}
sqlParams := []interface{}{
storeID,
}
sqlParams = append(sqlParams, statusList)
err = GetRow(db, &count, sql, sqlParams...)
sql += `
GROUP BY jx_store_id`
err = GetRow(db, &storeCountList, sql)
return count, err
return storeCountList, err
}