This commit is contained in:
苏尹岚
2021-01-04 14:17:09 +08:00
parent b586a93722
commit 3359662363

View File

@@ -1,7 +1,6 @@
package dao package dao
import ( import (
"fmt"
"time" "time"
"git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/baseapi/utils"
@@ -194,63 +193,64 @@ func GetPayStatistics(db *DaoDB, userID string, pop int, cityCodes []int, mobile
sqlParams := []interface{}{} sqlParams := []interface{}{}
getWhereSql := func(sqlP []interface{}) (sql string) { getWhereSql := func(sqlP []interface{}) (sql string) {
if len(orderTypes) > 0 { if len(orderTypes) > 0 {
sql += ` AND order_type IN ` + GenQuestionMarks(len(orderTypes)) + `)` sql += ` AND b.order_type IN ` + GenQuestionMarks(len(orderTypes)) + `)`
sqlP = append(sqlP, orderTypes) sqlP = append(sqlP, orderTypes)
} }
if fromTime != utils.ZeroTimeValue { if fromTime != utils.ZeroTimeValue {
sql += ` AND created_at > ?` sql += ` AND b.created_at > ?`
sqlP = append(sqlP, fromTime) sqlP = append(sqlP, fromTime)
} }
if toTime != utils.ZeroTimeValue { if toTime != utils.ZeroTimeValue {
sql += ` AND created_at < ?` sql += ` AND b.created_at < ?`
sqlP = append(sqlP, toTime) sqlP = append(sqlP, toTime)
} }
return sql return sql
} }
sql := ` getFromSql := func(sqlP []interface{}, orderType, status int, alies string) (sql string) {
SELECT SUM(IFNULL(t1.pay_price,0)) total_pay, SUM(IFNULL(t2.pay_price,0)) submit_cash + SUM(IFNULL(t3.account_balance,0)) can_cash, t3.account_balance, t4.cashed, t4.cashed / 10 cash_income sql += `
FROM user a (SELECT SUM(IFNULL(b.pay_price,0)) total_pay
LEFT JOIN ` + "`order` t1" + ` WHERE type = ? AND status = ? ` + getWhereSql(sqlParams) + ` ON t1.user_id = a.user_id FROM user a
LEFT JOIN ` + "`order` t2" + ` WHERE type = ? AND status = ?` + getWhereSql(sqlParams) + `ON t2.user_id = a.user_id JOIN ` + "`order` b" + `ON b.user_id = a.user_id AND b.type = ? AND b.status = ? ` + getWhereSql(sqlP) + `
LEFT JOIN user_bill t3 ON t3.user_id = a.user_id `
LEFT JOIN ` + "`order` t4" + ` WHERE type = ? AND status = ?` + getWhereSql(sqlParams) + `ON t4.user_id = a.user_id sqlP = append(sqlP, orderType, status)
` if mobile != "" {
sqlParams = append(sqlParams, model.OrderTypePay, model.OrderStatusFinished) if pop == 1 {
sqlParams = append(sqlParams, model.OrderTypeCash, model.OrderStatusWait4Pay) sql += " JOIN user e ON e.moblie = ? AND a.pop_user = e.user_id"
sqlParams = append(sqlParams, model.OrderTypeCash, model.OrderStatusFinished) sqlP = append(sqlP, mobile)
if mobile != "" { }
if pop == 1 {
sql += " JOIN user e ON e.moblie = ? AND a.pop_user = e.user_id"
sqlParams = append(sqlParams, mobile)
} }
} sql += `
sql += ` WHERE 1 = 1
WHERE 1 = 1 `
` if userID != "" {
if userID != "" { if pop == 1 {
if pop == 1 { sql += " AND a.pop_user = ?"
sql += " AND a.pop_user = ?" sqlP = append(sqlP, userID)
sqlParams = append(sqlParams, userID) } else {
} else { sql += " AND a.user_id = ?"
sql += " AND a.user_id = ?" sqlP = append(sqlP, userID)
sqlParams = append(sqlParams, userID) }
} }
} if mobile != "" {
if mobile != "" { if pop == 0 {
if pop == 0 { sql += " AND a.mobile = ?"
sql += " AND a.mobile = ?" sqlP = append(sqlP, mobile)
sqlParams = append(sqlParams, mobile) }
} }
if len(cityCodes) > 0 {
sql += ` AND a.city_code IN ` + GenQuestionMarks(len(cityCodes)) + `)`
sqlP = append(sqlP, cityCodes)
}
sql += `) ` + alies
return sql
} }
if len(cityCodes) > 0 { sql := `SELECT t1.total_pay, t2.total_pay submit_cash, t3.total_pay cashed
sql += ` AND a.city_code IN ` + GenQuestionMarks(len(cityCodes)) + `)` FROM `
sqlParams = append(sqlParams, cityCodes) sql += getFromSql(sqlParams, model.OrderTypePay, model.OrderStatusFinished, "t1") + ","
} sql += getFromSql(sqlParams, model.OrderTypeCash, model.OrderStatusWait4Pay, "t2") + ","
fmt.Println(sql) sql += getFromSql(sqlParams, model.OrderTypeCash, model.OrderStatusFinished, "t3") + ","
fmt.Println(sqlParams) sql += " user_bill "
err = GetRow(db, &getPayStatisticsResult, sql, sqlParams) err = GetRow(db, &getPayStatisticsResult, sql, sqlParams)
fmt.Println(utils.Format4Output(getPayStatisticsResult, false))
sqlParams2 := []interface{}{} sqlParams2 := []interface{}{}
getPayStatisticsResult1 := &GetPayStatisticsResult{} getPayStatisticsResult1 := &GetPayStatisticsResult{}
sql2 := ` sql2 := `