fix: improvement logs and record news access

This commit is contained in:
ericprd
2025-03-20 11:11:08 +08:00
parent 290d7f6701
commit d8f6968f64
13 changed files with 81 additions and 25 deletions
+7 -1
View File
@@ -7,7 +7,8 @@ func (a *accessor) GetAll(filter newsdomain.NewsFilter) ([]newsdomain.News, erro
query := a.db.
Preload("Tags").
Preload("Categories").
Preload("Author")
Preload("Author").
Joins("LEFT JOIN content_logs ON content_logs.content_id = news.id")
if len(filter.Category) > 0 {
query = query.Joins("JOIN news_categories nc ON nc.news_id = news.id").
@@ -19,6 +20,11 @@ func (a *accessor) GetAll(filter newsdomain.NewsFilter) ([]newsdomain.News, erro
Where("nt.tag_id IN (?)", filter.Tags)
}
query.
Select("news.*, COUNT(content_logs.content_id) as clicked").
Group("news.id").
Order("news.created_at DESC")
if err := query.
Find(&news).Error; err != nil {
return nil, err