diff --git a/business/model/dao/dao_order.go b/business/model/dao/dao_order.go index aa52aa896..79c0368e2 100644 --- a/business/model/dao/dao_order.go +++ b/business/model/dao/dao_order.go @@ -253,8 +253,8 @@ func GetPayStatistics(db *DaoDB, userID string, pop int, cityCodes []int, mobile fmt.Println(utils.Format4Output(getPayStatisticsResult, false)) sqlParams2 := []interface{}{} sql2 := ` - SELECT t2.member_income1 + t3.member_income2 member_income - FROM (SELECT DISTINCT a.user_id FROM user a` + SELECT SUM(b.pay_price) + SUM(d.expend_price) member_income + FROM user a` if mobile != "" { if pop == 1 { sql2 += " JOIN user e ON e.moblie = ? AND a.pop_user = e.user_id" @@ -277,35 +277,29 @@ func GetPayStatistics(db *DaoDB, userID string, pop int, cityCodes []int, mobile sqlParams2 = append(sqlParams2, userID) } } - sql2 += `) t1 - LEFT JOIN (SELECT SUM(pay_price) member_income1, user_id FROM ` + "`order`" + ` WHERE type = ? AND status = ? ` - sql2 += ` AND order_type = ?` + sql2 += ` LEFT JOIN ` + "`order b`" + ` ON b.type = ? AND b.status = ? AND b.order_type = ?` sqlParams2 = append(sqlParams2, model.OrderTypePay, model.OrderStatusFinished, model.OrderTpyeMember) if fromTime != utils.ZeroTimeValue { - sql += ` AND created_at > ?` + sql += ` AND b.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 = ? - ` - sqlParams2 = append(sqlParams2, model.BillTypeMember) - if fromTime != utils.ZeroTimeValue { - sql2 += ` AND c.created_at > ?` - sqlParams2 = append(sqlParams2, fromTime) - } - if toTime != utils.ZeroTimeValue { - sql2 += ` AND c.created_at < ?` + sql += ` AND b.created_at < ?` sqlParams2 = append(sqlParams2, toTime) } sql2 += ` - WHERE b.user_id = t1.user_id) t3 - ` + LEFT JOIN user_bill c + LEFT JOIN bill_expend d ON d.bill_id = c.bill_id AND d.type = ? + ` + sqlParams2 = append(sqlParams2, model.BillTypeMember) + if fromTime != utils.ZeroTimeValue { + sql2 += ` AND d.created_at > ?` + sqlParams2 = append(sqlParams2, fromTime) + } + if toTime != utils.ZeroTimeValue { + sql2 += ` AND d.created_at < ?` + sqlParams2 = append(sqlParams2, toTime) + } fmt.Println(sql2) fmt.Println(sqlParams2) err = GetRow(db, &getPayStatisticsResult, sql2, sqlParams2)