| | |
| | | |
| | | 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 |
| | | } |
| | | ) |
| | | |
| | |
| | | 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()) |
| | | |
| | |
| | | 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 |
| | | } |
| | | |