// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.

package model

import (
	"time"
)

const TableNameAccountTrade = "account_trade"

// AccountTrade mapped from table <account_trade>
type AccountTrade struct {
	ID          int64      `gorm:"column:id;type:bigint;primaryKey;autoIncrement:true" json:"id"`
	UserID      int64      `gorm:"column:user_id;type:bigint;not null;index:idx_user_account_id,priority:1;index:idx_user_id,priority:1;comment:用户ID" json:"user_id"` // 用户ID
	CoinID      int64      `gorm:"column:coin_id;type:bigint;not null;index:idx_coin_id,priority:1;comment:币种ID" json:"coin_id"`                                      // 币种ID
	AccountID   int64      `gorm:"column:account_id;type:bigint;not null;index:idx_user_account_id,priority:2;comment:账户ID" json:"account_id"`                        // 账户ID
	StreamID    string     `gorm:"column:stream_id;type:varchar(100);not null;comment:交易流水ID" json:"stream_id"`                                                       // 交易流水ID
	AccountType string     `gorm:"column:account_type;type:varchar(100);not null;comment:账户类型" json:"account_type"`                                                   // 账户类型
	TradeType   string     `gorm:"column:trade_type;type:varchar(100);not null;comment:交易类型" json:"trade_type"`                                                       // 交易类型
	Direction   int64      `gorm:"column:direction;type:bigint;not null;comment:资金流转方向:  1:入账  2:出账  3:其他" json:"direction"`                                          // 资金流转方向:  1:入账  2:出账  3:其他
	Amount      float64    `gorm:"column:amount;type:decimal(40,20);not null;comment:资产数量" json:"amount"`                                                             // 资产数量
	Status      int64      `gorm:"column:status;type:bigint;not null;comment:流水状态  0:默认 1:执行中 2:执行完成 3:回滚中 4:回滚完成" json:"status"`                                     // 流水状态  0:默认 1:执行中 2:执行完成 3:回滚中 4:回滚完成
	Remark      string     `gorm:"column:remark;type:varchar(200);not null;comment:备注" json:"remark"`                                                                 // 备注
	ExtraData   string     `gorm:"column:extra_data;type:varchar(10000);not null" json:"extra_data"`
	TradeTime   *time.Time `gorm:"column:trade_time;type:datetime;not null;index:idx_user_account_id,priority:3;default:CURRENT_TIMESTAMP;comment:交易时间" json:"trade_time"` // 交易时间
	CreatedAt   *time.Time `gorm:"column:created_at;type:datetime;not null;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"`                                      // 创建时间
	UpdatedAt   *time.Time `gorm:"column:updated_at;type:datetime;not null;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"`                                      // 更新时间
}

// TableName AccountTrade's table name
func (*AccountTrade) TableName() string {
	return TableNameAccountTrade
}
