123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- package mysqlLy
- import (
- orm "duoduo/database"
- "time"
- )
- type User struct {
- ID int64 `gorm:"column:id;type:bigint(20);primary_key;AUTO_INCREMENT" json:"id"`
- OpenID string `gorm:"column:open_id;type:varchar(255)" json:"open_id"` // open_id 唯一索引
- Phone string `gorm:"column:phone;type:varchar(24)" json:"phone"` // 手机号
- NickName string `gorm:"column:nick_name;type:varchar(255)" json:"nick_name"` // 微信用户名
- AvatarUrl string `gorm:"column:avatar_url;type:varchar(255)" json:"avatar_url"` // 头像url
- Mechanism string `gorm:"column:mechanism;type:varchar(255)" json:"mechanism"` // 机构
- WxCode string `gorm:"column:wx_code;type:varchar(255)" json:"wx_code"` // 微信号
- CreateTime time.Time `gorm:"column:create_time;type:datetime" json:"create_time"` // 创建时间
- UpdateTime time.Time `gorm:"column:update_time;type:datetime" json:"update_time"` // 更新时间
- }
- func (m *User) TableName() string {
- return "user"
- }
- func (m *User) Create() (User, error) {
- var doc User
- result := orm.LyMysql.Where(User{OpenID: m.OpenID}).FirstOrCreate(&m)
- if result.Error != nil {
- err := result.Error
- return doc, err
- }
- doc = *m
- return doc, nil
- }
- func (m *User) GetNum() int {
- var count int
- count = 0
- tableCount := orm.LyMysql.Table(m.TableName()).Where("open_id = ? ", m.OpenID)
- tableCount.Count(&count)
- return count
- }
- func (m *User) Get() (User, error) {
- var doc User
- err := orm.LyMysql.Where("open_id = ? ", m.OpenID).Table(m.TableName()).First(&doc).Error
- if err != nil {
- return doc, err
- }
- return doc, nil
- }
|