merchant_user.go 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package shanghu
  2. import (
  3. orm "duoduo/database"
  4. "time"
  5. )
  6. // 商户账号
  7. type MerchantUser 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-管理员
  15. ActiveAdmin int `gorm:"column:active_admin;type:int(11)" json:"active_admin"` // 1-管理员
  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 *MerchantUser) TableName() string {
  23. return "merchant_user"
  24. }
  25. func (m *MerchantUser) GetNum() int {
  26. var count int
  27. tableCount := orm.ShMysql.Table(m.TableName()).Where("open_id = ? ", m.OpenID)
  28. tableCount.Count(&count)
  29. return count
  30. }
  31. func (m *MerchantUser) GetCodeNum() int {
  32. var count int
  33. tableCount := orm.ShMysql.Table(m.TableName()).Where("code = ? ", m.Code)
  34. tableCount.Count(&count)
  35. return count
  36. }
  37. func (m *MerchantUser) GetUserInfo() (MerchantUser, error) {
  38. var doc MerchantUser
  39. table := orm.ShMysql.Table(m.TableName())
  40. table = table.Where("open_id = ? ", m.OpenID)
  41. if err := table.Select("*").First(&doc).Error; err != nil {
  42. return doc, err
  43. }
  44. return doc, nil
  45. }
  46. func (m *MerchantUser) GetUserInfoByCode() (MerchantUser, error) {
  47. var doc MerchantUser
  48. table := orm.ShMysql.Table(m.TableName())
  49. table = table.Where("code = ? ", m.Code)
  50. if err := table.Select("open_id").First(&doc).Error; err != nil {
  51. return doc, err
  52. }
  53. return doc, nil
  54. }
  55. func (u *MerchantUser) Create() (MerchantUser, error) {
  56. var doc MerchantUser
  57. var err error
  58. doc = *u
  59. err = orm.ShMysql.Table(u.TableName()).Create(&doc).Error
  60. if err != nil {
  61. return doc, err
  62. }
  63. return doc, nil
  64. }