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