Files
huangguo_server/app/service/videoactivityserver/video_activity.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

77 lines
2.1 KiB
Go

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
}