count
This commit is contained in:
		@@ -222,6 +222,21 @@ func NewSchema(config Config) (graphql.Schema, error) {
 | 
				
			|||||||
		return fields
 | 
							return fields
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						orderType := graphql.NewEnum(graphql.EnumConfig{
 | 
				
			||||||
 | 
							Name:        "OrderType",
 | 
				
			||||||
 | 
							Description: "排序类型",
 | 
				
			||||||
 | 
							Values: graphql.EnumValueConfigMap{
 | 
				
			||||||
 | 
								"ASC": &graphql.EnumValueConfig{
 | 
				
			||||||
 | 
									Value:       "ASC",
 | 
				
			||||||
 | 
									Description: "升序",
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
								"DESC": &graphql.EnumValueConfig{
 | 
				
			||||||
 | 
									Value:       "DESC",
 | 
				
			||||||
 | 
									Description: "降序",
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	schema, err := graphql.NewSchema(graphql.SchemaConfig{Query: graphql.NewObject(graphql.ObjectConfig{Name: "RootQuery", Fields: graphql.Fields{
 | 
						schema, err := graphql.NewSchema(graphql.SchemaConfig{Query: graphql.NewObject(graphql.ObjectConfig{Name: "RootQuery", Fields: graphql.Fields{
 | 
				
			||||||
		"categorys": &graphql.Field{
 | 
							"categorys": &graphql.Field{
 | 
				
			||||||
			Name:        "categorys",
 | 
								Name:        "categorys",
 | 
				
			||||||
@@ -353,6 +368,8 @@ func NewSchema(config Config) (graphql.Schema, error) {
 | 
				
			|||||||
				},
 | 
									},
 | 
				
			||||||
			}),
 | 
								}),
 | 
				
			||||||
			Args: graphql.FieldConfigArgument{
 | 
								Args: graphql.FieldConfigArgument{
 | 
				
			||||||
 | 
									"sort":          &graphql.ArgumentConfig{Type: graphql.String, Description: "排序方法"},
 | 
				
			||||||
 | 
									"order":         &graphql.ArgumentConfig{Type: orderType, Description: "排序方向", DefaultValue: "ASC"},
 | 
				
			||||||
				"orientation":   &graphql.ArgumentConfig{Type: graphql.String, Description: "筛选横屏竖屏图像"},
 | 
									"orientation":   &graphql.ArgumentConfig{Type: graphql.String, Description: "筛选横屏竖屏图像"},
 | 
				
			||||||
				"follower":      &graphql.ArgumentConfig{Type: graphql.Int, Description: "获取指定ID用户的关注列表发布的图像"},
 | 
									"follower":      &graphql.ArgumentConfig{Type: graphql.Int, Description: "获取指定ID用户的关注列表发布的图像"},
 | 
				
			||||||
				"interest":      &graphql.ArgumentConfig{Type: graphql.Int, Description: "获取指定ID用户的兴趣推荐图像"},
 | 
									"interest":      &graphql.ArgumentConfig{Type: graphql.Int, Description: "获取指定ID用户的兴趣推荐图像"},
 | 
				
			||||||
@@ -390,6 +407,8 @@ func NewSchema(config Config) (graphql.Schema, error) {
 | 
				
			|||||||
					Similar     int
 | 
										Similar     int
 | 
				
			||||||
					Follower    int
 | 
										Follower    int
 | 
				
			||||||
					Orientation string
 | 
										Orientation string
 | 
				
			||||||
 | 
										Sort        string
 | 
				
			||||||
 | 
										Order       string
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
				mapstructure.Decode(p.Args, &args)
 | 
									mapstructure.Decode(p.Args, &args)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -411,7 +430,7 @@ func NewSchema(config Config) (graphql.Schema, error) {
 | 
				
			|||||||
				// 筛选条件
 | 
									// 筛选条件
 | 
				
			||||||
				for _, format := range argFormat {
 | 
									for _, format := range argFormat {
 | 
				
			||||||
					if p.Args[format] != nil {
 | 
										if p.Args[format] != nil {
 | 
				
			||||||
						query = query.Where(fmt.Sprintf(format, " = ?"), p.Args[format])
 | 
											query = query.Where(fmt.Sprintf("%s = ?", format), p.Args[format])
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -522,6 +541,11 @@ func NewSchema(config Config) (graphql.Schema, error) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
				total = len(list)
 | 
									total = len(list)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									var count int64
 | 
				
			||||||
 | 
									if len(list) > 0 {
 | 
				
			||||||
 | 
										query = query.Count(&count)
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				// 截取: 分页
 | 
									// 截取: 分页
 | 
				
			||||||
				if args.After != 0 {
 | 
									if args.After != 0 {
 | 
				
			||||||
					index := -1
 | 
										index := -1
 | 
				
			||||||
@@ -575,12 +599,21 @@ func NewSchema(config Config) (graphql.Schema, error) {
 | 
				
			|||||||
					query = query.Preload(item)
 | 
										query = query.Preload(item)
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									// 排序规则
 | 
				
			||||||
 | 
									if args.Sort != "" && args.Order != "" {
 | 
				
			||||||
 | 
										query = query.Order(fmt.Sprintf("%s %s", args.Sort, args.Order))
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				// 输出(游戏截图分类ID为22)
 | 
									// 输出(游戏截图分类ID为22)
 | 
				
			||||||
				if err := query.Where("article_category_top_id = 22").Find(&images).Error; err != nil {
 | 
									if err := query.Where("article_category_top_id = 22").Find(&images).Error; err != nil {
 | 
				
			||||||
					fmt.Println("获取图像列表失败", err)
 | 
										fmt.Println("获取图像列表失败", err)
 | 
				
			||||||
					return nil, err
 | 
										return nil, err
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									if total == 0 && count > 0 {
 | 
				
			||||||
 | 
										total = int(count)
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				return map[string]interface{}{
 | 
									return map[string]interface{}{
 | 
				
			||||||
					"list":  images,
 | 
										"list":  images,
 | 
				
			||||||
					"total": total,
 | 
										"total": total,
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user