Files
huangguo_server/app/service/searcher/vidtonesearcher/officialRecom.go
T
rootandClaude Opus 5 8679200f41 Initial commit
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 13:57:10 +08:00

57 lines
1.3 KiB
Go

package vidtonesearcher
import (
"91porn-server/app/service/searcher"
"91porn-server/models/v/tonerecomod"
"91porn-server/models/v/vidmod"
)
// VidToneSearcher VidToneSearcher
type officialRecomSearcher struct {
uid uint64
}
// officialRecomSearcher officialRecomSearcher
func newOfficialRecomSearcher(uid uint64) searcher.Searcher {
return &officialRecomSearcher{
uid: uid,
}
}
// Search Search
func (g *officialRecomSearcher) Search(unuse searcher.KeyWorder, opt searcher.Opter) (result searcher.Resulter, err error) {
limitEx1 := opt.Limit() + 1
vidList, err := vidmod.VIDListToneOfficialRecom(opt.Skip(), limitEx1)
if err != nil {
return nil, err
}
if len(vidList) == 0 {
return &Result{
&Resp{
Theme: tonerecomod.OfficialRecom,
List: []VideoRes{},
PlayCount: &zero,
HasNext: false,
},
}, nil
}
hasNext := false
if len(vidList) > int(opt.Limit()) {
hasNext = true
vidList = vidList[:opt.Limit()]
}
videoResList, err := searcher.GetVideoResList(g.uid, vidList)
if err != nil {
return nil, err
}
officialRecomPlayCount := GetToneValue().OfficialRecomPlayCount
return &Result{
&Resp{
List: videoResList,
Theme: tonerecomod.OfficialRecom,
PlayCount: &officialRecomPlayCount,
HasNext: hasNext,
},
}, nil
}