DEBUG: WHERE
This commit is contained in:
		@@ -181,6 +181,7 @@ func NewSchema(config Config) (graphql.Schema, error) {
 | 
			
		||||
				},
 | 
			
		||||
			}),
 | 
			
		||||
			Args: graphql.FieldConfigArgument{
 | 
			
		||||
				"preference":    &graphql.ArgumentConfig{Type: graphql.Int, Description: "按照指定用户ID的偏好推荐图像"},
 | 
			
		||||
				"similar":       &graphql.ArgumentConfig{Type: graphql.Int, Description: "获取与指定ID图像相似的图像"},
 | 
			
		||||
				"id":            &graphql.ArgumentConfig{Type: graphql.Int, Description: "获取指定ID的图像"},
 | 
			
		||||
				"width":         &graphql.ArgumentConfig{Type: graphql.Int, Description: "筛选图像中指定宽度的"},
 | 
			
		||||
@@ -206,12 +207,13 @@ func NewSchema(config Config) (graphql.Schema, error) {
 | 
			
		||||
			Resolve: func(p graphql.ResolveParams) (interface{}, error) {
 | 
			
		||||
				// 定义参数结构体
 | 
			
		||||
				var args struct {
 | 
			
		||||
					First   int
 | 
			
		||||
					Last    int
 | 
			
		||||
					After   string
 | 
			
		||||
					Before  string
 | 
			
		||||
					Text    string
 | 
			
		||||
					Similar int
 | 
			
		||||
					First      int
 | 
			
		||||
					Last       int
 | 
			
		||||
					After      string
 | 
			
		||||
					Before     string
 | 
			
		||||
					Text       string
 | 
			
		||||
					Similar    int
 | 
			
		||||
					Preference int
 | 
			
		||||
				}
 | 
			
		||||
				mapstructure.Decode(p.Args, &args)
 | 
			
		||||
 | 
			
		||||
@@ -274,11 +276,15 @@ func NewSchema(config Config) (graphql.Schema, error) {
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				var id_list []string
 | 
			
		||||
 | 
			
		||||
				// 特殊处理 preference 参数
 | 
			
		||||
				if args.Preference != 0 {
 | 
			
		||||
					fmt.Println("preference:", args.Preference)
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				// 特殊处理 similar 参数
 | 
			
		||||
				if args.Similar != 0 {
 | 
			
		||||
					fmt.Println("similar:", args.Similar)
 | 
			
		||||
					id_list := models.GetSimilarImagesIdList(args.Similar, 200)
 | 
			
		||||
					fmt.Println("ids:", id_list)
 | 
			
		||||
					ids_str := strings.Trim(strings.Join(strings.Fields(fmt.Sprint(id_list)), ","), "[]")
 | 
			
		||||
					if ids_str == "" {
 | 
			
		||||
						return map[string]interface{}{"list": []Image{}, "total": 0}, nil
 | 
			
		||||
@@ -321,10 +327,14 @@ func NewSchema(config Config) (graphql.Schema, error) {
 | 
			
		||||
 | 
			
		||||
				where_str := strings.Join(where, " AND ")
 | 
			
		||||
 | 
			
		||||
				if where_str != "" {
 | 
			
		||||
					where_str = "WHERE " + where_str
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				// 执行查询
 | 
			
		||||
				var query strings.Builder
 | 
			
		||||
				query.WriteString(fmt.Sprintf("SELECT %s FROM web_images WHERE %s", fields_str, where_str))
 | 
			
		||||
				fmt.Println("query:", query.String())
 | 
			
		||||
				query.WriteString(fmt.Sprintf("SELECT %s FROM web_images %s", fields_str, where_str))
 | 
			
		||||
				log.Println("query:", query.String())
 | 
			
		||||
 | 
			
		||||
				var images ImageList
 | 
			
		||||
				if err := connection.Select(&images, query.String()); err != nil {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user