Files
huangguo_server/web/api/laosijictrl/movie.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

98 lines
2.8 KiB
Go

package laosijictrl
import (
"91porn-server/common"
"91porn-server/common/laosiji"
"91porn-server/common/stderr"
"91porn-server/web/service/laosijiser"
"91porn-server/web/service/vidser"
"github.com/gin-gonic/gin"
)
// @Tags 老司机
// @Summary 查询影片列表
// @Description 查询影片列表
// @Accept json
// @Produce json
// @Param param body laosiji.MovieSearchReq true "参数列表"
// @Success 200 {object} laosiji.MovieSearchResp "成功"
// @Failure 400 {string} string "失败"
// @Router /api/web/admin/laosiji/movie/search [POST]
func MovieSearch(ctx *gin.Context) {
param := laosiji.MovieSearchReq{}
if err := ctx.ShouldBind(&param); err != nil {
common.ServeJSON(ctx, stderr.ErrParamError, err.Error())
return
}
resp, err := laosijiser.MovieSearch(ctx, param)
if err != nil {
common.ServeJSON(ctx, stderr.ErrParamError, err.Error())
return
}
common.ServeJSON(ctx, stderr.Success, resp)
}
// @Tags 老司机
// @Summary 查询影片详情
// @Description 查询影片详情
// @Accept json
// @Produce json
// @Param param body laosiji.MovieDetailReq true "参数列表"
// @Success 200 {object} laosiji.MovieDetailResp "成功"
// @Failure 400 {string} string "失败"
// @Router /api/web/admin/laosiji/movie/detail [POST]
func MovieDetail(ctx *gin.Context) {
param := laosiji.MovieDetailReq{}
if err := ctx.ShouldBind(&param); err != nil {
common.ServeJSON(ctx, stderr.ErrParamError, err.Error())
return
}
resp, err := laosijiser.MovieDetail(ctx, param)
if err != nil {
common.ServeJSON(ctx, stderr.ErrParamError, err.Error())
return
}
common.ServeJSON(ctx, stderr.Success, resp)
}
// @Tags 老司机
// @Summary 添加影片到本地
// @Description 添加影片到本地
// @Accept json
// @Produce json
// @Param param body laosiji.MovieAddListReq true "参数列表"
// @Success 200 {string} string "成功"
// @Failure 400 {string} string "失败"
// @Router /api/web/admin/laosiji/movie/add [POST]
func MovieAdd(ctx *gin.Context) {
param := laosiji.MovieAddListReq{}
if err := ctx.ShouldBind(&param); err != nil {
common.ServeJSON(ctx, stderr.ErrParamError, err.Error())
return
}
manager, err := common.GetAdminAct(ctx)
if err != nil {
common.ServeJSON(ctx, stderr.ErrParamError, err.Error())
return
}
hits, err := laosijiser.MovieAddList(ctx, param, manager)
if err != nil {
common.ServeJSON(ctx, stderr.ErrParamError, err.Error())
return
}
common.ServeJSON(ctx, stderr.Success, buildAddResp(hits))
}
// buildAddResp 老司机 *Add 接口统一应答结构:data 中带 sensitiveHits 与提示文案
// hits 为空时也返回,便于前端固定字段读取
func buildAddResp(hits []vidser.SensitiveHit) gin.H {
resp := gin.H{
"sensitiveHits": hits,
}
if len(hits) > 0 {
resp["sensitiveTip"] = vidser.SensitiveForcedOfflineTip
}
return resp
}