From dc962c6426829f6c843bb57fb89627974667470c Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期五, 17 五月 2024 15:50:07 +0800 Subject: [PATCH] 音频检索增加时间范围和是否关注的搜索条件 --- models/audio.go | 41 +++++++++++++++++++++++++++++++++++------ 1 files changed, 35 insertions(+), 6 deletions(-) diff --git a/models/audio.go b/models/audio.go index 8d1b51f..76fac0c 100644 --- a/models/audio.go +++ b/models/audio.go @@ -32,12 +32,14 @@ AudioSearch struct { Audio - Order string - PageNum int - PageSize int - Orm *gorm.DB - Keyword string - IDs []uint + Order string + PageNum int + PageSize int + Orm *gorm.DB + Keyword string + IDs []uint + BeginTime time.Time + EndTime time.Time } ) @@ -113,6 +115,21 @@ return slf } +func (slf *AudioSearch) SetBeginTime(time time.Time) *AudioSearch { + slf.BeginTime = time + return slf +} + +func (slf *AudioSearch) SetEndTime(time time.Time) *AudioSearch { + slf.EndTime = time + return slf +} + +func (slf *AudioSearch) SetIsFollowed(isFollowed constvar.BoolType) *AudioSearch { + slf.IsFollowed = isFollowed + return slf +} + func (slf *AudioSearch) build() *gorm.DB { var db = slf.Orm.Table(slf.TableName()) @@ -153,6 +170,18 @@ db = db.Where("id in ?", slf.IDs) } + if !slf.BeginTime.IsZero() { + db = db.Where("occurrence_at >= ?", slf.BeginTime) + } + + if !slf.EndTime.IsZero() { + db = db.Where("occurrence_at <= ?", slf.EndTime) + } + + if slf.IsFollowed != 0 { + db = db.Where("is_followed = ?", slf.IsFollowed) + } + return db } -- Gitblit v1.8.0