@@ -0,0 +1,64 @@
|
||||
package vidtonesearcher
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"91porn-server/app/appg"
|
||||
"91porn-server/app/service/searcher"
|
||||
"91porn-server/common/constant/redisconst"
|
||||
"91porn-server/common/log"
|
||||
"91porn-server/models/v/tonemod"
|
||||
"91porn-server/models/v/tonerecomod"
|
||||
)
|
||||
|
||||
type ToneValue = tonemod.ToneValue
|
||||
|
||||
// VidToneSearcher VidToneSearcher
|
||||
type VidToneSearcher struct {
|
||||
uid uint64
|
||||
theme tonerecomod.ThemeType
|
||||
}
|
||||
|
||||
// NewVidToneSearcher NewVidToneSearcher
|
||||
func NewVidToneSearcher(theme tonerecomod.ThemeType, uid uint64) searcher.Searcher {
|
||||
return &VidToneSearcher{
|
||||
uid: uid,
|
||||
theme: theme,
|
||||
}
|
||||
}
|
||||
|
||||
// Realm Realm
|
||||
func (searcher *VidToneSearcher) Theme() string {
|
||||
return searcher.theme
|
||||
}
|
||||
|
||||
// Search Search
|
||||
func (v *VidToneSearcher) Search(keyword searcher.KeyWorder, opt searcher.Opter) (result searcher.Resulter, err error) {
|
||||
switch v.theme {
|
||||
case tonerecomod.OfficialRecom:
|
||||
return newOfficialRecomSearcher(v.uid).Search(nil, opt)
|
||||
case tonerecomod.GoldCoinArea:
|
||||
return newGoldCoinAreaSearcher(v.uid).Search(nil, opt)
|
||||
case tonerecomod.LatestUpload:
|
||||
return newLatestUploadSearcher(v.uid).Search(nil, opt)
|
||||
case tonerecomod.MostLikes:
|
||||
return newMostLikesSearcher(v.uid).Search(nil, opt)
|
||||
case tonerecomod.PlayAtMost:
|
||||
return newPlayAtMostSearcher(v.uid).Search(nil, opt)
|
||||
case tonerecomod.MostComments:
|
||||
return newMostCommentsSearcher(v.uid).Search(nil, opt)
|
||||
case tonerecomod.FreeArea:
|
||||
return newFreeAreaSearcher(v.uid).Search(nil, opt)
|
||||
default:
|
||||
return nil, fmt.Errorf("search vidtonesearcher invalid theme: %s", v.theme)
|
||||
}
|
||||
}
|
||||
|
||||
func GetToneValue() ToneValue {
|
||||
var toneValue ToneValue
|
||||
redisKey := redisconst.ToneKey()
|
||||
if err := appg.Redis.Scan(redisKey, &toneValue); err != nil {
|
||||
log.Warn("search vidtonesearcher GetToneValue Scan error", log.E(err))
|
||||
}
|
||||
return toneValue
|
||||
}
|
||||
Reference in New Issue
Block a user