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