active.user.go 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. package shanghu
  2. import (
  3. orm "duoduo/database"
  4. "time"
  5. )
  6. // 商户账号
  7. type ActiveUser struct {
  8. ID int64 `gorm:"column:id;type:bigint(20);primary_key;AUTO_INCREMENT" json:"id"` // 主键
  9. Code string `gorm:"column:code;type:varchar(255)" json:"code"`
  10. OpenID string `gorm:"column:open_id;type:varchar(255)" json:"open_id"` // open_id 唯一索引
  11. Phone string `gorm:"column:phone;type:varchar(24)" json:"phone"` // 手机号
  12. NickName string `gorm:"column:nick_name;type:varchar(255)" json:"nick_name"` // 微信用户名
  13. AvatarUrl string `gorm:"column:avatar_url;type:varchar(255)" json:"avatar_url"` // 头像url
  14. Admin int `gorm:"column:admin;type:int(11)" json:"admin"` // 1-管理员 2-销售 3-霸王卡商家 4-店员 5-商家充值 6-商家霸王卡+充值 7-充值店员
  15. Pid string `gorm:"column:pid;type:varchar(10)" json:"pid"` // 上级
  16. CreateBy int64 `gorm:"column:create_by;type:bigint(20)" json:"create_by"` // 创建者
  17. UpdateBy int64 `gorm:"column:update_by;type:bigint(20)" json:"update_by"` // 更新者
  18. CreatedAt time.Time `gorm:"column:created_at;type:datetime(3)" json:"created_at"` // 创建时间
  19. UpdatedAt time.Time `gorm:"column:updated_at;type:datetime(3)" json:"updated_at"` // 最后更新时间
  20. DeletedAt time.Time `gorm:"column:deleted_at;type:datetime(3);default:null" json:"deleted_at"` // 删除时间
  21. }
  22. func (m *ActiveUser) TableName() string {
  23. return "active_user"
  24. }
  25. func (u *ActiveUser) Create() (ActiveUser, error) {
  26. var doc ActiveUser
  27. var err error
  28. doc = *u
  29. err = orm.ShMysql.Table(u.TableName()).Create(&doc).Error
  30. if err != nil {
  31. return doc, err
  32. }
  33. return doc, nil
  34. }
  35. func (m *ActiveUser) GetNum() int {
  36. var count int
  37. tableCount := orm.ShMysql.Table(m.TableName()).Where("open_id = ? ", m.OpenID)
  38. tableCount.Count(&count)
  39. return count
  40. }
  41. func (m *ActiveUser) GetCodeNum() int {
  42. var count int
  43. tableCount := orm.ShMysql.Table(m.TableName()).Where("code = ? ", m.Code)
  44. tableCount.Count(&count)
  45. return count
  46. }
  47. func (m *ActiveUser) GetUserInfo() (ActiveUser, error) {
  48. var doc ActiveUser
  49. table := orm.ShMysql.Table(m.TableName())
  50. table = table.Where("open_id = ? ", m.OpenID)
  51. if err := table.Select("*").First(&doc).Error; err != nil {
  52. return doc, err
  53. }
  54. return doc, nil
  55. }
  56. func (m *ActiveUser) GetUserInfoByCode() (ActiveUser, error) {
  57. var doc ActiveUser
  58. table := orm.ShMysql.Table(m.TableName())
  59. table = table.Where("code = ? ", m.Code)
  60. if err := table.Select("*").First(&doc).Error; err != nil {
  61. return doc, err
  62. }
  63. return doc, nil
  64. }