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