fix: search news title by query

This commit is contained in:
ericprd 2025-03-24 18:11:08 +08:00
parent 09d9c4efb8
commit a68780f09e
4 changed files with 9 additions and 1 deletions

View File

@ -34,6 +34,10 @@ func (a *accessor) GetAll(filter newsdomain.NewsFilter) ([]newsdomain.News, erro
query = query.Where("news.live_at <= ?", timeutils.Now())
}
if filter.Search != "" {
query = query.Where("news.title ILIKE ?", "%"+filter.Search+"%")
}
query.
Select("news.*, COUNT(content_logs.content_id) as clicked").
Group("news.id").

View File

@ -24,11 +24,13 @@ func GetAll(
category := query.Get("categories")
tags := query.Get("tags")
activeOnly := query.Get("active")
search := query.Get("q")
news, err = newsSvc.GetAll(newsdomain.Filter{
Category: category,
Tags: tags,
Active: activeOnly,
Search: search,
})
if err != nil {

View File

@ -52,11 +52,12 @@ type NewsUpdate struct {
}
type Filter struct {
Category, Tags, Active string
Category, Tags, Active, Search string
}
type NewsFilter struct {
Tags []string
Category []string
Active string
Search string
}

View File

@ -41,6 +41,7 @@ func (i *impl) GetAll(filter newsdomain.Filter) ([]newsdomain.News, error) {
Tags: tags,
Category: categories,
Active: filter.Active,
Search: filter.Search,
}
return i.newsRepo.GetAll(filterSpec)
}