@@ -0,0 +1,91 @@
|
||||
package searcher
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"91porn-server/common/timeutil/timerange"
|
||||
"91porn-server/models/v/tonerecomod"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
)
|
||||
|
||||
// KeyWorder KeyWorder
|
||||
type KeyWorder interface {
|
||||
Get() interface{}
|
||||
}
|
||||
|
||||
// Keyword Keyword
|
||||
type Keyword struct {
|
||||
Word string
|
||||
}
|
||||
|
||||
func (s *Keyword) Get() interface{} {
|
||||
return s.Word
|
||||
}
|
||||
|
||||
// StringList StringList
|
||||
type StringList struct {
|
||||
Words []string
|
||||
}
|
||||
|
||||
func (s *StringList) Get() interface{} {
|
||||
return s.Words
|
||||
}
|
||||
|
||||
// ObjectList ObjectList
|
||||
type ObjIDList struct {
|
||||
IDList []primitive.ObjectID
|
||||
}
|
||||
|
||||
func (o *ObjIDList) Get() interface{} {
|
||||
return o.IDList
|
||||
}
|
||||
|
||||
// ObjectList ObjectList
|
||||
type ObjID struct {
|
||||
ID primitive.ObjectID
|
||||
}
|
||||
|
||||
func (o *ObjID) Get() interface{} {
|
||||
return o.ID
|
||||
}
|
||||
|
||||
// ThemeList ThemeList
|
||||
type ThemeList struct {
|
||||
Themes []tonerecomod.ThemeType
|
||||
}
|
||||
|
||||
func (s *ThemeList) Get() interface{} {
|
||||
return s.Themes
|
||||
}
|
||||
|
||||
// TimeRange TimeRange
|
||||
type TimeRange struct {
|
||||
Range timerange.TimeRange
|
||||
}
|
||||
|
||||
func (t *TimeRange) Get() interface{} {
|
||||
return t.Range
|
||||
}
|
||||
|
||||
func NewTimeRange(start, end time.Time) KeyWorder {
|
||||
timeRange := timerange.TimeRange{
|
||||
Head: start,
|
||||
Tail: end,
|
||||
}
|
||||
return &TimeRange{timeRange}
|
||||
}
|
||||
|
||||
// SumDate SumDate
|
||||
type SumDate struct {
|
||||
Date time.Time
|
||||
}
|
||||
|
||||
func (t *SumDate) Get() interface{} {
|
||||
return t.Date
|
||||
}
|
||||
|
||||
func NewSumDate(position time.Time) KeyWorder {
|
||||
sumDate := timerange.LocDayRange(position).Head
|
||||
return &SumDate{sumDate}
|
||||
}
|
||||
Reference in New Issue
Block a user