diff --git a/api/graphql.go b/api/graphql.go index bcbb5b5..c270205 100644 --- a/api/graphql.go +++ b/api/graphql.go @@ -139,8 +139,6 @@ func NewSchema(config Config) (graphql.Schema, error) { } } } - first := p.Args["first"] - after := p.Args["after"] fields_str := strings.Join(fields, ",") var where []string if p.Args["id"] != nil { @@ -156,16 +154,27 @@ func NewSchema(config Config) (graphql.Schema, error) { } var query strings.Builder - query.WriteString(fmt.Sprintf("SELECT %s FROM web_member %s LIMIT %d OFFSET %s", fields_str, where_str, first, after)) - // 返回翻页信息 var users []User + var total int + + query.WriteString(fmt.Sprintf("SELECT %s FROM web_member %s LIMIT %d OFFSET %d", fields_str, where_str, 10, 0)) if err := connection.Select(&users, query.String()); err != nil { fmt.Println("获取用户列表失败", err) return nil, err } + + if len(users) > 0 { + query.Reset() + query.WriteString(fmt.Sprintf("SELECT COUNT(*) FROM web_member %s", where_str)) + if err := connection.Get(&total, query.String()); err != nil { + fmt.Println("获取用户总数失败", err) + return nil, err + } + } + return map[string]interface{}{ "list": users, - "total": 0, + "total": total, }, nil }, }, @@ -348,9 +357,6 @@ func NewSchema(config Config) (graphql.Schema, error) { offset = len(id_list) - limit } - //if args.After == "" && args.Before == "" { - //} - where_str += fmt.Sprintf(" LIMIT %d OFFSET %d", limit, offset) // 执行查询