Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
105 lines
7.0 KiB
Go
105 lines
7.0 KiB
Go
package srv_videoinfo
|
||
|
||
import (
|
||
"time"
|
||
"videoweb/pub/models/videoinformationmod"
|
||
"videoweb/pub/pubdef"
|
||
)
|
||
|
||
type VideoInfoReq struct {
|
||
Id *int64 `json:"id"` // Id
|
||
Title *string `json:"title"` // 标题
|
||
CreatorId *int64 `json:"creatorId"` // 作者Id
|
||
Status *videoinformationmod.InformationSatus `json:"status"` // 帖子上架状态
|
||
CategoryId *int64 `json:"categoryId"` // 分类Id
|
||
TopicId *int64 `json:"topicId"` // 专题Id
|
||
Tag *int64 `json:"tag" ` // 标签
|
||
IsHot *bool `json:"isHot"` // 是否热门
|
||
MediaType videoinformationmod.MediaType `json:"mediaType"` // 资源类型
|
||
CreatorName *string `json:"creatorName"` // 作者名称
|
||
Keyworld *string `json:"keyworld"` // 关键字
|
||
VideoTaskId *string `json:"videoTaskId"` // 视频任务id
|
||
VideoFileId *string `json:"videoFileId"` // 切片id(切片列表的ID)
|
||
IsTop *bool `json:"isTop" bson:"isTop"` // 是否置顶
|
||
IsH265 *bool `json:"isH265"` // 是否支持 H265
|
||
Sort int64 `json:"sort"` // 排序方式 0=创建时间 1=上架时间 2=更新时间 3=排序值 4=播放次数
|
||
pubdef.Page
|
||
StartTime *string `json:"startTime"` // 创建时间-开始
|
||
EndTime *string `json:"endTime"` // 创建时间-截止
|
||
OptionAccount *string `json:"optionAccount"` // 最后操作人
|
||
}
|
||
|
||
type VideoInfoResp struct {
|
||
Total int64 `json:"total"`
|
||
List videoinformationmod.VideoInformationList `json:"list"`
|
||
}
|
||
type AddVideoReq struct {
|
||
FileIds []string `json:"fileId"` // 资源id
|
||
}
|
||
type VideoInfoUpdate struct {
|
||
Title *string `json:"title,omitempty" bson:"title,omitempty"` // 帖子标题
|
||
AddedTime *time.Time `json:"addedTime,omitempty" bson:"addedTime,omitempty"`
|
||
CreatorId *int64 `json:"creatorId,omitempty" bson:"creatorId,omitempty"` // 作者Id
|
||
Keyworld *[]string `bson:"keyworld,omitempty" json:"keyworld"` //
|
||
MediaType *videoinformationmod.MediaType `json:"mediaType,omitempty" bson:"mediaType,omitempty"` // 资源类型
|
||
FirstTag *string `bson:"firstTag,omitempty" json:"firstTag,omitempty"` // 一级标签
|
||
SecondTags *[]string `bson:"secondTags,omitempty" json:"secondTags,omitempty"` // 二级标签标签
|
||
CoverImg *string `bson:"coverImg,omitempty" json:"coverImg,omitempty"` // 封面
|
||
UnencryptedImage *string `bson:"unencryptedImage,omitempty" json:"unencryptedImage"` // 不加密封面
|
||
Desc *string `bson:"desc,omitempty" json:"desc,omitempty"` // 详细描述
|
||
Remark *string `bson:"remark,omitempty" json:"remark,omitempty"` // 备注
|
||
Nodes *[]videoinformationmod.Node `json:"nodes,omitempty" bson:"nodes,omitempty"` // 节点
|
||
Status *videoinformationmod.InformationSatus `json:"status,omitempty" bson:"status,omitempty"` // 帖子上架状态
|
||
Sort *int64 `json:"sort,omitempty" bson:"sort,omitempty"` // 排序
|
||
|
||
Cover *string `json:"cover,omitempty" bson:"cover,omitempty"` // 视频封面
|
||
Height *int64 `json:"height,omitempty" bson:"height,omitempty"` // 分辨率高(视频才会存在)
|
||
Width *int64 `json:"width,omitempty" bson:"width,omitempty"` // 分辨率宽(视频才会存在)
|
||
VideoTime *int32 `bson:"videoTime,omitempty" json:"videoTime,omitempty"` // 影片长度
|
||
|
||
CategoryIds *[]int64 `json:"categoryIds,omitempty" bson:"categoryIds,omitempty"` // 分类Id
|
||
TopicIds *[]int64 `json:"topicIds,omitempty" bson:"topicIds,omitempty"` // 专题ID
|
||
Tags *[]int64 `json:"tags,omitempty" bson:"tags,omitempty"` // 标签
|
||
IsHot *bool `json:"isHot,omitempty" bson:"isHot,omitempty"` // 是否热门
|
||
UpdatedAt *time.Time `json:"updatedAt,omitempty" bson:"updatedAt,omitempty"` // 更新时间
|
||
|
||
CreatorName *string `bson:"creatorName,omitempty"` // 作者名
|
||
IsTop *bool `json:"isTop,omitempty" bson:"isTop,omitempty"` // 是否置顶
|
||
Video *videoinformationmod.VideoInfo `bson:"video,omitempty"` // 视频
|
||
IsReIndexNow *bool `json:"isReIndexNow" bson:"isReIndexNow"` // 是否重新提交索引
|
||
IndexNow *int64 `bson:"indexNow,omitempty"`
|
||
Content *string `json:"content,omitempty" bson:"content,omitempty"`
|
||
SecondUpdatedAt *time.Time `json:"secondUpdatedAt,omitempty" bson:"secondUpdatedAt,omitempty"` // 二次修改时间
|
||
}
|
||
|
||
type VideoInfoUpdateReq struct {
|
||
Id int64 `json:"id" binding:"required"`
|
||
Param VideoInfoUpdate `json:"param" bson:"param"` // appId,唯一id
|
||
}
|
||
|
||
type VideoInfoDelReq struct {
|
||
Id int64 `json:"id" binding:"required"`
|
||
}
|
||
|
||
type AddVideoCollectionReq struct {
|
||
Title string `json:"title,omitempty" bson:"title,omitempty"` // 帖子标题
|
||
Keyworld []string `bson:"keyworld,omitempty" json:"keyworld,omitempty"` // 关键字
|
||
FirstTag string `bson:"firstTag,omitempty" json:"firstTag,omitempty"` // 一级标签
|
||
SecondTags []string `bson:"secondTags,omitempty" json:"secondTags,omitempty"` // 二级标签标签
|
||
CoverImg string `bson:"coverImg,omitempty" json:"coverImg,omitempty"` // 封面
|
||
Desc string `bson:"desc,omitempty" json:"desc,omitempty"` // 详细描述
|
||
Remark string `bson:"remark,omitempty" json:"remark,omitempty"` // 备注
|
||
Tags []int64 `json:"tags,omitempty" bson:"tags,omitempty"` // 标签
|
||
}
|
||
|
||
type SetFakeWatchTimesReq struct {
|
||
Ids []int64 `json:"ids"` // 视频ID集合,支持单个或批量
|
||
WatchTimesMin int64 `json:"watchTimesMin"` // 假观看次数随机最小值
|
||
WatchTimesMax int64 `json:"watchTimesMax"` // 假观看次数随机最大值
|
||
}
|
||
|
||
type SetFakeCountResp struct {
|
||
MatchedCount int64 `json:"matchedCount"` // 匹配到的视频数量
|
||
ModifiedCount int64 `json:"modifiedCount"` // 实际修改的视频数量
|
||
}
|