@@ -0,0 +1,76 @@
|
||||
package videoactivityserver
|
||||
|
||||
import (
|
||||
"91porn-server/app/service/vidhelpser"
|
||||
"91porn-server/common/stderr"
|
||||
"91porn-server/models/v/videoactivitymod"
|
||||
"91porn-server/models/v/vidmod"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
)
|
||||
|
||||
func List(uid uint64, req *videoactivitymod.ListRequest) (interface{}, stderr.Code) {
|
||||
var (
|
||||
out videoactivitymod.ListResponse
|
||||
videoActivity videoactivitymod.VideoActivity
|
||||
err error
|
||||
)
|
||||
if req.ActivityID == "" {
|
||||
videoActivity, err = videoactivitymod.QueryDocumentByStatus(videoactivitymod.Enable)
|
||||
if err != nil {
|
||||
return out, stderr.ErrDbQueryError
|
||||
}
|
||||
req.ActivityID = videoActivity.ID.Hex()
|
||||
} else {
|
||||
activityId, err := primitive.ObjectIDFromHex(req.ActivityID)
|
||||
if err != nil {
|
||||
return nil, stderr.ErrParamError
|
||||
}
|
||||
videoActivity, err = videoactivitymod.QueryDocumentByID(activityId)
|
||||
if err != nil {
|
||||
return nil, stderr.ErrDbQueryError
|
||||
}
|
||||
}
|
||||
out.ActivityID = videoActivity.ID
|
||||
out.ActivityBackgroundImage = videoActivity.BackgroundImage
|
||||
out.ActivityDesc = videoActivity.Desc
|
||||
out.ActivityEndTime = videoActivity.EndTime
|
||||
filter, err := req.Filter()
|
||||
if err != nil {
|
||||
return nil, stderr.ErrParamError
|
||||
}
|
||||
list, err := vidmod.GetList(filter, req.Options())
|
||||
if err != nil {
|
||||
return out, stderr.ErrDbQueryError
|
||||
}
|
||||
listLen := len(list)
|
||||
if listLen == 0 {
|
||||
out.WorkList = []*vidmod.VideoInfo{}
|
||||
return out, stderr.Success
|
||||
}
|
||||
if listLen > int(req.PageSize) {
|
||||
out.HasNext = true
|
||||
list = list[:len(list)-1]
|
||||
}
|
||||
out.WorkList = vidhelpser.EncodeVideoInfo(uid, list)
|
||||
return out, stderr.Success
|
||||
}
|
||||
|
||||
func HistoryRecord(req *videoactivitymod.HistoryRecordRequest) (interface{}, stderr.Code) {
|
||||
var out videoactivitymod.HistoryRecordResponse
|
||||
list, err := videoactivitymod.QueryAllDocument(req.Filter(), req.Options())
|
||||
if err != nil {
|
||||
return out, stderr.ErrDbQueryError
|
||||
}
|
||||
listLen := len(list)
|
||||
if listLen == 0 {
|
||||
out.ActivityList = []*videoactivitymod.VideoActivity{}
|
||||
return out, stderr.Success
|
||||
}
|
||||
if listLen > int(req.PageSize) {
|
||||
out.HasNext = true
|
||||
list = list[:len(list)-1]
|
||||
}
|
||||
out.ActivityList = list
|
||||
return out, stderr.Success
|
||||
}
|
||||
Reference in New Issue
Block a user