admin_trans_records.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package mysql
  2. import (
  3. orm "duoduo/database"
  4. "github.com/shopspring/decimal"
  5. )
  6. type AdminTransRecords struct {
  7. ID int64 `gorm:"column:id;primary_key;AUTO_INCREMENT" json:"id"`
  8. Amount decimal.Decimal `gorm:"column:amount" json:"amount"` // 管理员提现金额
  9. CreateTime string `gorm:"column:create_time" json:"create_time"` // 创建时间
  10. UpdateTime string `gorm:"column:update_time" json:"update_time"` // 更新时间
  11. }
  12. func (t *AdminTransRecords) TableName() string {
  13. return "admin_trans_records"
  14. }
  15. //计算管理员已体现金额
  16. func (t *AdminTransRecords) GetTrans() (decimal.Decimal, error) {
  17. var adminTrans AdminTransRecords
  18. err := orm.Eloquent.Select("SUM(amount) as amount").Table(t.TableName()).First(&adminTrans).Error
  19. if err != nil {
  20. return adminTrans.Amount, err
  21. }
  22. return adminTrans.Amount, nil
  23. }
  24. func (t *AdminTransRecords) Create() (AdminTransRecords, error) {
  25. var doc AdminTransRecords
  26. result := orm.Eloquent.Table(t.TableName()).Create(&t)
  27. if result.Error != nil {
  28. err := result.Error
  29. return doc, err
  30. }
  31. doc = *t
  32. return doc, nil
  33. }
  34. //list 接口使用
  35. func (t *AdminTransRecords) GetTransList(pageSize int, pageIndex int) ([]AdminTransRecords, int, error) {
  36. var doc []AdminTransRecords
  37. table := orm.Eloquent.Table(t.TableName())
  38. var count int
  39. if err := table.Select("*").Order("id desc").Offset((pageIndex - 1) * pageSize).Limit(pageSize).Find(&doc).Error; err != nil {
  40. return nil, 0, err
  41. }
  42. table.Count(&count)
  43. return doc, count, nil
  44. }