getusers
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user