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
This commit is contained in:
xujianhua
2019-09-17 11:12:33 +08:00
parent 7bc963c31f
commit 9c7ae16186
12 changed files with 1094 additions and 30 deletions

View File

@@ -290,3 +290,71 @@ func GetStoreAfsOrderSkuList(db *DaoDB, storeIDs []int, finishedAtBegin, finishe
err = GetRows(db, &afsSkuList, sql, sqlParams...)
return afsSkuList, err
}
func GetDailyFinishOrderList(db *DaoDB, storeID int, dateTime time.Time) (orderList []*model.OrderPickupTime, err error) {
sql := `
SELECT t2.status_time, t1.pick_deadline
FROM goods_order t1
JOIN order_status t2 ON t1.vendor_order_id = t2.vendor_order_id AND t1.vendor_id = t2.vendor_id
WHERE t1.jx_store_id = ? AND t2.order_type = ? AND t2.status = ? AND DATE(t1.order_finished_at) = DATE(?)
`
sqlParams := []interface{}{
storeID,
1,
model.OrderStatusFinishedPickup,
dateTime,
}
return orderList, GetRows(db, &orderList, sql, sqlParams...)
}
func GetDailyBadCommentOrderCount(db *DaoDB, dateTime time.Time) (storeCountList []*model.StoreCount, err error) {
sql := `
SELECT jxstoreid store_id, COUNT(*) count
FROM jx_bad_comments
WHERE DATE(createtime) = DATE(?)
GROUP BY jxstoreid
`
sqlParams := []interface{}{
dateTime,
}
err = GetRows(db, &storeCountList, sql, sqlParams)
return storeCountList, err
}
func GetDailyUnFinishOrderCount(db *DaoDB, dateTime time.Time) (storeCountList []*model.StoreCount, err error) {
return GetDailyEndOrderCount(db, []int{model.OrderStatusCanceled}, false, dateTime)
}
func GetDailyFinishOrderCount(db *DaoDB, dateTime time.Time) (storeCountList []*model.StoreCount, err error) {
return GetDailyEndOrderCount(db, []int{model.OrderStatusFinished}, false, dateTime)
}
func GetDailyAbsentGoodsOrderCount(db *DaoDB, dateTime time.Time) (storeCountList []*model.StoreCount, err error) {
return GetDailyEndOrderCount(db, []int{model.OrderStatusFinished, model.OrderStatusCanceled}, true, dateTime)
}
func GetDailyEndOrderCount(db *DaoDB, statusList []int, isAbsentOrder bool, dateTime time.Time) (storeCountList []*model.StoreCount, err error) {
sql := `
SELECT jx_store_id store_id, COUNT(*) count
FROM goods_order
WHERE DATE(order_finished_at) = DATE(?)
`
sqlParams := []interface{}{
dateTime,
}
if len(statusList) > 0 {
sql += ` AND status IN (` + GenQuestionMarks(len(statusList)) + `)`
sqlParams = append(sqlParams, statusList)
}
if isAbsentOrder {
sql += `
AND adjust_count > 0
`
}
sql += `
GROUP BY jx_store_id`
err = GetRow(db, &storeCountList, sql, sqlParams)
return storeCountList, err
}