init: web_hgcg_server 初始化提交
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,697 @@
|
||||
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"` // 最后操作人名称
|
||||
MediaSource *string `form:"mediaSource" json:"mediaSource"` // 媒资来源:不传查全部;空字符串查普通媒资;hg 查黄果媒资
|
||||
SortType PlayletListSortType `form:"sortType" json:"sortType"` // 排序:0创建时间(默认) 1推荐排序(按分类查询时为该分类排序) 2修改时间 3点赞数 4浏览数 5收藏数 6上架时间,均为降序
|
||||
}
|
||||
|
||||
// PlayletListResp web端短剧列表项
|
||||
type PlayletListResp struct {
|
||||
Id int64 `json:"id"`
|
||||
MediaSource string `json:"mediaSource"` // 媒资来源,空为普通媒资,hg 为黄果媒资
|
||||
Status playletmod.Status `json:"status"`
|
||||
IsFeatured bool `json:"isFeatured"` // 是否爆剧(true-是,false-否)
|
||||
IsOriginal bool `json:"isOriginal"` // 是否原创
|
||||
MediaBusiness string `json:"mediaBusiness"` // 媒资业务来源,按媒资标题前缀记录,如 CGDJ;空表示未标记
|
||||
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"`
|
||||
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"`
|
||||
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"`
|
||||
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"`
|
||||
Status *playletchaptermod.Status `form:"status" json:"status"` // 上架状态 0-下架 1-上架
|
||||
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"`
|
||||
Status playletchaptermod.Status `json:"status"` // 上架状态 0-下架 1-上架
|
||||
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"`
|
||||
Status *playletchaptermod.Status `json:"status"` // 上架状态,不传按媒资来源默认
|
||||
}
|
||||
|
||||
// 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"`
|
||||
Status *playletchaptermod.Status `json:"status"` // 上架状态 0-下架 1-上架
|
||||
}
|
||||
|
||||
// PlayletChapterStatusFillResp 回填历史剧集上架状态响应
|
||||
type PlayletChapterStatusFillResp struct {
|
||||
UpdatedCount int64 `json:"updatedCount"` // 本次回填数量
|
||||
}
|
||||
|
||||
// PlayletChapterStatusSetReq web端单/批量设置章节上架状态请求
|
||||
type PlayletChapterStatusSetReq struct {
|
||||
Ids []int64 `json:"ids"` // 章节ID集合,传1个表示单条设置,传多个表示批量设置
|
||||
Status playletchaptermod.Status `json:"status"` // 上架状态 0-下架 1-上架
|
||||
}
|
||||
|
||||
// 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"`
|
||||
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"`
|
||||
}
|
||||
Reference in New Issue
Block a user