门店评分

This commit is contained in:
Rosy-zhudan
2019-09-06 17:29:09 +08:00
parent 40d9312acb
commit 52bdbdb4ff
6 changed files with 212 additions and 47 deletions

View File

@@ -296,7 +296,7 @@ func GetDailyFinishOrderList(db *DaoDB, storeID int) (orderList []*model.OrderPi
select t2.status_time, t1.pick_deadline
from goods_order t1
left join order_status t2 on t1.vendor_order_id = t2.vendor_order_id
where t1.jx_store_id = ? and t2.order_type = ? and t2.status = ? and DATE_FORMAT(t1.order_finished_at, '%Y-%m-%d') = DATE_FORMAT(NOW(), '%Y-%m-%d')
where t1.jx_store_id = ? and t2.order_type = ? and t2.status = ? and DATE(t1.order_finished_at) = CURDATE()
`
sqlParams := []interface{}{
storeID,
@@ -307,7 +307,7 @@ func GetDailyFinishOrderList(db *DaoDB, storeID int) (orderList []*model.OrderPi
}
func GetDailyBadCommentOrderCount(db *DaoDB, storeID int) (num int64, err error) {
sql := `select count(*) from jx_bad_comments where DATE_FORMAT(createtime, '%Y-%m-%d') = DATE_FORMAT(NOW(), '%Y-%m-%d') and jxstoreid = ?`
sql := `select count(*) from jx_bad_comments where DATE(createtime) = CURDATE() and jxstoreid = ?`
sqlParams := []interface{}{
storeID,
}
@@ -324,7 +324,7 @@ func GetDailyFinishOrderCount(db *DaoDB, storeID int) (num int64, err error) {
func GetDailyEndOrderCount(db *DaoDB, storeID int, statusList []int) (num int64, err error) {
sql := `select count(*) from goods_order
where DATE_FORMAT(order_finished_at, '%Y-%m-%d') = DATE_FORMAT(NOW(), '%Y-%m-%d')
where DATE(order_finished_at) = CURDATE()
and jx_store_id = ?
and status in (` + GenQuestionMarks(len(statusList)) + `)`
sqlParams := []interface{}{

View File

@@ -11,3 +11,48 @@ func InsertStoreScore(storeScore *model.StoreScore) error {
storeScore.CreatedAt = time.Now()
return CreateEntity(nil, storeScore)
}
func GetLatestWeeklyStoreScoreList(db *DaoDB, storeID, weekNum int) (storeScoreList []*model.StoreScore, err error) {
// sql := `
// SET @dayInWeek = IF(DAYOFWEEK(CURDATE()) - 1 = 0, 7, DAYOFWEEK(CURDATE()) - 1);
// SET @endDate = DATE_SUB(CURDATE(), INTERVAL @dayInWeek DAY);
// SET @beginData = DATE_SUB(@endDate, INTERVAL ? DAY);
// SELECT * FROM store_score
// WHERE store_id = ? AND DATE(created_at) >= @beginData AND DATE(created_at) <= @endDate ORDER BY created_at DESC
// `
sql := `
SELECT * FROM store_score WHERE store_id = ?
AND DATE(created_at) >= DATE_SUB(
DATE_SUB(
CURDATE(),
INTERVAL
IF (
DAYOFWEEK(CURDATE()) - 1 = 0,
7,
DAYOFWEEK(CURDATE()) - 1
) DAY
),
INTERVAL ? DAY
)
AND DATE(created_at) <= DATE_SUB(
CURDATE(),
INTERVAL
IF (
DAYOFWEEK(CURDATE()) - 1 = 0,
7,
DAYOFWEEK(CURDATE()) - 1
) DAY
)
ORDER BY created_at DESC
`
if weekNum <= 0 {
weekNum = 1
}
diffDays := weekNum*7 - 1
sqlParams := []interface{}{
storeID,
diffDays,
}
err = GetRows(db, &storeScoreList, sql, sqlParams)
return storeScoreList, err
}

View File

@@ -6,6 +6,7 @@ type StoreScore struct {
ID int `orm:"column(id)" json:"id"`
CreatedAt time.Time `orm:"auto_now_add;type(datetime)" json:"createdAt"`
StoreID int `orm:"column(store_id)" json:"storeID"`
StoreName string `orm:"column(store_name)" json:"storeName"`
StoreOpenTime int `orm:"column(store_open_time)" json:"storeOpenTime"`
SaleSkuCount int `orm:"column(sale_sku_count)" json:"saleSkuCount"`
@@ -18,3 +19,11 @@ type StoreScore struct {
StoreRange int `orm:"column(store_range)" json:"storeRange"`
SaleSkuPrice int `orm:"column(sale_sku_price)" json:"saleSkuPrice"`
}
type WeeklyStoreScore struct {
StoreScore
BeginTime time.Time `json:"beginTime"`
EndTime time.Time `json:"endTime"`
TotalScore int `json:"totalScore"`
ItemTotalScore int `json:"itemTotalScore"`
}