package hasaki_push import ( "git.ouxuan.net/hasaki-service/hasaki-sdk/hskdb" "git.ouxuan.net/hasaki-service/hasaki-sdk/hsktime" "git.ouxuan.net/tommy/hasaki-service-push/hasaki_push_options" "xorm.io/xorm" ) type Api struct { db *xorm.Engine config interface{} } func NewApi(db ...*xorm.Engine) *Api { if len(db) > 0 { return &Api{ db: db[0], } } else { return &Api{ db: hskdb.GetXormAuto(), } } } func GetApi(ctx interface{}) *Api { config := hasaki_push_options.GetMysqlConfig(ctx) if config == nil { api := NewApi(hskdb.GetXormAuto()) return api } else { api := NewApi(hskdb.GetXormAuto(config)) api.config = config return api } } type Model struct { Id int `json:"id" xorm:"not null pk autoincr INT(11)"` CreatedAt hsktime.Time `json:"created_at" xorm:"created comment('创建时间')"` UpdatedAt hsktime.Time `json:"updated_at" xorm:"updated comment('更新时间')"` DeletedAt hsktime.Time `json:"-" xorm:"deleted comment('是否删除') TIMESTAMP"` Db *xorm.Engine `json:"-" xorm:"-"` } func NewModel(engs ...*xorm.Engine) *Model { var eng *xorm.Engine if len(engs) > 0 { eng = engs[0] } else { eng = hskdb.GetXormAuto() } return &Model{ Db: eng, } } func (api *Api) NewModel() *Model { return &Model{Db: api.db} }