user.go 1.8 KB

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