146 lines
4.7 KiB
Go
146 lines
4.7 KiB
Go
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)
|
|
}
|