684 lines
36 KiB
Go
684 lines
36 KiB
Go
package proto
|
||
|
||
import (
|
||
"time"
|
||
"videoweb/pub/common/response"
|
||
"videoweb/pub/models/playletchaptermod"
|
||
"videoweb/pub/models/playletmod"
|
||
"videoweb/pub/pubdef"
|
||
)
|
||
|
||
// PlayletResourceListReq web端短剧媒资列表请求
|
||
type PlayletResourceListReq struct {
|
||
Title *string `form:"title" json:"title"` // 标题
|
||
Tag *string `form:"tag" json:"tag"` // 标签
|
||
MediaType *int `form:"media_type" json:"media_type"` // 媒体类型 1-动漫 2-漫画 4-漫画短剧 5-短剧 6-普通短剧
|
||
SyncType *int `form:"sync_type" json:"sync_type"` // 同步类型 1-全量同步 2-增量同步
|
||
IsAdd *bool `form:"isAdd" json:"isAdd,omitempty"` // 是否已加入后台数据:true只查已加入,false只查未加入,不传查全部
|
||
PageNumber int `form:"pageNumber" json:"pageNumber"` // 页码
|
||
PageSize int `form:"pageSize" json:"pageSize"` // 个数
|
||
}
|
||
|
||
// PlayletResourceJHListReq web端嘉华短剧媒资列表请求
|
||
type PlayletResourceJHListReq struct {
|
||
Title *string `form:"title"` // 标题
|
||
Tag *string `form:"tag"` // 标签
|
||
SyncType *int `form:"sync_type"` // 同步类型 1-全量同步 2-增量同步
|
||
IsAdd *bool `form:"isAdd" json:"isAdd,omitempty"` // 是否已入库:true只查已入库,false只查未入库,不传查全部
|
||
PageNumber int `form:"pageNumber"` // 页码
|
||
PageSize int `form:"pageSize"` // 个数
|
||
}
|
||
|
||
// PlayletResourceMediaActor web端短剧媒资演员
|
||
type PlayletResourceMediaActor struct {
|
||
Name string `json:"name"` // 名称
|
||
Avatar string `json:"avatar"` // 头像
|
||
Gender int `json:"gender"` // 性别
|
||
}
|
||
|
||
// PlayletResourceListItem web端短剧媒资列表项
|
||
type PlayletResourceListItem struct {
|
||
ID uint `json:"id"`
|
||
VloggerId uint `json:"vlogger_id"`
|
||
Title string `json:"title"` // 标题
|
||
SaleCoin uint `json:"sale_coin"` // 整部售价
|
||
HorizontalCover string `json:"horizontal_cover"` // 横版封面
|
||
VerticalCover string `json:"vertical_cover"` // 竖版封面
|
||
Summary string `json:"summary"` // 简介
|
||
TotalEpisode uint `json:"total_episode"` // 总集数
|
||
UpdateStatus int `json:"update_status"` // 更新状态 1-连载中 2-已完结
|
||
MediaType int `json:"media_type"` // 媒体类型
|
||
Anchor string `json:"anchor"` // 作者
|
||
TagsText string `json:"tags_text"` // 标签文字
|
||
DataVersion int8 `json:"data_version"` // 数据版本
|
||
TerminalCdo string `json:"terminal_cdo"` // 上传者
|
||
CreateTime int64 `json:"create_time"` // 创建时间
|
||
UpdateTime int64 `json:"update_time"` // 修改时间
|
||
IsAdd bool `json:"isAdd"` // 是否已加入后台数据
|
||
}
|
||
|
||
// PlayletResourceJHListItem web端嘉华短剧媒资列表项
|
||
type PlayletResourceJHListItem struct {
|
||
ID uint `json:"id"`
|
||
VloggerId uint `json:"vlogger_id"`
|
||
Title string `json:"title"` // 标题
|
||
SaleCoin uint `json:"sale_coin"` // 整部售价
|
||
HorizontalCover string `json:"horizontal_cover"` // 横版封面
|
||
VerticalCover string `json:"vertical_cover"` // 竖版封面
|
||
HorizontalCoverAlt string `json:"horizontalCover"` // 兼容驼峰
|
||
VerticalCoverAlt string `json:"verticalCover"` // 兼容驼峰
|
||
Summary string `json:"summary"` // 简介
|
||
TotalEpisode uint `json:"total_episode"` // 总集数
|
||
UpdateStatus int `json:"update_status"` // 更新状态
|
||
MediaType int `json:"media_type"` // 媒体类型
|
||
Anchor string `json:"anchor"` // 作者
|
||
Actors []PlayletResourceMediaActor `json:"actors"` // 演员集合
|
||
TagsText string `json:"tags_text"` // 标签文字
|
||
DataVersion int8 `json:"data_version"` // 数据版本
|
||
TerminalCdo string `json:"terminal_cdo"` // 上传者
|
||
CreateTime int64 `json:"create_time"` // 创建时间
|
||
UpdateTime int64 `json:"update_time"` // 更新时间
|
||
IsAdd bool `json:"isAdd"` // 是否已入库
|
||
}
|
||
|
||
// PlayletResourceListResp web端短剧媒资列表响应
|
||
type PlayletResourceListResp struct {
|
||
List []*PlayletResourceListItem `json:"list"`
|
||
Total uint `json:"total"`
|
||
}
|
||
|
||
// PlayletResourceJHListResp web端嘉华短剧媒资列表响应
|
||
type PlayletResourceJHListResp struct {
|
||
List []*PlayletResourceJHListItem `json:"list"`
|
||
Total uint `json:"total"`
|
||
}
|
||
|
||
// PlayletResourceUseReq web端短剧媒资入库请求
|
||
type PlayletResourceUseReq struct {
|
||
Ids []uint `json:"ids"` // 媒资中心资源ID集合-多个用逗号隔开,请求示例[28830,28829,28828,28827,28826,28825]
|
||
}
|
||
|
||
// PlayletResourceChapterListReq web端短剧媒资剧集列表请求
|
||
type PlayletResourceChapterListReq struct {
|
||
Id uint `form:"id" json:"id" binding:"required"` // 媒资中心资源ID
|
||
}
|
||
|
||
// PlayletResourceChapterItem web端短剧媒资剧集项
|
||
type PlayletResourceChapterItem struct {
|
||
Id uint `json:"id"` // 媒资内容ID
|
||
EpisodeNumber int `json:"episodeNumber"` // 第几集
|
||
Title string `json:"title"` // 章节名
|
||
Cover string `json:"cover"` // 封面
|
||
VideoUrl string `json:"videoUrl"` // 播放地址
|
||
Height uint `json:"height"` // 高
|
||
Width uint `json:"width"` // 宽
|
||
MediaSize uint `json:"mediaSize"` // 资源大小
|
||
PlayTime uint `json:"playTime"` // 播放时长(秒)
|
||
SaleCoin uint `json:"saleCoin"` // 单集售价
|
||
HashId string `json:"hashId"` // 资源hash
|
||
CreateTime int64 `json:"createTime"` // 创建时间
|
||
UpdateTime int64 `json:"updateTime"` // 更新时间
|
||
}
|
||
|
||
// PlayletResourceChapterListResp web端短剧媒资剧集列表响应
|
||
type PlayletResourceChapterListResp struct {
|
||
MediaId uint `json:"mediaId"` // 媒资中心资源ID
|
||
Title string `json:"title"` // 短剧标题
|
||
List []*PlayletResourceChapterItem `json:"list"` // 剧集列表
|
||
Total int `json:"total"` // 剧集数量
|
||
}
|
||
|
||
// PlayletResourceUseSuccess web端短剧媒资入库成功项
|
||
type PlayletResourceUseSuccess struct {
|
||
MediaId uint `json:"mediaId"`
|
||
PlayletId int64 `json:"playletId"`
|
||
}
|
||
|
||
// PlayletResourceUseFailed web端短剧媒资入库失败项
|
||
type PlayletResourceUseFailed struct {
|
||
MediaId uint `json:"mediaId"`
|
||
Reason string `json:"reason"`
|
||
}
|
||
|
||
// PlayletResourceUseResp web端短剧媒资入库响应
|
||
type PlayletResourceUseResp struct {
|
||
Success []*PlayletResourceUseSuccess `json:"success"`
|
||
Failed []*PlayletResourceUseFailed `json:"failed"`
|
||
}
|
||
|
||
// PlayletListSortType web端短剧列表排序类型,均为降序
|
||
type PlayletListSortType int
|
||
|
||
const (
|
||
PlayletListSortCreatedAt PlayletListSortType = 0 // 创建时间(默认)
|
||
PlayletListSortRecommendRank PlayletListSortType = 1 // 推荐排序
|
||
PlayletListSortUpdatedAt PlayletListSortType = 2 // 修改时间
|
||
PlayletListSortCountLike PlayletListSortType = 3 // 点赞数
|
||
PlayletListSortCountBrowse PlayletListSortType = 4 // 浏览数
|
||
PlayletListSortCountCollect PlayletListSortType = 5 // 收藏数
|
||
PlayletListSortOnlineAt PlayletListSortType = 6 // 上架时间
|
||
)
|
||
|
||
// PlayletListReq web端短剧分页列表请求
|
||
type PlayletListReq struct {
|
||
pubdef.Page
|
||
Id *int64 `form:"id" json:"id"`
|
||
ThemeId *int64 `form:"themeId" json:"themeId"` // 题材id
|
||
CategoryId *int64 `form:"categoryId" json:"categoryId"` // 分类ID
|
||
TagId *int64 `form:"tagId" json:"tagId"` // 标签ID
|
||
ContentType *playletmod.ContentType `form:"contentType" json:"contentType"` // 0短剧 1普通短剧/影集 2漫画短剧 3动漫 4漫画
|
||
OperateType *playletmod.OperateType `form:"operateType" json:"operateType"` // 运营类型 1-短剧 2-漫剧
|
||
PayType *playletmod.PayType `form:"payType" json:"payType"` // 支付方式 0-免费 1-金币 2-VIP
|
||
Status *playletmod.Status `form:"status" json:"status"` // 上架状态(0-下架 1-上架)
|
||
IsFeatured *bool `form:"isFeatured" json:"isFeatured"` // 是否爆剧(true-是,false-否)
|
||
IsOriginal *bool `form:"isOriginal" json:"isOriginal"` // 是否原创:true只查原创,false只查非原创,不传查全部
|
||
IsRecommend *bool `form:"isRecommend" json:"isRecommend"` // 是否原创(推荐)
|
||
ShowOnBanner *bool `form:"showOnBanner" json:"showOnBanner"`
|
||
Title string `form:"title" json:"title"`
|
||
Slug string `form:"slug" json:"slug"` // slug,精确匹配
|
||
OperatorName string `form:"operatorName" json:"operatorName"` // 最后操作人名称
|
||
SortType PlayletListSortType `form:"sortType" json:"sortType"` // 排序:0创建时间(默认) 1推荐排序 2修改时间 3点赞数 4浏览数 5收藏数 6上架时间,均为降序
|
||
}
|
||
|
||
// PlayletListResp web端短剧列表项
|
||
type PlayletListResp struct {
|
||
Id int64 `json:"id"`
|
||
Status playletmod.Status `json:"status"`
|
||
IsFeatured bool `json:"isFeatured"` // 是否爆剧(true-是,false-否)
|
||
IsOriginal bool `json:"isOriginal"` // 是否原创
|
||
IsRecommend bool `json:"isRecommend"`
|
||
ShowOnBanner bool `json:"showOnBanner"`
|
||
Banner string `json:"banner"`
|
||
ReviewAt time.Time `json:"reviewAt"`
|
||
OnlineAt time.Time `json:"onlineAt"`
|
||
ThemeIds []int64 `json:"themeIds"`
|
||
ThemeNames []string `json:"themeNames"`
|
||
CategoryIds []int64 `json:"categoryIds"` // 分类ID集合
|
||
CategoryBinds []PlayletCategoryBind `json:"categoryBinds"` // 分类绑定及排序
|
||
CategoryRank int64 `json:"categoryRank"` // 当前筛选分类下的排序
|
||
Title string `json:"title"`
|
||
PlayName string `json:"playName"` // 剧名
|
||
Description string `json:"description"` // SEO Description
|
||
Slug string `json:"slug"` // slug
|
||
Desc string `json:"desc"`
|
||
Anchor string `json:"anchor"`
|
||
Cover string `json:"cover"`
|
||
HorizontalCover string `json:"horizontalCover"` // 横版封面
|
||
CompressedHorizontalCover string `json:"compressedHorizontalCover"` // 压缩横版封面
|
||
Preview string `json:"preview"`
|
||
TagIds []int64 `json:"tagIds"`
|
||
TagNames []string `json:"tagNames"`
|
||
ContentType playletmod.ContentType `json:"contentType"`
|
||
OperateType playletmod.OperateType `json:"operateType"` // 运营类型 1-短剧 2-漫剧
|
||
PayType playletmod.PayType `json:"payType"` // 支付方式 0-免费 1-金币 2-VIP
|
||
SingleCoins int64 `json:"singleCoins"` // 单集金币(支付方式为1-金币时候生效)
|
||
TotalEpisode int64 `json:"totalEpisode"`
|
||
UpdateStatus int `json:"updateStatus"` // 连载状态 1-连载中 2-已完结
|
||
TopRank int64 `json:"topRank"`
|
||
RecommendRank int64 `json:"recommendRank"`
|
||
CountComment int64 `json:"countComment"`
|
||
CountBuy int64 `json:"countBuy"`
|
||
CountBrowse int64 `json:"countBrowse"`
|
||
HeatValue int64 `json:"heatValue"`
|
||
CountCollect int64 `json:"countCollect"`
|
||
CountLike int64 `json:"countLike"` // 真实点赞数
|
||
VirtualCountLike int64 `json:"virtualCountLike"` // 虚拟点赞数
|
||
DisplayCountLike int64 `json:"displayCountLike"` // 展示点赞数=真实点赞数+虚拟点赞数
|
||
CountDisLike int64 `json:"countDisLike"`
|
||
SeoInfo pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
||
OperatorId int64 `json:"operatorId"` // 最后操作人ID
|
||
OperatorName string `json:"operatorName"` // 最后操作人名称
|
||
CreatedAt time.Time `json:"createdAt"`
|
||
UpdatedAt time.Time `json:"updatedAt"`
|
||
CompressedCover string `json:"compressedCover"`
|
||
}
|
||
|
||
// PlayletListPageResp web端短剧分页列表响应
|
||
type PlayletListPageResp struct {
|
||
response.BasePageResp
|
||
}
|
||
|
||
// PlayletCategoryBind 短剧绑定的分类及该分类下的排序
|
||
type PlayletCategoryBind struct {
|
||
Id int64 `json:"id"` // 分类ID
|
||
Rank int64 `json:"rank"` // 该分类下的排序,越大越靠前
|
||
}
|
||
|
||
// PlayletAddReq web端新增短剧请求
|
||
type PlayletAddReq struct {
|
||
ThemeIds []int64 `json:"themeIds"`
|
||
CategoryIds []int64 `json:"categoryIds"` // 分类ID集合,可为空;不传或空数组表示清空
|
||
CategoryBinds []PlayletCategoryBind `json:"categoryBinds"` // 分类绑定及排序,优先于categoryIds
|
||
Title string `json:"title" binding:"required"`
|
||
PlayName string `json:"playName"` // 剧名
|
||
Slug string `json:"slug"` // slug,不传则按 SEO 关键词或标题自动生成
|
||
Desc string `json:"desc"`
|
||
Anchor string `json:"anchor"`
|
||
Cover string `json:"cover"`
|
||
HorizontalCover string `json:"horizontalCover"` // 横版封面
|
||
Preview string `json:"preview"`
|
||
TagIds []int64 `json:"tagIds"`
|
||
ContentType playletmod.ContentType `json:"contentType"`
|
||
OperateType playletmod.OperateType `json:"operateType"` // 运营类型 1-短剧 2-漫剧,不传默认短剧
|
||
PayType playletmod.PayType `json:"payType"` // 支付方式 0-免费 1-金币 2-VIP
|
||
SingleCoins int64 `json:"singleCoins"` // 单集金币(支付方式为1-金币时候生效)
|
||
TotalEpisode int64 `json:"totalEpisode"`
|
||
TopRank int64 `json:"topRank"`
|
||
RecommendRank int64 `json:"recommendRank"`
|
||
Status playletmod.Status `json:"status"`
|
||
IsFeatured bool `json:"isFeatured"` // 是否爆剧(true-是,false-否)
|
||
IsRecommend bool `json:"isRecommend"`
|
||
ShowOnBanner bool `json:"showOnBanner"`
|
||
Banner string `json:"banner"`
|
||
SeoInfo pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
||
OnlineAt *time.Time `json:"onlineAt"` // 上架时间,上架时不传则按当前时间
|
||
}
|
||
|
||
// PlayletAddResp web端新增短剧响应
|
||
type PlayletAddResp struct {
|
||
Id int64 `json:"id"`
|
||
}
|
||
|
||
// PlayletUpdateReq web端更新短剧请求
|
||
type PlayletUpdateReq struct {
|
||
Id int64 `json:"id" binding:"required"`
|
||
Status *playletmod.Status `json:"status"`
|
||
IsFeatured *bool `json:"isFeatured"` // 是否爆剧(true-是,false-否)
|
||
ShowOnBanner *bool `json:"showOnBanner"`
|
||
Banner *string `json:"banner"`
|
||
ThemeIds *[]int64 `json:"themeIds"`
|
||
CategoryIds *[]int64 `json:"categoryIds"` // 分类ID集合,可为空;未传categoryBinds时使用
|
||
CategoryBinds *[]PlayletCategoryBind `json:"categoryBinds"` // 分类绑定及排序,优先于categoryIds
|
||
Title *string `json:"title"`
|
||
PlayName *string `json:"playName"` // 剧名
|
||
Slug *string `json:"slug"` // slug,历史数据为空时更新会自动生成
|
||
Desc *string `json:"desc"`
|
||
Anchor *string `json:"anchor"`
|
||
Cover *string `json:"cover"`
|
||
HorizontalCover *string `json:"horizontalCover"` // 横版封面
|
||
Preview *string `json:"preview"`
|
||
TagIds *[]int64 `json:"tagIds"`
|
||
ContentType *playletmod.ContentType `json:"contentType"`
|
||
OperateType *playletmod.OperateType `json:"operateType"` // 运营类型 1-短剧 2-漫剧
|
||
PayType *playletmod.PayType `json:"payType"` // 支付方式 0-免费 1-金币 2-VIP
|
||
SingleCoins *int64 `json:"singleCoins"` // 单集金币(支付方式为1-金币时候生效)
|
||
TotalEpisode *int64 `json:"totalEpisode"`
|
||
TopRank *int64 `json:"topRank"`
|
||
RecommendRank *int64 `json:"recommendRank"`
|
||
IsRecommend *bool `json:"isRecommend"`
|
||
SeoInfo *pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
||
OnlineAt *time.Time `json:"onlineAt"` // 上架时间,新上架时不传则按当前时间
|
||
}
|
||
|
||
// PlayletDelReq web端单/批量删除短剧请求
|
||
type PlayletDelReq struct {
|
||
Ids []int64 `json:"ids"` // 短剧ID集合,传1个表示单条删除,传多个表示批量删除
|
||
}
|
||
|
||
// PlayletPayTypeSetReq web端单/批量设置短剧默认支付方式请求
|
||
type PlayletPayTypeSetReq struct {
|
||
Ids []int64 `json:"ids"` // 短剧ID集合,传1个表示单条设置,传多个表示批量设置
|
||
PayType playletmod.PayType `json:"payType"` // 支付方式 0-免费 1-金币 2-VIP
|
||
SingleCoins *int64 `json:"singleCoins"` // 单集金币(支付方式为1-金币时必填且需>0)
|
||
}
|
||
|
||
// PlayletWatermarkResetReq web端按短剧ID批量重置剧集水印请求
|
||
type PlayletWatermarkResetReq struct {
|
||
Ids []int64 `json:"ids"` // 短剧ID集合,传1个表示单条,传多个表示批量;会重置其下全部剧集水印
|
||
}
|
||
|
||
// PlayletStatusSetReq web端单/批量设置短剧上下架请求
|
||
type PlayletStatusSetReq struct {
|
||
Ids []int64 `json:"ids"` // 短剧ID集合,传1个表示单条设置,传多个表示批量设置
|
||
Status playletmod.Status `json:"status"` // 上架状态 0-下架 1-上架
|
||
OnlineAt *time.Time `json:"onlineAt"` // 上架时间,上架时不传则按当前时间
|
||
}
|
||
|
||
// PlayletOnlineAtFillResp 回填已上架但上架时间为空的短剧
|
||
type PlayletOnlineAtFillResp struct {
|
||
UpdatedCount int64 `json:"updatedCount"` // 本次回填数量
|
||
}
|
||
|
||
// PlayletRecommendSetReq web端单/批量设置短剧推荐请求
|
||
type PlayletRecommendSetReq struct {
|
||
Ids []int64 `json:"ids"` // 短剧ID集合,传1个表示单条设置,传多个表示批量设置
|
||
IsRecommend bool `json:"isRecommend"` // 是否原创(推荐)(true-推荐,false-不推荐)
|
||
}
|
||
|
||
// PlayletFeaturedSetReq web端单/批量设置短剧是否爆剧请求
|
||
type PlayletFeaturedSetReq struct {
|
||
Ids []int64 `json:"ids"` // 短剧ID集合,传1个表示单条设置,传多个表示批量设置
|
||
IsFeatured bool `json:"isFeatured"` // 是否爆剧(true-是,false-否)
|
||
}
|
||
|
||
// PlayletOperateTypeSetReq web端单/批量设置短剧运营类型请求
|
||
type PlayletOperateTypeSetReq struct {
|
||
Ids []int64 `json:"ids"` // 短剧ID集合,传1个表示单条设置,传多个表示批量设置
|
||
OperateType playletmod.OperateType `json:"operateType"` // 运营类型 1-短剧 2-漫剧
|
||
}
|
||
|
||
// PlayletBannerSetReq web端单/批量设置短剧是否显示在首页banner请求
|
||
type PlayletBannerSetReq struct {
|
||
Ids []int64 `json:"ids"` // 短剧ID集合,传1个表示单条设置,传多个表示批量设置
|
||
ShowOnBanner bool `json:"showOnBanner"` // 是否显示在首页banner(true-显示,false-不显示)
|
||
}
|
||
|
||
// PlayletThemeSetReq web端单/批量设置短剧题材请求
|
||
type PlayletThemeSetReq struct {
|
||
Ids []int64 `json:"ids"` // 短剧ID集合,传1个表示单条设置,传多个表示批量设置
|
||
ThemeIds []int64 `json:"themeIds"` // 题材ID集合,可设置多个题材
|
||
}
|
||
|
||
// PlayletTagSetReq web端单/批量设置短剧标签请求
|
||
type PlayletTagSetReq struct {
|
||
Ids []int64 `json:"ids"` // 短剧ID集合,传1个表示单条设置,传多个表示批量设置
|
||
TagIds *[]int64 `json:"tagIds"` // 标签ID集合,可设置多个标签,传空数组表示清空标签,不传表示参数错误
|
||
}
|
||
|
||
// PlayletCategorySetReq web端单/批量设置短剧分类请求
|
||
type PlayletCategorySetReq struct {
|
||
Ids []int64 `json:"ids"` // 短剧ID集合,传1个表示单条设置,传多个表示批量设置
|
||
CategoryIds *[]int64 `json:"categoryIds"` // 分类ID集合,未传categoryBinds时使用,传空数组表示清空分类
|
||
CategoryBinds *[]PlayletCategoryBind `json:"categoryBinds"` // 分类绑定及排序,优先于categoryIds,传空数组表示清空分类
|
||
}
|
||
|
||
// PlayletVirtualLikeSetReq web端单/批量设置短剧虚拟点赞数请求
|
||
type PlayletVirtualLikeSetReq struct {
|
||
Ids []int64 `json:"ids"` // 短剧ID集合,传1个表示单条设置,传多个表示批量设置
|
||
MinVirtualCountLike int64 `json:"minVirtualCountLike"` // 虚拟点赞数最小值,必须大于等于0
|
||
MaxVirtualCountLike int64 `json:"maxVirtualCountLike"` // 虚拟点赞数最大值,必须大于等于最小值
|
||
}
|
||
|
||
// PlayletThemeListReq web端题材分页列表请求
|
||
type PlayletThemeListReq struct {
|
||
pubdef.Page
|
||
Id *int64 `form:"id" json:"id"`
|
||
Name string `form:"name" json:"name"`
|
||
Slug string `form:"slug" json:"slug"` // slug,精确匹配
|
||
Status *bool `form:"status" json:"status"`
|
||
IsRecommend *bool `form:"isRecommend" json:"isRecommend"` // 是否推荐
|
||
}
|
||
|
||
// PlayletThemeListResp web端题材列表项
|
||
type PlayletThemeListResp struct {
|
||
Id int64 `json:"id"`
|
||
Name string `json:"name"`
|
||
Slug string `json:"slug"` // slug
|
||
Icon string `json:"icon"`
|
||
Status bool `json:"status"`
|
||
IsRecommend bool `json:"isRecommend"` // 是否推荐
|
||
Rank int64 `json:"rank"`
|
||
SeoInfo pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
||
CreatedAt time.Time `json:"createdAt"`
|
||
UpdatedAt time.Time `json:"updatedAt"`
|
||
}
|
||
|
||
// PlayletThemeListPageResp web端题材分页列表响应
|
||
type PlayletThemeListPageResp struct {
|
||
response.BasePageResp
|
||
}
|
||
|
||
// PlayletThemeAddReq web端新增题材请求
|
||
type PlayletThemeAddReq struct {
|
||
Name string `json:"name" binding:"required"`
|
||
Slug string `json:"slug"` // slug,不传则按 SEO 关键词或名称自动生成
|
||
Icon string `json:"icon"`
|
||
Status bool `json:"status"`
|
||
IsRecommend bool `json:"isRecommend"` // 是否推荐
|
||
Rank int64 `json:"rank"`
|
||
SeoInfo pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
||
}
|
||
|
||
// PlayletThemeAddResp web端新增题材响应
|
||
type PlayletThemeAddResp struct {
|
||
Id int64 `json:"id"`
|
||
}
|
||
|
||
// PlayletThemeUpdateReq web端更新题材请求
|
||
type PlayletThemeUpdateReq struct {
|
||
Id int64 `json:"id" binding:"required"`
|
||
Name *string `json:"name"`
|
||
Slug *string `json:"slug"` // slug,历史数据为空时更新会自动生成
|
||
Icon *string `json:"icon"`
|
||
Status *bool `json:"status"`
|
||
IsRecommend *bool `json:"isRecommend"` // 是否推荐
|
||
Rank *int64 `json:"rank"`
|
||
SeoInfo *pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
||
}
|
||
|
||
// PlayletThemeDelReq web端删除题材请求
|
||
type PlayletThemeDelReq struct {
|
||
Id int64 `json:"id" binding:"required"`
|
||
}
|
||
|
||
// PlayletThemeRecommendSetReq web端单/批量设置题材是否推荐请求
|
||
type PlayletThemeRecommendSetReq struct {
|
||
Ids []int64 `json:"ids"` // 题材ID集合,传1个表示单条设置,传多个表示批量设置
|
||
IsRecommend bool `json:"isRecommend"` // 是否推荐(true-推荐,false-取消推荐)
|
||
}
|
||
|
||
// PlayletTagListReq web端标签分页列表请求
|
||
type PlayletTagListReq struct {
|
||
pubdef.Page
|
||
Id *int64 `form:"id" json:"id"`
|
||
Name string `form:"name" json:"name"`
|
||
Slug string `form:"slug" json:"slug"` // slug,精确匹配
|
||
Status *bool `form:"status" json:"status"`
|
||
}
|
||
|
||
// PlayletTagListResp web端标签列表项
|
||
type PlayletTagListResp struct {
|
||
Id int64 `json:"id"`
|
||
Name string `json:"name"`
|
||
Slug string `json:"slug"` // slug
|
||
Status bool `json:"status"`
|
||
Rank int64 `json:"rank"`
|
||
SeoInfo pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
||
CreatedAt time.Time `json:"createdAt"`
|
||
UpdatedAt time.Time `json:"updatedAt"`
|
||
}
|
||
|
||
// PlayletTagListPageResp web端标签分页列表响应
|
||
type PlayletTagListPageResp struct {
|
||
response.BasePageResp
|
||
}
|
||
|
||
// PlayletTagAddReq web端新增标签请求
|
||
type PlayletTagAddReq struct {
|
||
Name string `json:"name" binding:"required"`
|
||
Slug string `json:"slug"` // slug,不传则按 SEO 关键词或名称自动生成
|
||
Status bool `json:"status"`
|
||
Rank int64 `json:"rank"`
|
||
SeoInfo pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
||
}
|
||
|
||
// PlayletTagAddResp web端新增标签响应
|
||
type PlayletTagAddResp struct {
|
||
Id int64 `json:"id"`
|
||
}
|
||
|
||
// PlayletTagUpdateReq web端更新标签请求
|
||
type PlayletTagUpdateReq struct {
|
||
Id int64 `json:"id" binding:"required"`
|
||
Name *string `json:"name"`
|
||
Slug *string `json:"slug"` // slug,历史数据为空时更新会自动生成
|
||
Status *bool `json:"status"`
|
||
Rank *int64 `json:"rank"`
|
||
SeoInfo *pubdef.SeoValue `json:"seoInfo"` // Seo相关信息
|
||
}
|
||
|
||
// PlayletTagDelReq web端删除标签请求
|
||
type PlayletTagDelReq struct {
|
||
Id int64 `json:"id" binding:"required"`
|
||
}
|
||
|
||
// PlayletChapterListReq web端章节分页列表请求
|
||
type PlayletChapterListReq struct {
|
||
pubdef.Page
|
||
PlayletId *int64 `form:"playletId" json:"playletId"`
|
||
Id *int64 `form:"id" json:"id"`
|
||
WatermarkStatus *playletchaptermod.WatermarkStatus `form:"watermarkStatus" json:"watermarkStatus"`
|
||
}
|
||
|
||
// PlayletChapterListResp web端章节列表项
|
||
type PlayletChapterListResp struct {
|
||
Id int64 `json:"id"`
|
||
PlayletId int64 `json:"playletId"`
|
||
MediaContentId uint `json:"mediaContentId"`
|
||
CurrentEpisode int64 `json:"currentEpisode"`
|
||
Title string `json:"title"`
|
||
Md5 string `json:"md5"`
|
||
Hash string `json:"hash"`
|
||
Height int64 `json:"height"`
|
||
Width int64 `json:"width"`
|
||
Ratio float64 `json:"ratio"`
|
||
VideoUrl string `json:"videoUrl"` // 原片视频地址
|
||
WatermarkVideoUrl string `json:"watermarkVideoUrl"` // 加水印后的视频地址
|
||
MediaSize int64 `json:"mediaSize"`
|
||
MediaTime int64 `json:"mediaTime"`
|
||
CountComment int64 `json:"countComment"`
|
||
CountBuy int64 `json:"countBuy"`
|
||
CountBrowse int64 `json:"countBrowse"`
|
||
CountCollect int64 `json:"countCollect"`
|
||
CountLike int64 `json:"countLike"`
|
||
CountDisLike int64 `json:"countDisLike"`
|
||
PayType playletchaptermod.PayType `json:"payType"`
|
||
SingleCoins int64 `json:"singleCoins"`
|
||
WatermarkStatus playletchaptermod.WatermarkStatus `json:"watermarkStatus"`
|
||
MediaSourceId string `json:"mediaSourceId"`
|
||
MediaTaskId string `json:"mediaTaskId"`
|
||
CreatedAt time.Time `json:"createdAt"`
|
||
UpdatedAt time.Time `json:"updatedAt"`
|
||
}
|
||
|
||
// PlayletChapterListPageResp web端章节分页列表响应
|
||
type PlayletChapterListPageResp struct {
|
||
response.BasePageResp
|
||
}
|
||
|
||
// PlayletChapterAddReq web端新增章节请求
|
||
type PlayletChapterAddReq struct {
|
||
PlayletId int64 `json:"playletId" binding:"required"`
|
||
CurrentEpisode int64 `json:"currentEpisode" binding:"required"`
|
||
Title string `json:"title"`
|
||
Md5 string `json:"md5"`
|
||
Hash string `json:"hash"`
|
||
Height int64 `json:"height"`
|
||
Width int64 `json:"width"`
|
||
Ratio float64 `json:"ratio"`
|
||
VideoUrl string `json:"videoUrl"`
|
||
MediaSize int64 `json:"mediaSize"`
|
||
MediaTime int64 `json:"mediaTime"`
|
||
PayType playletchaptermod.PayType `json:"payType"`
|
||
SingleCoins int64 `json:"singleCoins"`
|
||
MediaSourceId string `json:"mediaSourceId"`
|
||
}
|
||
|
||
// PlayletChapterAddResp web端新增章节响应
|
||
type PlayletChapterAddResp struct {
|
||
Id int64 `json:"id"`
|
||
}
|
||
|
||
// PlayletChapterUpdateReq web端更新章节请求
|
||
type PlayletChapterUpdateReq struct {
|
||
Id int64 `json:"id" binding:"required"`
|
||
CurrentEpisode *int64 `json:"currentEpisode"`
|
||
Title *string `json:"title"`
|
||
Md5 *string `json:"md5"`
|
||
Hash *string `json:"hash"`
|
||
Height *int64 `json:"height"`
|
||
Width *int64 `json:"width"`
|
||
Ratio *float64 `json:"ratio"`
|
||
VideoUrl *string `json:"videoUrl"`
|
||
MediaSize *int64 `json:"mediaSize"`
|
||
MediaTime *int64 `json:"mediaTime"`
|
||
PayType *playletchaptermod.PayType `json:"payType"`
|
||
SingleCoins *int64 `json:"singleCoins"`
|
||
}
|
||
|
||
// PlayletChapterPayTypeSetReq web端单/批量设置章节支付方式请求
|
||
type PlayletChapterPayTypeSetReq struct {
|
||
Ids []int64 `json:"ids"` // 章节ID集合,传1个表示单条设置,传多个表示批量设置
|
||
PayType playletchaptermod.PayType `json:"payType"` // 支付方式 0-免费 1-金币 2-VIP
|
||
SingleCoins *int64 `json:"singleCoins"` // 单集金币(支付方式为1-金币时必填且需>0)
|
||
}
|
||
|
||
// PlayletChapterDelReq web端单/批量删除章节请求
|
||
type PlayletChapterDelReq struct {
|
||
Ids []int64 `json:"ids"` // 章节ID集合,传1个表示单条删除,传多个表示批量删除
|
||
}
|
||
|
||
// PlayletChapterSyncReq web端手动同步短剧剧集请求
|
||
type PlayletChapterSyncReq struct {
|
||
PlayletIds []int64 `json:"playletIds" binding:"required"` // 短剧ID集合,传1个表示单条同步,传多个表示批量同步
|
||
}
|
||
|
||
// PlayletChapterSyncResult web端手动同步短剧剧集结果项
|
||
type PlayletChapterSyncResult struct {
|
||
PlayletId int64 `json:"playletId"` // 短剧ID
|
||
NewChapterCount int `json:"newChapterCount"` // 本次新增剧集数量
|
||
Success bool `json:"success"` // 是否同步成功
|
||
Reason string `json:"reason"` // 失败原因
|
||
}
|
||
|
||
// PlayletChapterSyncResp web端手动同步短剧剧集响应
|
||
type PlayletChapterSyncResp struct {
|
||
Total int `json:"total"` // 同步总数
|
||
SuccessCount int `json:"successCount"` // 成功数量
|
||
FailedCount int `json:"failedCount"` // 失败数量
|
||
List []*PlayletChapterSyncResult `json:"list"` // 同步结果集合
|
||
}
|
||
|
||
// PlayletSlugSyncReq web端同步历史空 slug 请求
|
||
type PlayletSlugSyncReq struct {
|
||
MaxSize int64 `json:"maxSize"` // 本次最多处理的空 slug 记录数,默认500,最大2000
|
||
}
|
||
|
||
// PlayletSlugSyncResp web端同步历史空 slug 响应
|
||
type PlayletSlugSyncResp struct {
|
||
ThemeUpdated int64 `json:"themeUpdated"` // 本次补齐的题材数
|
||
TagUpdated int64 `json:"tagUpdated"` // 本次补齐的标签数
|
||
PlayletUpdated int64 `json:"playletUpdated"` // 本次补齐的短剧数
|
||
HomeConfigUpdated int64 `json:"homeConfigUpdated"` // 本次补齐的首页配置数
|
||
HasMore bool `json:"hasMore"` // 是否还有未处理的历史数据
|
||
}
|
||
|
||
// PlayletSalesSortType 销售数据排序,均为降序
|
||
type PlayletSalesSortType int
|
||
|
||
const (
|
||
PlayletSalesSortUnlock PlayletSalesSortType = 0 // 金币解锁次数
|
||
PlayletSalesSortLike PlayletSalesSortType = 1 // 点赞数
|
||
PlayletSalesSortCollect PlayletSalesSortType = 2 // 收藏数
|
||
)
|
||
|
||
// PlayletSalesReq 短剧销售数据列表请求。起止时间均为北京时间,都不传时默认昨天。
|
||
type PlayletSalesReq struct {
|
||
Id *int64 `form:"id" json:"id"` // 短剧ID
|
||
Title string `form:"title" json:"title"` // 标题模糊匹配
|
||
StartTime string `form:"startTime" json:"startTime"` // 开始时间:2006-01-02 / 2006-01-02 15:04:05 / RFC3339
|
||
EndTime string `form:"endTime" json:"endTime"` // 结束时间:2006-01-02 / 2006-01-02 15:04:05 / RFC3339
|
||
SortType PlayletSalesSortType `form:"sortType" json:"sortType"` // 排序:0金币解锁次数 1点赞数 2收藏数
|
||
}
|
||
|
||
// PlayletSalesItem 短剧销售数据列表项,指标均为所选时间段内数据。
|
||
type PlayletSalesItem struct {
|
||
Id int64 `json:"id"`
|
||
Title string `json:"title"`
|
||
PlayName string `json:"playName"`
|
||
Cover string `json:"cover"`
|
||
Slug string `json:"slug"`
|
||
Status playletmod.Status `json:"status"`
|
||
UnlockCount int64 `json:"unlockCount"` // 金币解锁次数
|
||
UnlockCoins int64 `json:"unlockCoins"` // 金币解锁消耗
|
||
LikeCount int64 `json:"likeCount"` // 期间新增且当前仍在的短剧点赞数
|
||
CollectCount int64 `json:"collectCount"` // 期间新增且当前仍在的短剧收藏数
|
||
}
|
||
|
||
// PlayletSalesResp 短剧销售数据列表响应,最多返回 50 条。
|
||
type PlayletSalesResp struct {
|
||
StartTime string `json:"startTime"` // 实际统计开始时间(北京时间)
|
||
EndTime string `json:"endTime"` // 实际统计结束时间(北京时间)
|
||
List []*PlayletSalesItem `json:"list"`
|
||
}
|