user.go 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. package controller
  2. import (
  3. "Ic_ouath/app/e"
  4. "Ic_ouath/app/service"
  5. "Ic_ouath/app/service/imp"
  6. "Ic_ouath/global"
  7. "Ic_ouath/models"
  8. "Ic_ouath/page"
  9. "Ic_ouath/simple_zap"
  10. "Ic_ouath/utils"
  11. "context"
  12. "github.com/astaxie/beego/validation"
  13. "github.com/gin-gonic/gin"
  14. )
  15. var users service.User = &imp.User{}
  16. // PhoneRegist 手机号注册
  17. // @Tags 用户管理
  18. // @Summary 手机号注册
  19. // @Success 200 {object} e.R
  20. // @Fail 400 {object} e.R
  21. // @Param req body models.UserRegist true "注册信息"
  22. // @Accept application/json
  23. // @Router /user [post]
  24. func PhoneRegist(c *gin.Context) {
  25. var userRegist models.UserRegist
  26. err := c.ShouldBindJSON(&userRegist)
  27. if err != nil {
  28. e.ResponseError(c, e.JSONParsingFailed)
  29. return
  30. }
  31. rescode := users.PhoneRegist(userRegist)
  32. e.ResponseError(c, rescode)
  33. }
  34. // SendCode 发送验证码
  35. // @Tags 用户管理
  36. // @Summary 发送验证码
  37. // @Success 200 {object} e.R
  38. // @Fail 400 {object} e.R
  39. // @Param phone query string true "手机号"
  40. // @Accept application/json
  41. // @Router /sendcode [post]
  42. func SendCode(c *gin.Context) {
  43. phone := c.PostForm("phone")
  44. utils.SendModel(phone)
  45. v := validation.Validation{}
  46. v.Mobile(phone, "phone")
  47. v.Required(phone, "phone")
  48. if v.HasErrors() {
  49. e.ResponseWithMsg(c, e.ThePhoneNumberIsWrong, "手机号码格式不正确")
  50. } else {
  51. rescode := utils.SendModel(phone)
  52. if rescode != e.SUCCESS {
  53. e.ResponseWithMsg(c, rescode, rescode.GetMsg())
  54. } else {
  55. e.ResponseSuccess(c, "发送成功")
  56. }
  57. }
  58. }
  59. // Login 账号登录
  60. // @Tags 用户管理
  61. // @Summary 账号密码登录
  62. // @Success 200 {object} e.R
  63. // @Fail 400 {object} e.R
  64. // @Param req body models.UserRegist true "账号信息"
  65. // @Accept application/json
  66. // @Router /user [post]
  67. func Login(c *gin.Context) {
  68. var userRegist models.UserRegist
  69. err := c.ShouldBindJSON(&userRegist)
  70. if err != nil {
  71. e.ResponseWithMsg(c, e.JSONParsingFailed, e.JSONParsingFailed.GetMsg())
  72. return
  73. } else {
  74. login, rescode := users.Login(userRegist)
  75. if rescode == e.SUCCESS {
  76. e.ResponseSuccess(c, login)
  77. } else {
  78. e.ResponseWithMsg(c, rescode, rescode.GetMsg())
  79. }
  80. }
  81. }
  82. // CodeLogin 验证码登录
  83. // @Tags 用户管理
  84. // @Summary 验证码登录
  85. // @Success 200 {object} e.R
  86. // @Fail 400 {object} e.R
  87. // @Param req body models.UserRegist true "账号信息"
  88. // @Accept application/json
  89. // @Router /codelogin [post]
  90. func CodeLogin(c *gin.Context) {
  91. var userRegist models.UserRegist
  92. err := c.ShouldBindJSON(&userRegist)
  93. if err != nil {
  94. e.ResponseWithMsg(c, e.JSONParsingFailed, e.JSONParsingFailed.GetMsg())
  95. simple_zap.WithCtx(context.Background()).Sugar().Warn(err, e.JSONParsingFailed.GetMsg())
  96. return
  97. }
  98. login, rescode := users.CodeLogin(userRegist)
  99. if rescode == e.SUCCESS {
  100. e.ResponseSuccess(c, login)
  101. } else {
  102. e.ResponseWithMsg(c, rescode, rescode.GetMsg())
  103. simple_zap.WithCtx(context.Background()).Sugar().Warn(err, rescode.GetMsg())
  104. }
  105. }
  106. // GetUserAll 获取所有用户
  107. func GetUserAll(c *gin.Context) {
  108. user, rescode := users.GetUserAll()
  109. if rescode == e.SUCCESS {
  110. e.ResponseSuccess(c, user)
  111. } else {
  112. e.ResponseWithMsg(c, rescode, rescode.GetMsg())
  113. }
  114. }
  115. // GetUserAlls 获取所有用户
  116. // @Tags 用户管理
  117. // @Summary 获取所有用户
  118. // @Success 200 {object} e.R
  119. // @Fail 400 {object} e.R
  120. // @Param req body page.PageParams true "分页信息"
  121. // @Accept application/json
  122. // @Router /admin/getalluser [post]
  123. func GetUserAlls(c *gin.Context) {
  124. var pages page.PageParams
  125. err := c.ShouldBindJSON(&pages)
  126. if err != nil {
  127. e.ResponseWithMsg(c, e.JSONParsingFailed, e.JSONParsingFailed.GetMsg())
  128. simple_zap.WithCtx(context.Background()).Sugar().Warn(err, e.JSONParsingFailed.GetMsg())
  129. return
  130. }
  131. result, total, err := page.Paginate(global.DBLink, pages, models.User{})
  132. if err != nil {
  133. e.ResponseWithMsg(c, e.PaginationFailed, e.PaginationFailed.GetMsg())
  134. simple_zap.WithCtx(context.Background()).Sugar().Warn(err, e.PaginationFailed.GetMsg())
  135. return
  136. }
  137. e.ResPonsePage(c, result, total, pages)
  138. }
  139. // UpdateUserById 修改用户信息
  140. // @Tags 用户管理
  141. // @Summary 获取所有用户
  142. // @Success 200 {object} e.R
  143. // @Fail 400 {object} e.R
  144. // @Param req body page.PageParams true "分页信息"
  145. // @Accept application/json
  146. // @Router /admin/user [post]
  147. func UpdateUserById(c *gin.Context) {
  148. var userVo models.UserVo
  149. userId := c.MustGet("user_id")
  150. err := c.ShouldBindJSON(&userVo)
  151. if err != nil {
  152. e.ResponseWithMsg(c, e.JSONParsingFailed, e.JSONParsingFailed.GetMsg())
  153. simple_zap.WithCtx(context.Background()).Sugar().Warn(err, e.JSONParsingFailed.GetMsg())
  154. return
  155. }
  156. recode := users.UpdateUser(userId, userVo)
  157. if recode == e.SUCCESS {
  158. e.ResponseSuccess(c, "修改成功")
  159. } else {
  160. e.ResponseWithMsg(c, recode, recode.GetMsg())
  161. simple_zap.WithCtx(context.Background()).Sugar().Info(err, recode.GetMsg())
  162. }
  163. }
  164. // DeleteUserById 删除用户信息
  165. // @Tags 用户管理
  166. // @Summary 删除用户
  167. // @Success 200 {object} e.R
  168. // @Fail 400 {object} e.R
  169. // @Param id query string true "id"
  170. // @Accept application/json
  171. // @Router /admin/user [delete]
  172. func DeleteUserById(c *gin.Context) {
  173. ids := c.QueryArray("ids")
  174. recode := users.DeleteUser(ids)
  175. if recode == e.SUCCESS {
  176. e.ResponseSuccess(c, "删除成功")
  177. } else {
  178. e.ResponseWithMsg(c, recode, recode.GetMsg())
  179. simple_zap.WithCtx(context.Background()).Sugar().Info(recode.GetMsg())
  180. }
  181. }