manage.go 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. package user
  2. import (
  3. "authService/response"
  4. "authService/service/user"
  5. "authService/validators"
  6. "github.com/gin-gonic/gin"
  7. )
  8. // 分页获取用户列表
  9. func Paginate(c *gin.Context) {
  10. type Validator struct {
  11. Page int `json:"page" form:"page" binding:"omitempty,min=1"`
  12. PageSize int `json:"pageSize" form:"pageSize" binding:"omitempty,min=1,max=50"`
  13. Key string `json:"key" form:"key" binding:"omitempty"`
  14. }
  15. var validator Validator
  16. validateErr := c.ShouldBindQuery(&validator)
  17. if validateErr != nil {
  18. response.FailValidator(c, validateErr)
  19. return
  20. }
  21. users, total := user.Paginate(validator.Page, validator.PageSize, validator.Key)
  22. var list []*validators.User
  23. for _, u := range users {
  24. list = append(list, user.Format(u))
  25. }
  26. response.Success(c, map[string]any{
  27. "list": list,
  28. "total": total,
  29. })
  30. }
  31. // 分页获取用户列表
  32. func List(c *gin.Context) {
  33. type Validator struct {
  34. Key string `json:"key" form:"key" binding:"omitempty"`
  35. }
  36. var validator Validator
  37. validateErr := c.ShouldBindQuery(&validator)
  38. if validateErr != nil {
  39. response.FailValidator(c, validateErr)
  40. return
  41. }
  42. users, _ := user.Paginate(1, 99999, validator.Key)
  43. var list []*validators.User
  44. for _, u := range users {
  45. list = append(list, user.Format(u))
  46. }
  47. response.Success(c, map[string]any{
  48. "list": list,
  49. })
  50. }
  51. // 修改或创建用户信息
  52. func UpdateOrCreate(c *gin.Context) {
  53. type Validator struct {
  54. *validators.User
  55. // User *validators.User `json:"user" form:"user" binding:"required,dive"`
  56. Password string `json:"password" form:"password" binding:"omitempty,min=6,max=20"`
  57. }
  58. var validator Validator
  59. validateErr := c.ShouldBind(&validator)
  60. if validateErr != nil {
  61. response.FailValidator(c, validateErr)
  62. return
  63. }
  64. err := user.UpdateOrCreate(validator.User, validator.Password)
  65. if err != nil {
  66. response.Fail(c, err)
  67. return
  68. }
  69. response.Success(c, map[string]any{})
  70. }
  71. // 删除用户
  72. func Delete(c *gin.Context) {
  73. type Validator struct {
  74. ID int64 `json:"id" form:"id" binding:"required,min=1"`
  75. }
  76. var validator Validator
  77. validateErr := c.ShouldBind(&validator)
  78. if validateErr != nil {
  79. response.FailValidator(c, validateErr)
  80. return
  81. }
  82. err := user.Delete(validator.ID)
  83. if err != nil {
  84. response.Fail(c, err)
  85. return
  86. }
  87. response.Success(c, map[string]any{})
  88. }
  89. // 修改备注
  90. func UpdateRemark(c *gin.Context) {
  91. type Validator struct {
  92. ID int64 `json:"id" form:"id" binding:"required,min=1"`
  93. Remark string `json:"remark" form:"remark" binding:"required,max=255"`
  94. }
  95. var validator Validator
  96. validateErr := c.ShouldBind(&validator)
  97. if validateErr != nil {
  98. response.FailValidator(c, validateErr)
  99. return
  100. }
  101. err := user.UpdateRemark(validator.ID, validator.Remark)
  102. if err != nil {
  103. response.Fail(c, err)
  104. return
  105. }
  106. response.Success(c, map[string]any{})
  107. }