From 2de901a9c949233c4607482bdf92d9247f9c38cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Tue, 10 Nov 2020 10:56:43 +0800 Subject: [PATCH] getuser --- business/model/dao/dao_user.go | 38 ++++++---------------------------- 1 file changed, 6 insertions(+), 32 deletions(-) diff --git a/business/model/dao/dao_user.go b/business/model/dao/dao_user.go index f1b7e5015..c08388052 100644 --- a/business/model/dao/dao_user.go +++ b/business/model/dao/dao_user.go @@ -67,22 +67,10 @@ func GetUsers(db *DaoDB, userType int, keyword string, userIDs, userID2s, mobile sqlParams := []interface{}{} sql := ` SELECT SQL_CALC_FOUND_ROWS - t1.*, IF(t2.accept_order_count is NULL, 0, t2.accept_order_count) accept_order_count, IF(t3.finished_order_count is NULL, 0, t3.finished_order_count) finished_order_count + t1.* FROM user t1 - LEFT JOIN (SELECT user_id, COUNT(user_id) accept_order_count FROM job_order` - if len(userIDs) > 0 { - sql += " WHERE user_id IN (" + GenQuestionMarks(len(userIDs)) + ")" - sqlParams = append(sqlParams, userIDs) - } - sql += ` GROUP BY 1)t2 ON t2.user_id = t1.user_id - LEFT JOIN (SELECT user_id, COUNT(user_id) finished_order_count FROM job_order WHERE 1 = 1 ` - if len(userIDs) > 0 { - sql += " AND user_id IN (" + GenQuestionMarks(len(userIDs)) + ")" - sqlParams = append(sqlParams, userIDs) - } - sql += ` AND status = ? GROUP BY 1)t3 ON t3.user_id = t1.user_id WHERE t1.status = 1 AND t1.deleted_at = ?` - sqlParams = append(sqlParams, model.JobOrderStatusFinish, utils.DefaultTimeValue) + sqlParams = append(sqlParams, utils.DefaultTimeValue) if len(userIDs) > 0 { sql += " AND t1.user_id IN (" + GenQuestionMarks(len(userIDs)) + ")" sqlParams = append(sqlParams, userIDs) @@ -122,24 +110,10 @@ func GetUser(db *DaoDB, userID string) (user *GetUserResult, err error) { SELECT t1.*, IF(t2.accept_order_count is NULL, 0, t2.accept_order_count) accept_order_count, IF(t3.finished_order_count is NULL, 0, t3.finished_order_count) finished_order_count FROM user t1 - LEFT JOIN (SELECT user_id, COUNT(user_id) accept_order_count FROM job_order` - if userID != "" { - sql += " WHERE user_id = ?" - sqlParams = append(sqlParams, userID) - } - sql += ` GROUP BY 1)t2 ON t2.user_id = t1.user_id - LEFT JOIN (SELECT user_id, COUNT(user_id) finished_order_count FROM job_order WHERE 1 = 1 ` - if userID != "" { - sql += " WHERE user_id = ?" - sqlParams = append(sqlParams, userID) - } - sql += ` AND status = ? GROUP BY 1)t3 ON t3.user_id = t1.user_id - WHERE t1.status = 1 AND t1.deleted_at = ?` - sqlParams = append(sqlParams, model.JobOrderStatusFinish, utils.DefaultTimeValue) - if userID != "" { - sql += " WHERE t1.user_id = ?" - sqlParams = append(sqlParams, userID) - } + LEFT JOIN (SELECT user_id, COUNT(user_id) accept_order_count FROM job_order WHERE user_id = ? GROUP BY 1)t2 ON t2.user_id = t1.user_id + LEFT JOIN (SELECT user_id, COUNT(user_id) finished_order_count FROM job_order WHERE 1 = 1 WHERE user_id = ? AND status = ? GROUP BY 1)t3 ON t3.user_id = t1.user_id + WHERE t1.status = ? AND t1.deleted_at = ? AND t1.user_id = ? ` + sqlParams = append(sqlParams, userID, userID, model.JobOrderStatusFinish, model.YES, utils.DefaultTimeValue, userID) err = GetRow(db, &user, sql, sqlParams...) return user, err }