修改搜过关键字

This commit is contained in:
wucongxing8150 2024-09-19 16:57:38 +08:00
parent 3a7df99b5e
commit 606693a475
2 changed files with 22 additions and 0 deletions

View File

@ -184,6 +184,27 @@ func (r *QuestionDao) GetQuestionPageSearch(req requests.GetQuestionPage, page,
query = query.Where("question_id IN (?)", questionClassQuery)
}
// 搜索关键字
if req.Keyword != "" {
keyword := "%" + req.Keyword + "%" //
// 标题
orQuery := global.Db.Model(&model.Question{}).Or("question_title LIKE ?", keyword)
// 副标题
orQuery = orQuery.Or("question_subtitle LIKE ?", keyword)
// 分类标识
baseClassSubQuery := global.Db.Model(&model.BaseClass{}).
Select("class_id").
Where("class_name LIKE ?", keyword)
questionClassSubQuery := global.Db.Model(&model.QuestionClass{}).
Select("question_id").
Where(gorm.Expr("class_id IN (?)", baseClassSubQuery))
orQuery = orQuery.Or(gorm.Expr("question_id IN (?)", questionClassSubQuery))
}
// 排序
if req.Order != nil {
// 点击次数(点击进入详情页的人次)

View File

@ -18,6 +18,7 @@ type GetQuestionPage struct {
QuestionExplain string `json:"question_explain" form:"question_explain" label:"问题解释/科普"`
ClassId string `json:"class_id" form:"class_id" label:"分类标识"`
Order *GetQuestionPageOrder `json:"order" form:"order" label:"排序"`
Keyword string `json:"keyword" form:"keyword" label:"搜索关键字"`
}
// GetQuestionPageOrder 获取问答题库列表-分页-排序条件