user.go 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. package model
  2. import (
  3. "fmt"
  4. "trading-go/common"
  5. "trading-go/response"
  6. "trading-go/util"
  7. )
  8. type User struct {
  9. Uid uint `db:"uid"`
  10. Vid string `db:"vid"`
  11. Name string `db:"name"`
  12. Avatar string `db:"avatar"`
  13. Phone string `db:"phone"`
  14. }
  15. type UserJson struct {
  16. Vid string `json:"vid"`
  17. Name string `json:"name"`
  18. Avatar string `json:"avatar"`
  19. Phone string `json:"phone"`
  20. }
  21. func (u User) Register() error {
  22. db := common.DB
  23. sqlStr := "INSERT INTO users(uid, vid,name, avatar, phone) values (:uid, :vid, :name, :avatar, :phone)"
  24. exec, err := db.NamedExec(sqlStr, u)
  25. if err != nil {
  26. return err
  27. }
  28. affected, err := exec.RowsAffected()
  29. if err != nil {
  30. return err
  31. }
  32. if affected != 1 {
  33. return util.InsertFailError
  34. }
  35. return nil
  36. }
  37. func (u User) Login() (err error, nu User) {
  38. db := common.DB
  39. sqlStr := "SELECT * FROM users WHERE vid = ?"
  40. err = db.Get(&nu, sqlStr, u.Vid)
  41. return
  42. }
  43. // SPhone 查找电话号码
  44. func (u User) SPhone() error {
  45. var nu User
  46. db := common.DB
  47. fmt.Println(u.Phone)
  48. sqlStr := "SELECT * FROM users WHERE phone = ?"
  49. err := db.Get(&nu, sqlStr, u.Phone)
  50. if err != nil && err.Error() == "sql: no rows in result set" {
  51. return nil
  52. } else if err != nil {
  53. return err
  54. }
  55. return util.PhoneBeUsed
  56. }
  57. // Modify 修改信息
  58. func (u User) Modify() error {
  59. db := common.DB
  60. sqlStr := "UPDATE users set name = ?,avatar = ?, phone = ? WHERE uid = ?"
  61. exec, err := db.Exec(sqlStr, u.Name, u.Avatar, u.Phone, u.Uid)
  62. if err != nil {
  63. return err
  64. }
  65. affected, err := exec.RowsAffected()
  66. if err != nil {
  67. return err
  68. }
  69. if affected != 1 {
  70. return util.UpdateFailError
  71. }
  72. return nil
  73. }
  74. // Info 获取用户信息
  75. func (u User) Info() (nu User, err error) {
  76. db := common.DB
  77. sqlStr := "SELECT * FROM users WHERE uid = ?"
  78. err = db.Get(&nu, sqlStr, u.Uid)
  79. return
  80. }
  81. func (u User) GetPaged(page, pageSize int) (rsp response.PageResponse, err error) {
  82. var users []User
  83. db := common.DB
  84. sqlStr := "SELECT * FROM users LIMIT ?,?"
  85. rsp.Page = page
  86. rsp.PageSize = pageSize
  87. err = db.Select(&users, sqlStr, (page-1)*pageSize, pageSize)
  88. rsp.Data = users
  89. return
  90. }
  91. func (u User) GetCnt() (cnt int, err error) {
  92. db := common.DB
  93. sqlStr := "SELECT COUNT(1) FROM users"
  94. err = db.Get(&cnt, sqlStr)
  95. return
  96. }