Files
hgmj_server/app/api/officialWebsitectrl/video.go
T
2026-10-08 16:50:13 +08:00

71 lines
1.8 KiB
Go

package officialWebsitectrl
import (
"91jd-server/app/service/officialWebsiteser"
"91jd-server/common"
"91jd-server/common/cachev2"
"91jd-server/common/constant/redisconst"
"91jd-server/common/stderr"
"fmt"
"strings"
"github.com/gin-gonic/gin"
)
func VideoList(ctx *gin.Context) {
req := &officialWebsiteser.VideoListReq{}
if err := ctx.ShouldBindQuery(req); err != nil {
common.ServeJSON(ctx, stderr.ErrParamError, err.Error())
return
}
var data officialWebsiteser.VideoListResp
_, err := cachev2.Classes().
CacheTime(redisconst.OfficialWebsiteVideoListCacheExpire).
AutoListKey(fmt.Sprintf(redisconst.OfficialWebsiteVideoListCacheKey, req.Type, req.ID, req.Sort, req.PageNumber, req.PageSize)).
ResBind(&data).Cache(officialWebsiteser.VideoList, req)
if err != nil {
common.ServeJSON(ctx, stderr.ErrDbQueryError, err.Error())
return
}
common.ServeJSON(ctx, stderr.Success, data)
}
func VideoDetail(ctx *gin.Context) {
req := &officialWebsiteser.VideoDetailReq{}
if err := ctx.ShouldBindUri(req); err != nil {
common.ServeJSON(ctx, stderr.ErrParamError, err.Error())
return
}
data, err := officialWebsiteser.VideoDetail(req)
if err != nil {
common.ServeJSON(ctx, stderr.ErrDbQueryError, err.Error())
return
}
common.ServeJSON(ctx, stderr.Success, data)
}
func VideoCheck(ctx *gin.Context) {
source := ctx.Param("source")
if source == "" {
common.ServeJSON(ctx, stderr.ErrParamError, "")
ctx.Abort()
}
id := ctx.Param("id")
var req = &officialWebsiteser.VideoDetailReq{ID: id}
data, err := officialWebsiteser.VideoDetail(req)
if err != nil {
common.ServeJSON(ctx, stderr.ErrDbQueryError, err.Error())
ctx.Abort()
}
if data.ID == "" {
common.ServeJSON(ctx, stderr.ErrParamError, "")
ctx.Abort()
}
if !strings.Contains(source, data.Url) {
common.ServeJSON(ctx, stderr.ErrParamError, "")
ctx.Abort()
}
ctx.Next()
}