diff --git a/api/controller/Article.go b/api/controller/Article.go index 8de6ed2..064811e 100644 --- a/api/controller/Article.go +++ b/api/controller/Article.go @@ -137,7 +137,7 @@ func (r *Article) GetArticleRankList(c *gin.Context) { articleDao := dao.ArticleDao{} maps := make(map[string]interface{}) maps["article_status"] = 1 - articles, err := articleDao.GetArticleOrderList(maps, "vote_num desc", 15) + articles, err := articleDao.GetArticleRankList(maps, "vote_num desc", 15) if err != nil { responses.OkWithData(nil, c) return diff --git a/api/controller/Video.go b/api/controller/Video.go index 4325aef..2a495e7 100644 --- a/api/controller/Video.go +++ b/api/controller/Video.go @@ -137,7 +137,7 @@ func (r *Video) GetVideoRankList(c *gin.Context) { videoDao := dao.VideoDao{} maps := make(map[string]interface{}) maps["video_status"] = 1 - videos, err := videoDao.GetVideoOrderList(maps, "vote_num desc", 15) + videos, err := videoDao.GetVideoRankList(maps, "vote_num desc", 15) if err != nil { responses.OkWithData(nil, c) return diff --git a/api/dao/Article.go b/api/dao/Article.go index b3e946a..46ac253 100644 --- a/api/dao/Article.go +++ b/api/dao/Article.go @@ -198,6 +198,18 @@ func (r *ArticleDao) GetArticleOrderList(maps interface{}, orderField string, li return m, nil } +// GetArticleRankList 获取文章排名列表 +func (r *ArticleDao) GetArticleRankList(maps interface{}, orderField string, limit int) (m []*model.Article, err error) { + err = global.Db.Where(maps). + Preload("ArticleAuthor"). + Preload("ArticleAuthor.BaseHospital"). + Order(orderField).Limit(limit).Find(&m).Error + if err != nil { + return nil, err + } + return m, nil +} + // GetArticleRank 获取某一条数据的排名 func (r *ArticleDao) GetArticleRank(articleID int64) (int, error) { var rank int diff --git a/api/dao/Video.go b/api/dao/Video.go index f1566b6..0cab343 100644 --- a/api/dao/Video.go +++ b/api/dao/Video.go @@ -198,6 +198,18 @@ func (r *VideoDao) GetVideoOrderList(maps interface{}, orderField string, limit return m, nil } +// GetVideoRankList 获取视频排名列表 +func (r *VideoDao) GetVideoRankList(maps interface{}, orderField string, limit int) (m []*model.Video, err error) { + err = global.Db.Where(maps). + Preload("VideoAuthor"). + Preload("VideoAuthor.BaseHospital"). + Order(orderField).Limit(limit).Find(&m).Error + if err != nil { + return nil, err + } + return m, nil +} + // GetVideoRank 获取某一条数据的排名 func (r *VideoDao) GetVideoRank(videoID int64) (int, error) { var rank int