Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
164 lines
5.5 KiB
Go
164 lines
5.5 KiB
Go
package web_mediaresource
|
|
|
|
import (
|
|
"videoweb/pub/common"
|
|
"videoweb/pub/common/log"
|
|
"videoweb/pub/common/srvdef"
|
|
"videoweb/web/api/proto"
|
|
"videoweb/web/service/srv_mediaresource"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// ResourceList web端短剧媒资列表
|
|
// @Tags web媒资库相关接口
|
|
// @Summary web端短剧媒资列表 -- by 王鸣
|
|
// @Description 分页查询短剧媒资列表
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Param params query proto.PlayletResourceListReq true "短剧媒资列表请求"
|
|
// @Success 200 {object} proto.PlayletResourceListResp "成功"
|
|
// @Failure 400 {string} string "失败"
|
|
// @Security ApiKeyAuth
|
|
// @Router /api/web/resource/list [get]
|
|
func ResourceList(ctx *gin.Context) {
|
|
var req proto.PlayletResourceListReq
|
|
if err := ctx.ShouldBindQuery(&req); err != nil {
|
|
common.ServerJSON(ctx, srvdef.ErrParamError, nil)
|
|
return
|
|
}
|
|
resp, err := srv_mediaresource.ListPlayletResource(ctx, &req)
|
|
if err != nil {
|
|
common.ServerJSON(ctx, err.Code, err.Tips)
|
|
return
|
|
}
|
|
common.ServerJSON(ctx, srvdef.Success, resp)
|
|
}
|
|
|
|
// ResourceJHList web端嘉华短剧媒资列表
|
|
// @Tags web媒资库相关接口
|
|
// @Summary web端嘉华短剧媒资列表 -- by 王鸣
|
|
// @Description 嘉华短剧媒资列表,固定查询 media_type=5,回填是否已入库,支持按 isAdd 筛选
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Param params query proto.PlayletResourceJHListReq true "嘉华短剧媒资列表请求"
|
|
// @Success 200 {object} proto.PlayletResourceJHListResp "成功"
|
|
// @Failure 400 {string} string "失败"
|
|
// @Security ApiKeyAuth
|
|
// @Router /api/web/resource/jh/list [get]
|
|
func ResourceJHList(ctx *gin.Context) {
|
|
var req proto.PlayletResourceJHListReq
|
|
if err := ctx.ShouldBindQuery(&req); err != nil {
|
|
common.ServerJSON(ctx, srvdef.ErrParamError, nil)
|
|
return
|
|
}
|
|
resp, err := srv_mediaresource.ListPlayletJHResource(ctx, &req)
|
|
if err != nil {
|
|
common.ServerJSON(ctx, err.Code, err.Tips)
|
|
return
|
|
}
|
|
common.ServerJSON(ctx, srvdef.Success, resp)
|
|
}
|
|
|
|
// ResourceJHImport web端嘉华短剧媒资入库
|
|
// @Tags web媒资库相关接口
|
|
// @Summary web端嘉华短剧媒资入库 -- by 王鸣
|
|
// @Description 提交嘉华短剧媒资入库任务
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Param params body proto.PlayletResourceUseReq true "嘉华短剧媒资入库请求"
|
|
// @Success 200 {string} string "成功"
|
|
// @Failure 400 {string} string "失败"
|
|
// @Security ApiKeyAuth
|
|
// @Router /api/web/resource/jh/import [post]
|
|
func ResourceJHImport(ctx *gin.Context) {
|
|
var req proto.PlayletResourceUseReq
|
|
if err := ctx.ShouldBindJSON(&req); err != nil {
|
|
log.Error("嘉华短剧媒资入库参数绑定失败", log.E(err))
|
|
common.ServerJSON(ctx, srvdef.ErrParamError, nil)
|
|
return
|
|
}
|
|
resp, err := srv_mediaresource.ImportPlayletJHResource(ctx, &req)
|
|
if err != nil {
|
|
common.ServerJSON(ctx, err, "")
|
|
return
|
|
}
|
|
common.ServerJSON(ctx, srvdef.Success, resp)
|
|
}
|
|
|
|
// ResourceJHChapters web端嘉华短剧媒资剧集列表
|
|
// @Tags web媒资库相关接口
|
|
// @Summary web端嘉华短剧媒资剧集列表 -- by 王鸣
|
|
// @Description 按媒资ID查询嘉华短剧剧集信息
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Param id query int true "媒资中心资源ID"
|
|
// @Success 200 {object} proto.PlayletResourceChapterListResp "成功"
|
|
// @Failure 400 {string} string "失败"
|
|
// @Security ApiKeyAuth
|
|
// @Router /api/web/resource/jh/chapters [get]
|
|
func ResourceJHChapters(ctx *gin.Context) {
|
|
var req proto.PlayletResourceChapterListReq
|
|
if err := ctx.ShouldBindQuery(&req); err != nil {
|
|
common.ServerJSON(ctx, srvdef.ErrParamError, nil)
|
|
return
|
|
}
|
|
resp, err := srv_mediaresource.ListPlayletJHResourceChapters(ctx, &req)
|
|
if err != nil {
|
|
common.ServerJSON(ctx, err.Code, err.Tips)
|
|
return
|
|
}
|
|
common.ServerJSON(ctx, srvdef.Success, resp)
|
|
}
|
|
|
|
// ResourceImport web端短剧媒资入库
|
|
// @Tags web媒资库相关接口
|
|
// @Summary web端短剧媒资入库 -- by 王鸣
|
|
// @Description 提交媒资入库任务,后台从媒资中心同步短剧详情并写入短剧和章节集合
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Param params body proto.PlayletResourceUseReq true "短剧媒资入库请求"
|
|
// @Success 200 {string} string "成功"
|
|
// @Failure 400 {string} string "失败"
|
|
// @Security ApiKeyAuth
|
|
// @Router /api/web/resource/import [post]
|
|
func ResourceImport(ctx *gin.Context) {
|
|
var req proto.PlayletResourceUseReq
|
|
if err := ctx.ShouldBindJSON(&req); err != nil {
|
|
log.Error("短剧媒资入库参数绑定失败", log.E(err))
|
|
common.ServerJSON(ctx, srvdef.ErrParamError, nil)
|
|
return
|
|
}
|
|
resp, err := srv_mediaresource.ImportPlayletResource(ctx, &req)
|
|
if err != nil {
|
|
common.ServerJSON(ctx, err, "")
|
|
return
|
|
}
|
|
common.ServerJSON(ctx, srvdef.Success, resp)
|
|
}
|
|
|
|
// ResourceChapters web端短剧媒资剧集列表
|
|
// @Tags web媒资库相关接口
|
|
// @Summary web端短剧媒资剧集列表 -- by 王鸣
|
|
// @Description 按媒资ID查询剧集信息,复用入库时的 mediaSync 接口
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Param id query int true "媒资中心资源ID"
|
|
// @Success 200 {object} proto.PlayletResourceChapterListResp "成功"
|
|
// @Failure 400 {string} string "失败"
|
|
// @Security ApiKeyAuth
|
|
// @Router /api/web/resource/chapters [get]
|
|
func ResourceChapters(ctx *gin.Context) {
|
|
var req proto.PlayletResourceChapterListReq
|
|
if err := ctx.ShouldBindQuery(&req); err != nil {
|
|
common.ServerJSON(ctx, srvdef.ErrParamError, nil)
|
|
return
|
|
}
|
|
resp, err := srv_mediaresource.ListPlayletResourceChapters(ctx, &req)
|
|
if err != nil {
|
|
common.ServerJSON(ctx, err.Code, err.Tips)
|
|
return
|
|
}
|
|
common.ServerJSON(ctx, srvdef.Success, resp)
|
|
}
|