package user import ( "git.echol.cn/loser/lckt/global" common "git.echol.cn/loser/lckt/model/common/request" r "git.echol.cn/loser/lckt/model/common/response" "git.echol.cn/loser/lckt/model/user/request" "github.com/gin-gonic/gin" "go.uber.org/zap" ) type UserApi struct{} // GetUserList 获取用户列表 func (*UserApi) GetUserList(ctx *gin.Context) { var p request.GetUserListReq if err := ctx.ShouldBind(&p); err != nil { r.FailWithMessage(err.Error(), ctx) global.GVA_LOG.Error("参数错误,获取用户列表失败", zap.Error(err)) return } userList, total, err := userService.GetUserList(p) if err != nil { r.FailWithMessage("获取用户列表失败", ctx) return } r.OkWithDetailed(r.PageResult{ List: userList, Total: total, Page: p.Page, PageSize: p.PageSize, }, "获取用户列表成功", ctx) } // SetBalance 设置用户余额 func (*UserApi) SetBalance(ctx *gin.Context) { var p request.SetBalanceReq if err := ctx.ShouldBind(&p); err != nil { r.FailWithMessage(err.Error(), ctx) global.GVA_LOG.Error("参数错误,设置用户余额失败", zap.Error(err)) return } if err := userService.SetBalance(p); err != nil { r.FailWithMessage("设置用户余额失败", ctx) return } r.OkWithMessage("设置用户余额成功", ctx) } // Register 注册-后台用 func (*UserApi) Register(ctx *gin.Context) { var p request.RegisterReq if err := ctx.ShouldBind(&p); err != nil { r.FailWithMessage(err.Error(), ctx) global.GVA_LOG.Error("参数错误,注册失败", zap.Error(err)) return } if err := userService.Register(p); err != nil { r.FailWithMessage("注册失败", ctx) return } r.OkWithMessage("注册成功", ctx) } // SetUserStatus 设置用户状态 func (*UserApi) SetUserStatus(ctx *gin.Context) { id := ctx.Param("id") if id == "" { r.FailWithMessage("参数错误", ctx) return } if err := userService.SetUserStatus(id); err != nil { r.FailWithMessage("设置用户状态失败", ctx) return } r.OkWithMessage("设置用户状态成功", ctx) } // GetUserById 根据id获取用户信息 func (*UserApi) GetUserById(ctx *gin.Context) { id := ctx.Param("id") if id == "" { r.FailWithMessage("参数错误", ctx) return } user, err := userService.GetUserById(id) if err != nil { r.FailWithMessage("获取用户信息失败", ctx) return } r.OkWithDetailed(user, "获取用户信息成功", ctx) } func (a *UserApi) GetTeachers(context *gin.Context) { var p common.PageInfo if err := context.ShouldBind(&p); err != nil { r.FailWithMessage(err.Error(), context) global.GVA_LOG.Error("参数错误,获取教师列表失败", zap.Error(err)) return } teachers, total, err := userService.GetTeachers(p) if err != nil { r.FailWithMessage("获取教师列表失败", context) return } r.OkWithDetailed(r.PageResult{ List: teachers, Total: total, Page: p.Page, PageSize: p.PageSize, }, "讲师列表获取成功", context) }