This commit is contained in:
苏尹岚
2020-11-10 09:39:30 +08:00
parent 380554ac2b
commit 93a7689a94

View File

@@ -58,21 +58,39 @@ func GetUserByIDWithMembers(db *DaoDB, fieldName, fieldValue string) (getSelfInf
return getSelfInfoResult, err return getSelfInfoResult, err
} }
func GetUsers(db *DaoDB, userType int, keyword string, userIDs, userID2s, mobiles []string, offset, pageSize int) (userList []*model.User, totalCount int, err error) { type GetUsersResult struct {
model.User
AcceptOrderCount int `json:"acceptOrderCount"`
FinishedOrderCount int `json:"finishedOrderCount"`
}
func GetUsers(db *DaoDB, userType int, keyword string, userIDs, userID2s, mobiles []string, offset, pageSize int) (userList []*GetUsersResult, totalCount int, err error) {
offset = jxutils.FormalizePageOffset(offset) offset = jxutils.FormalizePageOffset(offset)
pageSize = jxutils.FormalizePageSize(pageSize) pageSize = jxutils.FormalizePageSize(pageSize)
if userType == 0 { if userType == 0 {
userType = 255 userType = 255
} }
sqlParams := []interface{}{}
sql := ` sql := `
SELECT SQL_CALC_FOUND_ROWS SELECT SQL_CALC_FOUND_ROWS
t1.* t1.*, t2.accept_order_count, t3.finished_order_count
FROM user t1 FROM user t1
WHERE t1.status = 1 AND t1.deleted_at = ? AND t1.type & ? <> 0` JOIN (SELECT user_id, COUNT(user_id) accept_order_count FROM job_order`
sqlParams := []interface{}{ if len(userIDs) > 0 {
utils.DefaultTimeValue, sql += " WHERE user_id IN (" + GenQuestionMarks(len(userIDs)) + ")"
userType, sqlParams = append(sqlParams, userIDs)
} }
sql += `GROUP BY 1)t2
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
WHERE t1.status = 1 AND t1.deleted_at = ? AND t1.type & ? <> 0
AND t1.user_id = t2.user_id
AND t1.user_id = t3.user_id`
sqlParams = append(sqlParams, model.JobOrderStatusFinish, utils.DefaultTimeValue, userType)
if len(userIDs) > 0 { if len(userIDs) > 0 {
sql += " AND t1.user_id IN (" + GenQuestionMarks(len(userIDs)) + ")" sql += " AND t1.user_id IN (" + GenQuestionMarks(len(userIDs)) + ")"
sqlParams = append(sqlParams, userIDs) sqlParams = append(sqlParams, userIDs)