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
}
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)
pageSize = jxutils.FormalizePageSize(pageSize)
if userType == 0 {
userType = 255
}
sqlParams := []interface{}{}
sql := `
SELECT SQL_CALC_FOUND_ROWS
t1.*
t1.*, t2.accept_order_count, t3.finished_order_count
FROM user t1
WHERE t1.status = 1 AND t1.deleted_at = ? AND t1.type & ? <> 0`
sqlParams := []interface{}{
utils.DefaultTimeValue,
userType,
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
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 {
sql += " AND t1.user_id IN (" + GenQuestionMarks(len(userIDs)) + ")"
sqlParams = append(sqlParams, userIDs)