158 lines
5.0 KiB
Go
158 lines
5.0 KiB
Go
package hotspotctr
|
|
|
|
import (
|
|
"91porn-server/app/service/rankser"
|
|
"91porn-server/app/service/search"
|
|
"91porn-server/app/service/searcher"
|
|
"91porn-server/app/service/searcher/tonesearcher"
|
|
"91porn-server/app/service/searcher/vidhotsearcher"
|
|
"91porn-server/app/service/tagser"
|
|
"91porn-server/common"
|
|
"91porn-server/common/stderr"
|
|
"91porn-server/models/commod"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// HotTag
|
|
// @Summary 获取用户喜欢标签及标签下对应的视频列表(默认3个视频)
|
|
// @Description 热点,获取用户喜欢标签及标签下对应的视频列表(默认3个视频)
|
|
// @Tags 热点
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Param pageNumber formData integer true "页数"
|
|
// @Param pageSize formData integer true "每页条数"
|
|
// @Success 200 {object} tagser.TagGroupResp "成功"
|
|
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
|
// @Router /api/app/hotspot/htag [get]
|
|
func HotTag(ctx *gin.Context) {
|
|
var arg struct {
|
|
commod.Page
|
|
}
|
|
if err := ctx.ShouldBind(&arg); err != nil {
|
|
common.ServeJSON(ctx, stderr.ErrParamError, "hotspotctr HotTag arg error "+err.Error())
|
|
return
|
|
}
|
|
uid, err := common.GetUID(ctx)
|
|
if err != nil {
|
|
common.ServeJSON(ctx, stderr.ErrNoToken, err)
|
|
return
|
|
}
|
|
param := commod.Page{}
|
|
if err := ctx.ShouldBind(¶m); err != nil {
|
|
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
|
return
|
|
}
|
|
resp := tagser.GetTagsList(uid, param)
|
|
common.ServeJSON(ctx, stderr.Success, resp)
|
|
}
|
|
|
|
// Rank doc
|
|
// @Summary 热点 - rank
|
|
// @Description 获取排行和音色热点
|
|
// @Tags 热点
|
|
// @Accept mpfd,json
|
|
// @Produce json,html
|
|
// @Success 200 {string} json "{"msg": "操作成功" "data":{}}"
|
|
// @Failure 400 {string} json "{"msg": "操作失败" "data":{}}"
|
|
// @Router /api/app/hotspot/rank [get]
|
|
func Rank(ctx *gin.Context) {
|
|
rankMap, err := rankser.GetRankMap()
|
|
if err != nil {
|
|
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
|
return
|
|
}
|
|
common.ServeJSON(ctx, stderr.Success, rankMap)
|
|
}
|
|
|
|
// Tone doc
|
|
// @Summary 热点 - tone
|
|
// @Description 获取排行和音色热点
|
|
// @Tags 热点
|
|
// @Accept mpfd,json
|
|
// @Produce json,html
|
|
// @Success 200 {string} json "{"msg": "操作成功" "data":{}}"
|
|
// @Failure 400 {string} json "{"msg": "操作失败" "data":{}}"
|
|
// @Router /api/app/hotspot/area [get]
|
|
func Area(ctx *gin.Context) {
|
|
res, err := tonesearcher.NewToneSearcher().Search(nil, nil)
|
|
if err != nil {
|
|
common.ServeJSON(ctx, stderr.ErrNetWorkBusy, err)
|
|
return
|
|
}
|
|
common.ServeJSON(ctx, stderr.Success, gin.H{
|
|
"list": res.Data(),
|
|
"hasNext": res.HasNext(),
|
|
})
|
|
}
|
|
|
|
// WonderTagList doc
|
|
// @Summary 热点 - 发现精彩
|
|
// @Description 获取发现精彩标签列表
|
|
// @Tags 热点
|
|
// @Accept mpfd,json
|
|
// @Produce json,html
|
|
// @Param pageNumber query integer true "页码"
|
|
// @Param pageSize query integer true "每页条数"
|
|
// @Success 200 {string} json "{"msg": "操作成功", "data":[]}"
|
|
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
|
// @Router /api/app/hotspot/wonder/list [get]
|
|
func WonderTagList(ctx *gin.Context) {
|
|
var arg struct {
|
|
commod.Page
|
|
}
|
|
if err := ctx.ShouldBind(&arg); err != nil {
|
|
common.ServeJSON(ctx, stderr.ErrParamError, "hotspotctr WonderTagList arg error "+err.Error())
|
|
return
|
|
}
|
|
skip := int64((arg.PageNumber - 1) * arg.PageSize)
|
|
limit := int64(arg.PageSize)
|
|
tags, hasNext, err := search.GetWonderTagList(skip, limit)
|
|
if err != nil {
|
|
common.ServeJSON(ctx, stderr.ErrNetWorkBusy, "hotspotctr WonderTags error: "+err.Error())
|
|
return
|
|
}
|
|
common.ServeJSON(ctx, stderr.Success, gin.H{
|
|
"list": tags,
|
|
"hasNext": hasNext,
|
|
})
|
|
}
|
|
|
|
// HotVidList doc
|
|
// @Summary 热点 - 今日最热视屏
|
|
// @Description 今日最热视屏
|
|
// @Tags 热点
|
|
// @Accept mpfd,json
|
|
// @Produce json,html
|
|
// @Param pageNumber query integer true "页码"
|
|
// @Param pageSize query integer true "每页条数"
|
|
// @Success 200 {string} json "{"msg": "操作成功", "data":{}}"
|
|
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
|
// @Router /api/app/hotspot/hotvid/list [get]
|
|
func HotVidList(ctx *gin.Context) {
|
|
var arg struct {
|
|
commod.Page
|
|
}
|
|
if err := ctx.ShouldBind(&arg); err != nil {
|
|
common.ServeJSON(ctx, stderr.ErrParamError, "hotspotctr HotVidList arg error "+err.Error())
|
|
return
|
|
}
|
|
uid, err := common.GetUID(ctx)
|
|
if err != nil {
|
|
common.ServeJSON(ctx, stderr.ErrNoToken, err)
|
|
return
|
|
}
|
|
opt := (&searcher.Option{}).
|
|
SetSkip(int64((arg.PageNumber - 1) * arg.PageSize)).
|
|
SetLimit(int64(arg.PageSize)) //最热视屏
|
|
res, err := vidhotsearcher.NewVidHotSearcher(uid).Search(nil, opt)
|
|
if err != nil {
|
|
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
|
return
|
|
}
|
|
common.ServeJSON(ctx, stderr.Success, gin.H{
|
|
"list": res.Data(),
|
|
"hasNext": res.HasNext(),
|
|
})
|
|
}
|