package models import ( "gat1400Exchange/vo" ) type Subscribe struct { Id string `gorm:"column:id;primary_key;" json:"id"` Status int `gorm:"column:status" json:"status"` // 0:订阅中 1:已取消订阅 2:订阅到期 9:未订阅 FromId string `gorm:"column:from_id" json:"from_id"` Ext vo.Subscribe `gorm:"column:ext;type:json;not null;default '{}'" json:"ext"` CreateTime int64 `gorm:"column:create_time;autoCreateTime;" json:"create_time"` UpdateTime int64 `gorm:"column:update_time;autoUpdateTime" json:"-"` DeleteTime int64 `gorm:"column:delete_time" json:"-"` } func (s *Subscribe) TableName() string { return "subscribes" } func (s *Subscribe) FindById(id string) error { return db.Table(s.TableName()).First(&s, "id = ?", id).Error } func (s *Subscribe) Save() error { return db.Table(s.TableName()).Save(s).Error } func (s *Subscribe) DeleteById(id string) error { return db.Table(s.TableName()).Where("id = ?", id).Delete(s).Error } func (s *Subscribe) FindAll() ([]Subscribe, error) { var subs []Subscribe if err := db.Table(s.TableName()).Find(&subs).Error; err != nil { return nil, err } return subs, nil } func (s *Subscribe) FindByFromId(fromId string) ([]Subscribe, error) { var subs []Subscribe if err := db.Table(s.TableName()).Where("from_id = ?", fromId).Find(&subs).Error; err != nil { return nil, err } return subs, nil }