Files
rootandClaude Opus 5 8679200f41 Initial commit
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 13:57:10 +08:00

63 lines
2.0 KiB
Go

package wonderctrl
import (
"91porn-server/app/service/searcher"
"91porn-server/app/service/searcher/vidtagsearcher"
"91porn-server/common"
"91porn-server/common/stderr"
"91porn-server/models/commod"
"github.com/gin-gonic/gin"
"go.mongodb.org/mongo-driver/bson/primitive"
)
// VidList doc
// @Summary 精彩标签视屏 - 精彩标签视频
// @Description 获取精彩标签视屏列表
// @Tags Wonder
// @Accept mpfd,json
// @Produce json,html
// @Param tagID formData string true "标签ID"
// @Param pageNumber formData int true "当前页"
// @Param pageSize formData int true "每页条数"
// @Success 200 {string} json "{"msg": "操作成功", "data":[{"name":"xx"},{"name":"yy"}]}"
// @Failure 400 {string} json "{"msg": "操作失败"}"
// @Router /wonder/vid/list [post]
func VidList(ctx *gin.Context) {
var arg struct {
TagID string `form:"tagID" json:"tagID" binding:"required"`
commod.Page
}
if err := ctx.ShouldBind(&arg); err != nil {
common.ServeJSON(ctx, stderr.ErrParamError, "search ThemeVids arg error "+err.Error())
return
}
tagID, err := primitive.ObjectIDFromHex(arg.TagID)
if err != nil {
common.ServeJSON(ctx, stderr.ErrParamError, "search ThemeVids arg.TagId error: "+err.Error())
return
}
// 检查uid是否存在
uid, err := common.GetUID(ctx)
if err != nil {
common.ServeJSON(ctx, stderr.ErrAccessForbid, "search List Context USER_ID is not exist ")
ctx.Abort()
return
}
var keyword = &searcher.ObjID{ID: tagID}
opt := &searcher.Option{}
opt.SetSkip(int64((arg.PageNumber - 1) * (arg.PageSize)))
opt.SetLimit(int64(arg.PageSize))
opt.SetSort("wonderSortCode", -1)
opt.SetSort("tPlayCount", -1)
result, err := vidtagsearcher.NewVidTagSearcher(uid).Search(keyword, opt)
if err != nil {
common.ServeJSON(ctx, stderr.Failure, err)
return
}
common.ServeJSON(ctx, stderr.Success, gin.H{
"list": result.Data(),
"hasNext": result.HasNext(),
})
}