package mysql import ( orm "duoduo/database" "github.com/shopspring/decimal" ) type AdminTransRecords struct { ID int64 `gorm:"column:id;primary_key;AUTO_INCREMENT" json:"id"` Amount decimal.Decimal `gorm:"column:amount" json:"amount"` // 管理员提现金额 CreateTime string `gorm:"column:create_time" json:"create_time"` // 创建时间 UpdateTime string `gorm:"column:update_time" json:"update_time"` // 更新时间 } func (t *AdminTransRecords) TableName() string { return "admin_trans_records" } //计算管理员已体现金额 func (t *AdminTransRecords) GetTrans() (decimal.Decimal, error) { var adminTrans AdminTransRecords err := orm.Eloquent.Select("SUM(amount) as amount").Table(t.TableName()).First(&adminTrans).Error if err != nil { return adminTrans.Amount, err } return adminTrans.Amount, nil } func (t *AdminTransRecords) Create() (AdminTransRecords, error) { var doc AdminTransRecords result := orm.Eloquent.Table(t.TableName()).Create(&t) if result.Error != nil { err := result.Error return doc, err } doc = *t return doc, nil } //list 接口使用 func (t *AdminTransRecords) GetTransList(pageSize int, pageIndex int) ([]AdminTransRecords, int, error) { var doc []AdminTransRecords table := orm.Eloquent.Table(t.TableName()) var count int if err := table.Select("*").Order("id desc").Offset((pageIndex - 1) * pageSize).Limit(pageSize).Find(&doc).Error; err != nil { return nil, 0, err } table.Count(&count) return doc, count, nil }