user.go 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package mysql
  2. import (
  3. orm "duoduo/database"
  4. "duoduo/tools"
  5. )
  6. type User struct {
  7. CreateTime string `gorm:"column:create_time" json:"createTime"`
  8. OpenID string `gorm:"column:open_id" json:"openId"`
  9. Phone string `gorm:"column:phone" json:"phone"`
  10. Pid string `gorm:"column:pid" json:"pid"`
  11. UpdateTime string `gorm:"column:update_time" json:"updateTime"`
  12. NickName string `gorm:"column:nick_name" json:"nickName"`
  13. AvatarUrl string `gorm:"column:avatar_url" json:"avatarUrl"`
  14. OpenIdOne string `gorm:"column:open_id_1" json:"openIdOne"`
  15. OpenIdTwo string `gorm:"column:open_id_2" json:"openIdTwo"`
  16. }
  17. // TableName sets the insert table name for this struct type
  18. func (u *User) TableName() string {
  19. return "user"
  20. }
  21. func (u *User) GetNum() int {
  22. var count int
  23. tableCount := orm.Eloquent.Table(u.TableName()).Where("open_id = ? ", u.OpenID)
  24. tableCount.Count(&count)
  25. return count
  26. }
  27. func (u *User) Get() (User, error) {
  28. var doc User
  29. err := orm.Eloquent.Select("pid,nick_name,avatar_url,open_id_1,open_id_2").Where("open_id = ? ", u.OpenID).Table(u.TableName()).First(&doc).Error
  30. if err != nil {
  31. return doc, err
  32. }
  33. return doc, nil
  34. }
  35. func (u *User) Create() (User, error) {
  36. var doc User
  37. result := orm.Eloquent.Table(u.TableName()).Create(&u)
  38. if result.Error != nil {
  39. err := result.Error
  40. return doc, err
  41. }
  42. doc = *u
  43. return doc, nil
  44. }
  45. func (u *User) Update() (update User, err error) {
  46. if err := orm.Eloquent.Table(u.TableName()).Model(&update).Where("open_id = ? ", u.OpenID).Updates(
  47. map[string]interface{}{
  48. "pid": u.Pid,
  49. "update_time": tools.GetCurrntTimeStr()}).Error; err != nil {
  50. return update, err
  51. }
  52. return update, nil
  53. }
  54. func (u *User) UpdateName() (update User, err error) {
  55. if err := orm.Eloquent.Table(u.TableName()).Model(&update).Where("open_id = ? ", u.OpenID).Updates(
  56. map[string]interface{}{
  57. "nick_name": u.NickName,
  58. "avatar_url": u.AvatarUrl,
  59. "update_time": tools.GetCurrntTimeStr()}).Error; err != nil {
  60. return update, err
  61. }
  62. return update, nil
  63. }