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(), }) }