3
This commit is contained in:
parent
8838b12415
commit
c429bb03b1
@ -139,14 +139,33 @@ func (r *ArticleDao) GetArticlePageSearch(req requests.GetArticlePage, page, pag
|
|||||||
// 作者关联医院
|
// 作者关联医院
|
||||||
query = query.Preload("ArticleAuthor.BaseHospital")
|
query = query.Preload("ArticleAuthor.BaseHospital")
|
||||||
|
|
||||||
// 文章标题
|
// 搜索关键字
|
||||||
if req.ArticleTitle != "" {
|
if req.Keyword != "" {
|
||||||
query = query.Where("article_title LIKE ?", "%"+req.ArticleTitle+"%")
|
keyword := "%" + req.Keyword + "%" //
|
||||||
}
|
|
||||||
|
|
||||||
// 文章内容
|
// 标题
|
||||||
if req.ArticleContent != "" {
|
orQuery := global.Db.Model(&model.Article{}).Or("article_title LIKE ?", keyword)
|
||||||
query = query.Where("article_content LIKE ?", "%"+req.ArticleContent+"%")
|
|
||||||
|
// 医院名称
|
||||||
|
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)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 文章状态
|
// 文章状态
|
||||||
|
|||||||
@ -139,19 +139,38 @@ func (r *VideoDao) GetVideoPageSearch(req requests.GetVideoPage, page, pageSize
|
|||||||
// 作者关联医院
|
// 作者关联医院
|
||||||
query = query.Preload("VideoAuthor.BaseHospital")
|
query = query.Preload("VideoAuthor.BaseHospital")
|
||||||
|
|
||||||
// 文章标题
|
|
||||||
if req.VideoTitle != "" {
|
|
||||||
query = query.Where("video_title LIKE ?", "%"+req.VideoTitle+"%")
|
|
||||||
}
|
|
||||||
|
|
||||||
// 视频编号
|
// 视频编号
|
||||||
if req.VideoNo != "" {
|
if req.VideoNo != "" {
|
||||||
query = query.Where("video_no LIKE ?", "%"+req.VideoNo+"%")
|
query = query.Where("video_no LIKE ?", "%"+req.VideoNo+"%")
|
||||||
}
|
}
|
||||||
|
|
||||||
// 文章内容
|
// 搜索关键字
|
||||||
if req.VideoContent != "" {
|
if req.Keyword != "" {
|
||||||
query = query.Where("video_content LIKE ?", "%"+req.VideoContent+"%")
|
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)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 文章状态
|
// 文章状态
|
||||||
|
|||||||
@ -8,12 +8,11 @@ type ArticleRequest struct {
|
|||||||
|
|
||||||
// GetArticlePage 获取图文列表-分页
|
// GetArticlePage 获取图文列表-分页
|
||||||
type GetArticlePage struct {
|
type GetArticlePage struct {
|
||||||
Page int `json:"page" form:"page" label:"页码"`
|
Page int `json:"page" form:"page" label:"页码"`
|
||||||
PageSize int `json:"page_size" form:"page_size" label:"每页个数"`
|
PageSize int `json:"page_size" form:"page_size" label:"每页个数"`
|
||||||
ArticleTitle string `json:"article_title" form:"article_title" label:"文章标题"`
|
ArticleStatus *int `json:"article_status" form:"article_status" label:"文章状态"` // (1:正常 2:禁用)
|
||||||
ArticleStatus *int `json:"article_status" form:"article_status" label:"文章状态"` // (1:正常 2:禁用)
|
Keyword string `json:"keyword" form:"keyword" label:"搜索关键字"`
|
||||||
ArticleContent string `json:"article_content" form:"article_content" label:"文章内容"`
|
Order *GetArticlePageOrder `json:"order" form:"order" label:"排序"`
|
||||||
Order *GetArticlePageOrder `json:"order" form:"order" label:"排序"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetArticlePageOrder 获取图文列表-分页-排序条件
|
// GetArticlePageOrder 获取图文列表-分页-排序条件
|
||||||
|
|||||||
@ -8,13 +8,12 @@ type VideoRequest struct {
|
|||||||
|
|
||||||
// GetVideoPage 获取视频列表-分页
|
// GetVideoPage 获取视频列表-分页
|
||||||
type GetVideoPage struct {
|
type GetVideoPage struct {
|
||||||
Page int `json:"page" form:"page" label:"页码"`
|
Page int `json:"page" form:"page" label:"页码"`
|
||||||
PageSize int `json:"page_size" form:"page_size" label:"每页个数"`
|
PageSize int `json:"page_size" form:"page_size" label:"每页个数"`
|
||||||
VideoTitle string `json:"video_title" form:"Video_title" label:"视频标题"`
|
Keyword string `json:"keyword" form:"keyword" label:"搜索关键字"`
|
||||||
VideoStatus *int `json:"video_status" form:"Video_status" label:"视频状态"` // (1:正常 2:禁用)
|
VideoStatus *int `json:"video_status" form:"Video_status" label:"视频状态"` // (1:正常 2:禁用)
|
||||||
VideoNo string `json:"video_no" form:"video_no" label:"视频编号"` // (保利)
|
VideoNo string `json:"video_no" form:"video_no" label:"视频编号"` // (保利)
|
||||||
VideoContent string `json:"video_content" form:"Video_content" label:"视频内容"`
|
Order *GetVideoPageOrder `json:"order" form:"order" label:"排序"`
|
||||||
Order *GetVideoPageOrder `json:"order" form:"order" label:"排序"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetVideoPageOrder 获取视频列表-分页-排序条件
|
// GetVideoPageOrder 获取视频列表-分页-排序条件
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user