user.go 4.7 KB

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