aa
This commit is contained in:
@@ -192,28 +192,28 @@ type GetPayStatisticsResult struct {
|
||||
|
||||
func GetPayStatistics(db *DaoDB, userID string, pop int, cityCodes []int, mobile string, fromTime, toTime time.Time, orderTypes []int) (getPayStatisticsResult *GetPayStatisticsResult, err error) {
|
||||
sqlParams := []interface{}{}
|
||||
getWhereSql := func() (sql string) {
|
||||
getWhereSql := func(sqlP []interface{}) (sql string) {
|
||||
if len(orderTypes) > 0 {
|
||||
sql += ` AND order_type IN ` + GenQuestionMarks(len(orderTypes)) + `)`
|
||||
sqlParams = append(sqlParams, orderTypes)
|
||||
sqlP = append(sqlP, orderTypes)
|
||||
}
|
||||
if fromTime != utils.ZeroTimeValue {
|
||||
sql += ` AND created_at > ?`
|
||||
sqlParams = append(sqlParams, fromTime)
|
||||
sqlP = append(sqlP, fromTime)
|
||||
}
|
||||
if toTime != utils.ZeroTimeValue {
|
||||
sql += ` AND created_at < ?`
|
||||
sqlParams = append(sqlParams, toTime)
|
||||
sqlP = append(sqlP, toTime)
|
||||
}
|
||||
return sql
|
||||
}
|
||||
sql := `
|
||||
SELECT t1.total_pay, t2.submit_cash + t3.account_balance can_cash, t3.account_balance, t4.cashed, t4.cashed / 10 cash_income
|
||||
FROM user a
|
||||
LEFT JOIN (SELECT SUM(pay_price) total_pay, user_id FROM ` + "`order`" + ` WHERE type = ? AND status = ? ` + getWhereSql() + ` GROUP BY 2) t1 ON t1.user_id = a.user_id
|
||||
LEFT JOIN (SELECT SUM(pay_price) submit_cash, user_id FROM ` + "`order`" + ` WHERE type = ? AND status = ?` + getWhereSql() + ` GROUP BY 2) t2 ON t2.user_id = a.user_id
|
||||
LEFT JOIN (SELECT SUM(pay_price) total_pay, user_id FROM ` + "`order`" + ` WHERE type = ? AND status = ? ` + getWhereSql(sqlParams) + ` GROUP BY 2) t1 ON t1.user_id = a.user_id
|
||||
LEFT JOIN (SELECT SUM(pay_price) submit_cash, user_id FROM ` + "`order`" + ` WHERE type = ? AND status = ?` + getWhereSql(sqlParams) + ` GROUP BY 2) t2 ON t2.user_id = a.user_id
|
||||
LEFT JOIN user_bill t3 ON t3.user_id = a.user_id
|
||||
LEFT JOIN (SELECT SUM(pay_price) cashed, user_id FROM ` + "`order`" + ` WHERE type = ? AND status = ?` + getWhereSql() + ` GROUP BY 2) t4 ON t4.user_id = a.user_id
|
||||
LEFT JOIN (SELECT SUM(pay_price) cashed, user_id FROM ` + "`order`" + ` WHERE type = ? AND status = ?` + getWhereSql(sqlParams) + ` GROUP BY 2) t4 ON t4.user_id = a.user_id
|
||||
`
|
||||
sqlParams = append(sqlParams, model.OrderTypePay, model.OrderStatusFinished)
|
||||
sqlParams = append(sqlParams, model.OrderTypeCash, model.OrderStatusWait4Pay)
|
||||
@@ -252,19 +252,6 @@ func GetPayStatistics(db *DaoDB, userID string, pop int, cityCodes []int, mobile
|
||||
|
||||
fmt.Println(utils.Format4Output(getPayStatisticsResult, false))
|
||||
sqlParams2 := []interface{}{}
|
||||
getWhereSql2 := func() (sql string) {
|
||||
sql += ` AND order_type = ?`
|
||||
sqlParams2 = append(sqlParams2, model.OrderTpyeMember)
|
||||
if fromTime != utils.ZeroTimeValue {
|
||||
sql += ` AND created_at > ?`
|
||||
sqlParams2 = append(sqlParams2, fromTime)
|
||||
}
|
||||
if toTime != utils.ZeroTimeValue {
|
||||
sql += ` AND created_at < ?`
|
||||
sqlParams2 = append(sqlParams2, toTime)
|
||||
}
|
||||
return sql
|
||||
}
|
||||
sql2 := `
|
||||
SELECT t2.member_income1 + t3.member_income2 member_income
|
||||
FROM (SELECT DISTINCT a.user_id FROM user a`
|
||||
@@ -291,7 +278,18 @@ func GetPayStatistics(db *DaoDB, userID string, pop int, cityCodes []int, mobile
|
||||
}
|
||||
}
|
||||
sql2 += `) t1
|
||||
LEFT JOIN (SELECT SUM(pay_price) member_income1, user_id FROM ` + "`order`" + ` WHERE type = ? AND status = ? ` + getWhereSql2() + ` AND user_id = t1.user_id GROUP BY 2) t2
|
||||
LEFT JOIN (SELECT SUM(pay_price) member_income1, user_id FROM ` + "`order`" + ` WHERE type = ? AND status = ? `
|
||||
sql2 += ` AND order_type = ?`
|
||||
sqlParams2 = append(sqlParams2, model.OrderTpyeMember)
|
||||
if fromTime != utils.ZeroTimeValue {
|
||||
sql += ` AND created_at > ?`
|
||||
sqlParams2 = append(sqlParams2, fromTime)
|
||||
}
|
||||
if toTime != utils.ZeroTimeValue {
|
||||
sql += ` AND created_at < ?`
|
||||
sqlParams2 = append(sqlParams2, toTime)
|
||||
}
|
||||
sql2 += ` AND user_id = t1.user_id GROUP BY 2) t2
|
||||
LEFT JOIN (SELECT SUM(b.expend_price) member_income2
|
||||
FROM user_bill b
|
||||
LEFT JOIN bill_expend c ON c.bill_id = b.bill_id AND c.type = ?
|
||||
|
||||
Reference in New Issue
Block a user