eth.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package dao
  2. import (
  3. "gorm.io/gorm"
  4. )
  5. type EthAddressInfo struct {
  6. gorm.Model
  7. Name string `gorm:"column:name" json:"name"`
  8. EthIndex int64 `gorm:"column:eth_index" json:"eth_index"`
  9. EthAddress string `gorm:"type:varchar(200);column:eth_address;uniqueIndex" json:"eth_address"`
  10. }
  11. type AccountInfo interface {
  12. GetName() string
  13. GetIndex() int64
  14. GetAddr() string
  15. }
  16. func (eth *EthAddressInfo) GetName() string {
  17. return eth.Name
  18. }
  19. func (eth *EthAddressInfo) GetIndex() int64 {
  20. return eth.EthIndex
  21. }
  22. func (eth *EthAddressInfo) GetAddr() string {
  23. return eth.EthAddress
  24. }
  25. func (eth *EthAddressInfo) TableName() string {
  26. return "key_manager_eth"
  27. }
  28. func (dao *Dao) CreateEth(data *EthAddressInfo) error {
  29. return dao.db.Create(&data).Error
  30. }
  31. func (dao *Dao) GetEthFromAddress(addr string) (*EthAddressInfo, error) {
  32. var ethAddressInfo EthAddressInfo
  33. err := dao.db.Table(new(EthAddressInfo).TableName()).Where("eth_address=?", addr).First(&ethAddressInfo).Error
  34. return &ethAddressInfo, err
  35. }
  36. func (dao *Dao) GetEthFromIndex(name string, index int64) (*EthAddressInfo, error) {
  37. var ethAddressInfo EthAddressInfo
  38. err := dao.db.Table(new(EthAddressInfo).TableName()).Where("name=? AND eth_index=?", name, index).First(&ethAddressInfo).Error
  39. return &ethAddressInfo, err
  40. }