diff --git a/business/model/dao/dao_order.go b/business/model/dao/dao_order.go index 6e66908f3..c21b7554a 100644 --- a/business/model/dao/dao_order.go +++ b/business/model/dao/dao_order.go @@ -410,7 +410,7 @@ func GetManageStatistics(db *DaoDB, cityCodes []int, jobTime time.Time, jobIDs [ endTime := jobTime.AddDate(0, 0, 1) sqlParams := []interface{}{} sql := ` - SELECT t1.count acceptCount, t2.count finish_count, t3.count cancel_count, t4.browse_count, t5.total_cash + SELECT t1.count acceptCount, t2.count finish_count, t3.count cancel_count, t4.browse_count, t6.total_cash FROM ` rSQL1, rSQLparams1 := getFromSqlManage(model.JobOrderStatusAccept, "t1", cityCodes, jobTime, endTime, jobIDs) @@ -433,20 +433,23 @@ func GetManageStatistics(db *DaoDB, cityCodes []int, jobTime time.Time, jobIDs [ sql += rSQL4 sqlParams = append(sqlParams, rSQLparams4...) sql += ` - ) t4 + ) t4, ` sql += ` - (SELECT COUNT(b.id) * a.avg_price total_cash - FROM job a - JOIN job_order b ON a.id = b.job_id - WHERE a.deleted_at = ? AND b.status = ? + (SELECT t5.count * a.avg_price total_cash FROM job a, + (SELECT COUNT(b.id) count, a.id + FROM job a + JOIN job_order b ON a.id = b.job_id + WHERE a.deleted_at = ? AND b.status = ? ` sqlParams = append(sqlParams, utils.DefaultTimeValue, model.JobOrderStatusFinish) rSQL5, rSQLparams5 := getWhereSqlManage(cityCodes, jobTime, endTime, jobIDs) sql += rSQL5 sqlParams = append(sqlParams, rSQLparams5...) sql += ` - ) t5 + GROUP BY 2) t5 + WHERE a.id = t5.id + )t6 ` fmt.Println(sql) fmt.Println(sqlParams)