user.go 1.8 KB

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