tron.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package dao
  2. import (
  3. "gorm.io/gorm"
  4. )
  5. type TronAddressInfo struct {
  6. gorm.Model
  7. Name string `gorm:"column:name" json:"name"`
  8. TronIndex int64 `gorm:"column:tron_index" json:"tron_index"`
  9. TronAddress string `gorm:"type:varchar(200);column:tron_address;uniqueIndex" json:"tron_address"`
  10. }
  11. func (tron *TronAddressInfo) GetName() string {
  12. return tron.Name
  13. }
  14. func (tron *TronAddressInfo) GetIndex() int64 {
  15. return tron.TronIndex
  16. }
  17. func (tron *TronAddressInfo) GetAddr() string {
  18. return tron.TronAddress
  19. }
  20. func (tron *TronAddressInfo) TableName() string {
  21. return "key_manager_tron"
  22. }
  23. func (dao *Dao) CreateTron(data *TronAddressInfo) error {
  24. return dao.db.Create(&data).Error
  25. }
  26. func (dao *Dao) GetTronFromAddress(addr string) (*TronAddressInfo, error) {
  27. var tronAddressInfo TronAddressInfo
  28. err := dao.db.Table(new(TronAddressInfo).TableName()).Where("tron_address=?", addr).First(&tronAddressInfo).Error
  29. return &tronAddressInfo, err
  30. }
  31. func (dao *Dao) GetTronFromIndex(name string, index int64) (*TronAddressInfo, error) {
  32. var tronAddressInfo TronAddressInfo
  33. err := dao.db.Table(new(TronAddressInfo).TableName()).Where("name=? AND tron_index=?", name, index).First(&tronAddressInfo).Error
  34. return &tronAddressInfo, err
  35. }