Files
lckt-server/api/v1/user/user.go

158 lines
4.2 KiB
Go

package user
import (
"git.echol.cn/loser/lckt/global"
"git.echol.cn/loser/lckt/model/app"
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)
}
// GetTeacherApplyList 获取教师申请列表
func (a *UserApi) GetTeacherApplyList(context *gin.Context) {
var p request.GetTeacherApplyListReq
if err := context.ShouldBind(&p); err != nil {
r.FailWithMessage(err.Error(), context)
global.GVA_LOG.Error("参数错误,获取教师申请列表失败", zap.Error(err))
return
}
list, total, err := userService.GetTeacherApplyList(p)
if err != nil {
global.GVA_LOG.Error("获取教师申请列表失败", zap.Error(err))
r.FailWithMessage("获取教师申请列表失败", context)
return
}
r.OkWithDetailed(
r.PageResult{
List: list,
Total: total,
Page: p.Page,
PageSize: p.PageSize,
}, "获取教师申请列表成功", context)
}
// UpdateTeacherApplyStatus 更新教师申请状态
func (a *UserApi) UpdateTeacherApplyStatus(context *gin.Context) {
var p app.TeacherApply
if err := context.ShouldBind(&p); err != nil {
r.FailWithMessage(err.Error(), context)
global.GVA_LOG.Error("参数错误,更新教师申请状态失败", zap.Error(err))
return
}
if err := userService.UpdateTeacherApplyStatus(p); err != nil {
r.FailWithMessage("更新教师申请状态失败", context)
return
}
r.OkWithMessage("更新教师申请状态成功", context)
}