package user import ( "authService/response" "authService/service/user" "authService/validators" "github.com/gin-gonic/gin" ) // 分页获取用户列表 func Paginate(c *gin.Context) { type Validator struct { Page int `json:"page" form:"page" binding:"omitempty,min=1"` PageSize int `json:"pageSize" form:"pageSize" binding:"omitempty,min=1,max=50"` Key string `json:"key" form:"key" binding:"omitempty"` } var validator Validator validateErr := c.ShouldBindQuery(&validator) if validateErr != nil { response.FailValidator(c, validateErr) return } users, total := user.Paginate(validator.Page, validator.PageSize, validator.Key) var list []*validators.User for _, u := range users { list = append(list, user.Format(u)) } response.Success(c, map[string]any{ "list": list, "total": total, }) } // 分页获取用户列表 func List(c *gin.Context) { type Validator struct { Key string `json:"key" form:"key" binding:"omitempty"` } var validator Validator validateErr := c.ShouldBindQuery(&validator) if validateErr != nil { response.FailValidator(c, validateErr) return } users, _ := user.Paginate(1, 99999, validator.Key) var list []*validators.User for _, u := range users { list = append(list, user.Format(u)) } response.Success(c, map[string]any{ "list": list, }) } // 修改或创建用户信息 func UpdateOrCreate(c *gin.Context) { type Validator struct { *validators.User // User *validators.User `json:"user" form:"user" binding:"required,dive"` Password string `json:"password" form:"password" binding:"omitempty,min=6,max=20"` } var validator Validator validateErr := c.ShouldBind(&validator) if validateErr != nil { response.FailValidator(c, validateErr) return } err := user.UpdateOrCreate(validator.User, validator.Password) if err != nil { response.Fail(c, err) return } response.Success(c, map[string]any{}) } // 删除用户 func Delete(c *gin.Context) { type Validator struct { ID int64 `json:"id" form:"id" binding:"required,min=1"` } var validator Validator validateErr := c.ShouldBind(&validator) if validateErr != nil { response.FailValidator(c, validateErr) return } err := user.Delete(validator.ID) if err != nil { response.Fail(c, err) return } response.Success(c, map[string]any{}) } // 修改备注 func UpdateRemark(c *gin.Context) { type Validator struct { ID int64 `json:"id" form:"id" binding:"required,min=1"` Remark string `json:"remark" form:"remark" binding:"required,max=255"` } var validator Validator validateErr := c.ShouldBind(&validator) if validateErr != nil { response.FailValidator(c, validateErr) return } err := user.UpdateRemark(validator.ID, validator.Remark) if err != nil { response.Fail(c, err) return } response.Success(c, map[string]any{}) }