package models type Cache struct { Id uint `gorm:"column:id;primary_key;auto_increment;unique;not null;"` Type string `gorm:"column:type;"` // 消息类型 1400, basic Data string `gorm:"column:data;type:text"` CreateTime int64 `gorm:"column:create_time;"` Retry int `gorm:"column:retry;"` } func (c *Cache) TableName() string { return "caches" } func (c *Cache) FindAll() ([]Cache, error) { var caches []Cache if err := db.Table(c.TableName()).Find(&caches).Error; err != nil { return nil, err } return caches, nil } func (c *Cache) Save() error { return db.Table(c.TableName()).Save(c).Error } func (c *Cache) UpdateRetryCount() error { return db.Table(c.TableName()).Where("id = ?", c.Id).Update("retry", c.Retry+1).Error } func (c *Cache) Delete() error { return db.Table(c.TableName()).Where("id = ?", c.Id).Delete(c).Error }