user.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. }
  13. // TableName sets the insert table name for this struct type
  14. func (u *User) TableName() string {
  15. return "user"
  16. }
  17. func (u *User) GetNum() int {
  18. var count int
  19. tableCount := orm.Eloquent.Table(u.TableName()).Where("open_id = ? ", u.OpenID)
  20. tableCount.Count(&count)
  21. return count
  22. }
  23. //根据share_info_id
  24. func (u *User) Get() (User, error) {
  25. var doc User
  26. err := orm.Eloquent.Select("pid").Where("open_id = ? ", u.OpenID).Table(u.TableName()).First(&doc).Error
  27. if err != nil {
  28. return doc, err
  29. }
  30. return doc, nil
  31. }
  32. func (u *User) Create() (User, error) {
  33. var doc User
  34. result := orm.Eloquent.Table(u.TableName()).Create(&u)
  35. if result.Error != nil {
  36. err := result.Error
  37. return doc, err
  38. }
  39. doc = *u
  40. return doc, nil
  41. }
  42. func (u *User) Update() (update User, err error) {
  43. if err := orm.Eloquent.Table(u.TableName()).Model(&update).Where("open_id = ? ", u.OpenID).Updates(
  44. map[string]interface{}{
  45. "pid": u.Pid,
  46. "update_time": tools.GetCurrntTimeStr()}).Error; err != nil {
  47. return update, err
  48. }
  49. return update, nil
  50. }