usercontroller.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. package controller
  2. import (
  3. "errors"
  4. "github.com/gin-gonic/gin"
  5. "trading-go/model"
  6. "trading-go/response"
  7. "trading-go/util"
  8. )
  9. // Register
  10. // @Tags 用户模块
  11. // @Summary 创建用户
  12. // @param uid formData string false "用户ID"
  13. // @param name formData string false "用户名"
  14. // @param avatar formData string false "头像"
  15. // @Success 200 {string} json{"code","data","message"}
  16. // @Router /user/register [post]
  17. func Register(c *gin.Context) {
  18. var user model.User
  19. user.Uid = c.PostForm("uid")
  20. user.Name = c.PostForm("name")
  21. user.Avatar = c.PostForm("avatar")
  22. err := user.Register()
  23. if err != nil {
  24. msg := err.Error()
  25. response.Fail(c.Writer, msg, 500)
  26. } else {
  27. msg := "register succeed"
  28. response.Success(c.Writer, msg, nil)
  29. }
  30. }
  31. // Login
  32. // @Tags 用户模块
  33. // @Summary 登录
  34. // @param uid formData string false "用户ID"
  35. // @Success 200 {string} json{"code","data","token"}
  36. // @Router /user/login [post]
  37. func Login(c *gin.Context) {
  38. var user model.User
  39. user.Uid = c.PostForm("uid")
  40. err, nu := user.Login()
  41. if err != nil && err.Error() == "sql: no rows in result set" {
  42. err = util.NoSuchUserError
  43. msg := err.Error()
  44. response.Fail(c.Writer, msg, 403)
  45. return
  46. }
  47. if err != nil {
  48. msg := err.Error()
  49. response.Fail(c.Writer, msg, 500)
  50. return
  51. }
  52. token, err := util.CreatToken(nu.Uid)
  53. if err != nil {
  54. msg := err.Error()
  55. response.Fail(c.Writer, msg, 500)
  56. return
  57. }
  58. data := gin.H{
  59. "token": token,
  60. "user_info": nu,
  61. }
  62. response.Success(c.Writer, "success", data)
  63. }
  64. // Modify
  65. // @Tags 用户模块
  66. // @Summary 修改用户信息
  67. // @param uid formData string false "用户ID"
  68. // @param avatar formData string false "头像"
  69. // @param name formData string false "用户名"
  70. // @param phone formData string false "电话"
  71. // @Success 200 {string} json{"code","data","token"}
  72. // @Router /user/modify [post]
  73. func Modify(c *gin.Context) {
  74. var user model.User
  75. user.Uid = c.PostForm("uid")
  76. user.Phone = c.PostForm("phone")
  77. user.Avatar = c.PostForm("avatar")
  78. user.Name = c.PostForm("name")
  79. //fmt.Printf("%#v", user)
  80. if err := user.SPhone(); err != nil {
  81. if errors.Is(err, util.PhoneBeUsed) {
  82. response.Fail(c.Writer, err.Error(), 403)
  83. } else {
  84. response.Fail(c.Writer, err.Error(), 500)
  85. }
  86. return
  87. }
  88. err := user.Modify()
  89. if err != nil {
  90. msg := err.Error()
  91. response.Fail(c.Writer, msg, 500)
  92. } else {
  93. msg := "modify succeed"
  94. response.Success(c.Writer, msg, nil)
  95. }
  96. }