35 lines
921 B
Go
35 lines
921 B
Go
package userwatchrecordserver
|
|
|
|
import (
|
|
"91porn-server/app/service/vidhelpser"
|
|
"91porn-server/common/stderr"
|
|
"91porn-server/models/v/userwatchrecordmod"
|
|
"91porn-server/models/v/vidmod"
|
|
|
|
"go.mongodb.org/mongo-driver/bson/primitive"
|
|
)
|
|
|
|
func List(uid uint64, req *userwatchrecordmod.ListRequest) (interface{}, stderr.Code) {
|
|
list, err := userwatchrecordmod.List(req.Filter(uid), req.Options())
|
|
if err != nil {
|
|
return nil, stderr.ErrDbQueryError
|
|
}
|
|
listLen := len(list)
|
|
var out userwatchrecordmod.ListResponse
|
|
if listLen > int(req.PageSize) {
|
|
out.HasNext = true
|
|
list = list[:len(list)-1]
|
|
listLen--
|
|
}
|
|
if listLen == 0 {
|
|
out.WorkList = []*vidmod.VideoInfoResp{}
|
|
return out, stderr.Success
|
|
}
|
|
videoIds := make([]primitive.ObjectID, listLen)
|
|
for i, record := range list {
|
|
videoIds[i] = record.VideoID
|
|
}
|
|
out.WorkList = vidhelpser.GetVideoListByIDsNoStatus(uid, videoIds)
|
|
return out, stderr.Success
|
|
}
|