package officialWebsitectrl import ( "91porn-server/app/service/officialWebsiteser" "91porn-server/common" "91porn-server/common/cachev2" "91porn-server/common/constant/redisconst" "91porn-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() }