@@ -0,0 +1,145 @@
|
||||
package recommctrl
|
||||
|
||||
import (
|
||||
"91porn-server/app/service/m3u8ticket"
|
||||
"91porn-server/app/service/recommser"
|
||||
"91porn-server/common"
|
||||
"91porn-server/common/log"
|
||||
"91porn-server/common/stderr"
|
||||
"91porn-server/middleware/requestid"
|
||||
"91porn-server/models/commod"
|
||||
"91porn-server/models/v/recmdtag"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
// GetVidList doc
|
||||
// @Summary 获取短视频推荐列表
|
||||
// @Description 获取推荐视频
|
||||
// @Tags recommend
|
||||
// @Accept mpfd,json
|
||||
// @Produce json,html
|
||||
// @Param pageSize formData integer true "页码大小"
|
||||
// @Param X-Request-ID header string false "重试幂等ID;同一次请求重试保持不变"
|
||||
// @Success 200 {object} recommod.VideoListResp
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /api/recommend/vid/list [get]
|
||||
func GetVidList(ctx *gin.Context) {
|
||||
uid, _ := common.GetUID(ctx)
|
||||
|
||||
type Param struct {
|
||||
PageSize uint64 `json:"pageSize" form:"pageSize" binding:"required,min=1,max=100"` // 每页条数
|
||||
}
|
||||
param := Param{}
|
||||
if err := ctx.ShouldBind(¶m); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, nil)
|
||||
return
|
||||
}
|
||||
if param.PageSize < 1 {
|
||||
param.PageSize = 10
|
||||
}
|
||||
|
||||
requestID, _ := requestid.FromClient(ctx)
|
||||
code, data := recommser.GetVidListContext(
|
||||
ctx.Request.Context(),
|
||||
uid,
|
||||
param.PageSize,
|
||||
requestID,
|
||||
)
|
||||
// 推荐视频列表:对 m3u8 播放地址签票
|
||||
m3u8ticket.Sign(ctx, data)
|
||||
common.ServeJSON(ctx, code, data)
|
||||
}
|
||||
|
||||
// GetUserList doc
|
||||
// @Summary 获取主播推荐列表
|
||||
// @Description 获取主播荐视频
|
||||
// @Tags recommend
|
||||
// @Accept mpfd,json
|
||||
// @Produce json,html
|
||||
// @Param pageNumber formData integer true "查询页码"
|
||||
// @Param pageSize formData integer true "页码大小"
|
||||
// @Success 200 {string} json "{"msg": "操作成功"}"
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /api/recommend/user/list [get]
|
||||
func GetUserList(ctx *gin.Context) {
|
||||
//uid用来做用户行为分析,暂时没用
|
||||
uid, _ := common.GetUID(ctx)
|
||||
param := commod.Page{}
|
||||
if err := ctx.ShouldBind(¶m); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, nil)
|
||||
return
|
||||
}
|
||||
if param.PageSize < 1 {
|
||||
param.PageSize = 10
|
||||
}
|
||||
code, data := recommser.GetUserList(uid, param.PageNumber, param.PageSize)
|
||||
common.ServeJSON(ctx, code, data)
|
||||
}
|
||||
|
||||
// GetLightVidList doc
|
||||
// @Summary 获取轻量视频推荐列表
|
||||
// @Description 获取轻量推荐视频
|
||||
// @Tags recommend
|
||||
// @Accept mpfd,json
|
||||
// @Produce json,html
|
||||
// @Success 200 {object} proto.LightVideoRes
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /api/recommend/vid/lightlist [get]
|
||||
func GetLightVidList(ctx *gin.Context) {
|
||||
param := commod.Page{}
|
||||
if err := ctx.ShouldBind(¶m); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, nil)
|
||||
return
|
||||
}
|
||||
if param.PageSize < 1 {
|
||||
param.PageSize = 10
|
||||
}
|
||||
code, data := recommser.GetLightVidList(ctx.ClientIP())
|
||||
common.ServeJSON(ctx, code, data)
|
||||
}
|
||||
|
||||
// GetVidAd doc
|
||||
// @Summary 获取视频插播广告
|
||||
// @Description 获取视频插播广告
|
||||
// @Tags recommend
|
||||
// @Accept mpfd,json
|
||||
// @Produce json,html
|
||||
// @Param pageSize formData integer true "页码大小"
|
||||
// @Success 200 {string} json "{"msg": "操作成功"}"
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /api/recommend/GetVidAd/list [get]
|
||||
func GetVidAd(ctx *gin.Context) {
|
||||
uid, _ := common.GetUID(ctx)
|
||||
data := recommser.GetAd(uid)
|
||||
common.ServeJSON(ctx, stderr.Success, data)
|
||||
}
|
||||
|
||||
// GetShortDiscoverList doc
|
||||
// @Summary 获取抖音短视频视频列表
|
||||
// @Description 获取抖音短视频列表(第一页存在发现tag列表)
|
||||
// @Tags recommend
|
||||
// @Accept json
|
||||
// @Produce json,html
|
||||
// @Param type query recmdtag.AppGetShortDiscoverListReq true "请求参数"
|
||||
// @Success 200 {object} recmdtag.AppGetShortDiscoverListRep "{}"
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /api/app/recommend/vid/list/discover [get]
|
||||
func GetShortDiscoverList(ctx *gin.Context) {
|
||||
uid, err := common.GetUID(ctx)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, nil)
|
||||
return
|
||||
}
|
||||
param := &recmdtag.AppGetShortDiscoverListReq{}
|
||||
if err = ctx.ShouldBind(¶m); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, nil)
|
||||
return
|
||||
}
|
||||
resp, code, err := recommser.GetShortDiscoverList(uid, param)
|
||||
if err != nil {
|
||||
log.Error("GetShortVideoList error:", log.E(err))
|
||||
}
|
||||
m3u8ticket.Sign(ctx, resp)
|
||||
common.ServeJSON(ctx, code, resp)
|
||||
}
|
||||
Reference in New Issue
Block a user