package userctrl import ( "91porn-server/common" "91porn-server/common/stderr" "91porn-server/models/v/feedbackmod" "91porn-server/models/v/userResourcemod" "github.com/gin-gonic/gin" "go.mongodb.org/mongo-driver/bson/primitive" ) // FeedBackList doc // @Summary // @Description 用户反馈意见列表 // @Tags web-用户管理 // @Accept mpfd,json // @Produce json,html // @Param uid query integer false "用户ID" // @Param content query string false "查找关键字" // @Param pageNumber query integer true "当前页" // @Param pageSize query integer true "每页条数" // @Success 200 {string} json "{"msg": "操作成功", "date": { "total":10, "list":[] }}" // @Failure 400 {string} json "{"msg": "操作失败"}" // @Router /web/user/feedback/list [get] func FeedbackList(c *gin.Context) { params := feedbackmod.ListParam{} if err := c.ShouldBind(¶ms); err != nil { common.ServeJSON(c, stderr.ErrParamError, err) return } result, err := feedbackmod.FeedBackList(params) if err != nil { common.ServeJSON(c, stderr.Failure, err) return } common.ServeJSON(c, stderr.Success, result) } // FeedbackDelete doc // @Summary 反馈删除 // @Description 批量删除用户反馈 // @Tags web-用户管理 // @Accept mpfd,json // @Produce json,html // @Param ids formData array true "id数组 字符串数组" // @Success 200 {string} json "{"msg": "操作成功"}" // @Failure 400 {string} json "{"msg": "操作失败"}" // @Router /web/user/feedback/del [delete] func FeedbackDelete(ctx *gin.Context) { var args struct { IDs []primitive.ObjectID `form:"ids" json:"ids"` } if err := ctx.ShouldBind(&args); err != nil { common.ServeJSON(ctx, stderr.ErrParamError, err.Error()) return } if err := feedbackmod.FeedBackDelete(args.IDs); err != nil { common.ServeJSON(ctx, stderr.ErrDbDeleteError, err.Error()) return } common.ServeJSON(ctx, stderr.Success, nil) } // FeedbackUpdate doc // @Summary 用户反馈问题 // @Description 用户反馈编辑 // @Tags web-用户管理 // @Accept mpfd,json // @Produce json,html // @Param id formData array true "id字符串" // @Param replay formData string false "回复" // @Success 200 {string} json "{"msg": "操作成功"}" // @Failure 400 {string} json "{"msg": "操作失败"}" // @Router /web/user/feedback/update [post] func FeedbackUpdate(ctx *gin.Context) { var args struct { ID primitive.ObjectID `form:"id" json:"id" binding:"required"` UID int64 `form:"uid" json:"uid"` Confirm bool `from:"confirm" json:"confirm"` //确认是否发送回复 Content string `json:"content" bson:"content"` feedbackmod.FeedBackUpdateDoc } if err := ctx.ShouldBind(&args); err != nil { common.ServeJSON(ctx, stderr.ErrParamError, nil) return } if err := feedbackmod.FeedBackUpdate(args.ID, args.FeedBackUpdateDoc); err != nil { common.ServeJSON(ctx, stderr.ErrDbUpdateError, err.Error()) return } common.ServeJSON(ctx, stderr.Success, nil) } // GetUserResourceList doc // @Summary 获取用户资源配置列表 // @Description 获取用户资源配置列表 // @Tags web-用户管理 // @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 /web/user/resource/list [get] func GetUserResourceList(ctx *gin.Context) { _, err := common.GetAdminAct(ctx) if err != nil { common.ServeJSON(ctx, stderr.AdminIDErr, err.Error()) return } req := userResourcemod.ResourceListReq{} err1 := ctx.ShouldBind(&req) if err1 != nil { common.ServeJSON(ctx, stderr.ErrParamError, nil) return } infos, total, err := userResourcemod.GetUserResource(req.PageNumber, req.PageSize, "") if err != nil { common.ServeJSON(ctx, stderr.ErrDbQueryError, "") return } common.ServeJSON(ctx, stderr.Success, gin.H{ "list": infos, "total": total, }) } // ModifyUserResource doc // @Summary 修改用户资源配置列表 // @Description 修改用户资源配置列表 // @Tags web-用户管理 // @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 /web/user/resource/modify [post] func ModifyUserResource(ctx *gin.Context) { _, err := common.GetAdminAct(ctx) if err != nil { common.ServeJSON(ctx, stderr.AdminIDErr, err.Error()) return } req := userResourcemod.ResourceModifyReq{} err1 := ctx.ShouldBind(&req) if err1 != nil { common.ServeJSON(ctx, stderr.ErrParamError, nil) return } oid, err := primitive.ObjectIDFromHex(req.ID) if err != nil { common.ServeJSON(ctx, stderr.ErrParamError, nil) return } userResourcemod.ModifyUserResource(oid, req.Type, req.Resource) if err != nil { common.ServeJSON(ctx, stderr.ErrDbUpdateError, "") return } common.ServeJSON(ctx, stderr.Success, nil) } // AddUserResource doc // @Summary 添加用户资源配置列表 // @Description 添加用户资源配置列表 // @Tags web-用户管理 // @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 /web/user/resource/add [post] func AddUserResource(ctx *gin.Context) { _, err := common.GetAdminAct(ctx) if err != nil { common.ServeJSON(ctx, stderr.AdminIDErr, err.Error()) return } req := userResourcemod.ResourceAddReq{} err = ctx.ShouldBind(&req) if err != nil { common.ServeJSON(ctx, stderr.ErrParamError, nil) return } ru := userResourcemod.UserResource{ Type: req.Type, Resource: req.Resource, } err = userResourcemod.Add(ru) if err != nil { common.ServeJSON(ctx, stderr.ErrDbInsertError, "") return } common.ServeJSON(ctx, stderr.Success, nil) } // DelUserResource doc // @Summary 删除用户资源配置列表 // @Description 删除用户资源配置列表 // @Tags web-用户管理 // @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 /web/user/resource/del [post] func DelUserResource(ctx *gin.Context) { _, err := common.GetAdminAct(ctx) if err != nil { common.ServeJSON(ctx, stderr.AdminIDErr, err.Error()) return } req := userResourcemod.ResourceDelReq{} err1 := ctx.ShouldBind(&req) if err1 != nil { common.ServeJSON(ctx, stderr.ErrParamError, nil) return } id, err := primitive.ObjectIDFromHex(req.ID) if err != nil { common.ServeJSON(ctx, stderr.ErrParamError, nil) return } err = userResourcemod.RemoveUserResource(id) if err != nil { common.ServeJSON(ctx, stderr.ErrDbDeleteError, "") return } common.ServeJSON(ctx, stderr.Success, nil) }