3
This commit is contained in:
+26
-7
@@ -139,14 +139,33 @@ func (r *ArticleDao) GetArticlePageSearch(req requests.GetArticlePage, page, pag
|
||||
// 作者关联医院
|
||||
query = query.Preload("ArticleAuthor.BaseHospital")
|
||||
|
||||
// 文章标题
|
||||
if req.ArticleTitle != "" {
|
||||
query = query.Where("article_title LIKE ?", "%"+req.ArticleTitle+"%")
|
||||
}
|
||||
// 搜索关键字
|
||||
if req.Keyword != "" {
|
||||
keyword := "%" + req.Keyword + "%" //
|
||||
|
||||
// 文章内容
|
||||
if req.ArticleContent != "" {
|
||||
query = query.Where("article_content LIKE ?", "%"+req.ArticleContent+"%")
|
||||
// 标题
|
||||
orQuery := global.Db.Model(&model.Article{}).Or("article_title LIKE ?", keyword)
|
||||
|
||||
// 医院名称
|
||||
hospitalSubQuery := global.Db.Model(&model.BaseHospital{}).
|
||||
Select("hospital_id").
|
||||
Where("hospital_name LIKE ?", keyword)
|
||||
|
||||
articleAuthorSubQuery := global.Db.Model(&model.ArticleAuthor{}).
|
||||
Select("article_id").
|
||||
Where(gorm.Expr("hospital_id IN (?)", hospitalSubQuery))
|
||||
|
||||
orQuery = orQuery.Or(gorm.Expr("article_id IN (?)", articleAuthorSubQuery))
|
||||
|
||||
// 作者姓名
|
||||
subQuery := global.Db.Model(&model.ArticleAuthor{}).
|
||||
Select("article_id").
|
||||
Where("author_name LIKE ?", keyword)
|
||||
|
||||
orQuery = orQuery.Or(gorm.Expr("article_id IN (?)", subQuery))
|
||||
|
||||
// 执行组建
|
||||
query = query.Where(orQuery)
|
||||
}
|
||||
|
||||
// 文章状态
|
||||
|
||||
+27
-8
@@ -139,19 +139,38 @@ func (r *VideoDao) GetVideoPageSearch(req requests.GetVideoPage, page, pageSize
|
||||
// 作者关联医院
|
||||
query = query.Preload("VideoAuthor.BaseHospital")
|
||||
|
||||
// 文章标题
|
||||
if req.VideoTitle != "" {
|
||||
query = query.Where("video_title LIKE ?", "%"+req.VideoTitle+"%")
|
||||
}
|
||||
|
||||
// 视频编号
|
||||
if req.VideoNo != "" {
|
||||
query = query.Where("video_no LIKE ?", "%"+req.VideoNo+"%")
|
||||
}
|
||||
|
||||
// 文章内容
|
||||
if req.VideoContent != "" {
|
||||
query = query.Where("video_content LIKE ?", "%"+req.VideoContent+"%")
|
||||
// 搜索关键字
|
||||
if req.Keyword != "" {
|
||||
keyword := "%" + req.Keyword + "%" //
|
||||
|
||||
// 标题
|
||||
orQuery := global.Db.Model(&model.Video{}).Or("video_title LIKE ?", keyword)
|
||||
|
||||
// 医院名称
|
||||
hospitalSubQuery := global.Db.Model(&model.BaseHospital{}).
|
||||
Select("hospital_id").
|
||||
Where("hospital_name LIKE ?", keyword)
|
||||
|
||||
articleAuthorSubQuery := global.Db.Model(&model.VideoAuthor{}).
|
||||
Select("video_id").
|
||||
Where(gorm.Expr("hospital_id IN (?)", hospitalSubQuery))
|
||||
|
||||
orQuery = orQuery.Or(gorm.Expr("video_id IN (?)", articleAuthorSubQuery))
|
||||
|
||||
// 作者姓名
|
||||
subQuery := global.Db.Model(&model.VideoAuthor{}).
|
||||
Select("video_id").
|
||||
Where("author_name LIKE ?", keyword)
|
||||
|
||||
orQuery = orQuery.Or(gorm.Expr("video_id IN (?)", subQuery))
|
||||
|
||||
// 执行组建
|
||||
query = query.Where(orQuery)
|
||||
}
|
||||
|
||||
// 文章状态
|
||||
|
||||
Reference in New Issue
Block a user