榜单字段
This commit is contained in:
10
README.md
10
README.md
@@ -65,6 +65,16 @@ CREATE INDEX idx_id_desc ON web_images (id DESC);
|
|||||||
-- 复合筛选降序索引 article_category_top_id
|
-- 复合筛选降序索引 article_category_top_id
|
||||||
CREATE INDEX idx_acti_id_desc ON web_images (article_category_top_id, id DESC);
|
CREATE INDEX idx_acti_id_desc ON web_images (article_category_top_id, id DESC);
|
||||||
|
|
||||||
|
-- 为 web_images 表的 color 设置复合索引用于筛选
|
||||||
|
CREATE INDEX idx_color_0 ON web_images (color_0_r, color_0_g, color_0_b);
|
||||||
|
CREATE INDEX idx_color_1 ON web_images (color_1_r, color_1_g, color_1_b);
|
||||||
|
|
||||||
|
-- 为 web_images 表的 day_rank 行设置倒序索引用于排序
|
||||||
|
CREATE INDEX idx_day_rank_desc ON web_images (day_rank DESC);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
16
api/image.go
16
api/image.go
@@ -46,6 +46,11 @@ type Image struct {
|
|||||||
Emoji4 int `json:"emoji4"`
|
Emoji4 int `json:"emoji4"`
|
||||||
Emoji5 int `json:"emoji5"`
|
Emoji5 int `json:"emoji5"`
|
||||||
Views int `json:"views"`
|
Views int `json:"views"`
|
||||||
|
DayRank int `json:"day_rank"`
|
||||||
|
WeekRank int `json:"week_rank"`
|
||||||
|
MonthRank int `json:"month_rank"`
|
||||||
|
YearRank int `json:"year_rank"`
|
||||||
|
AeonRank int `json:"aeon_rank"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (Image) TableName() string {
|
func (Image) TableName() string {
|
||||||
@@ -166,6 +171,11 @@ var imageType = graphql.NewObject(graphql.ObjectConfig{
|
|||||||
"emoji4": &graphql.Field{Type: graphql.Int, Description: "表情4数量"},
|
"emoji4": &graphql.Field{Type: graphql.Int, Description: "表情4数量"},
|
||||||
"emoji5": &graphql.Field{Type: graphql.Int, Description: "表情5数量"},
|
"emoji5": &graphql.Field{Type: graphql.Int, Description: "表情5数量"},
|
||||||
"views": &graphql.Field{Type: graphql.Int, Description: "浏览量"},
|
"views": &graphql.Field{Type: graphql.Int, Description: "浏览量"},
|
||||||
|
"day_rank": &graphql.Field{Type: graphql.String, Description: "日榜"},
|
||||||
|
"week_rank": &graphql.Field{Type: graphql.String, Description: "周榜"},
|
||||||
|
"month_rank": &graphql.Field{Type: graphql.String, Description: "月榜"},
|
||||||
|
"year_rank": &graphql.Field{Type: graphql.String, Description: "年榜"},
|
||||||
|
"aeon_rank": &graphql.Field{Type: graphql.String, Description: "总榜"},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -564,6 +574,12 @@ var ImageItems = &graphql.Field{
|
|||||||
)).As("row_num"))
|
)).As("row_num"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//// 针对排行榜优化, 减少结果集
|
||||||
|
//if p.Args["sort"] != nil && p.Args["sort"].(string) == "day_rank" {
|
||||||
|
// fmt.Println("针对排行榜优化, 减少结果集 day_rank > 0")
|
||||||
|
// query = query.Where(goqu.L("day_rank > 0"))
|
||||||
|
//}
|
||||||
|
|
||||||
// 图像按点赞顺序排序 p.Args["sort"].(string) == "praise_time"
|
// 图像按点赞顺序排序 p.Args["sort"].(string) == "praise_time"
|
||||||
if p.Args["praise"] != nil {
|
if p.Args["praise"] != nil {
|
||||||
query = query.Select("web_images.id", goqu.L(
|
query = query.Select("web_images.id", goqu.L(
|
||||||
|
Reference in New Issue
Block a user