|
|
package gormt
|
|
|
|
|
|
import (
|
|
|
"time"
|
|
|
)
|
|
|
|
|
|
// JcPaymentWithdraw 用户提币订单表
|
|
|
type JcPaymentWithdraw struct {
|
|
|
ID uint64 `gorm:"autoIncrement:true;primaryKey;column:id;type:bigint unsigned;not null;comment:'主键ID'" json:"id"` // 主键ID
|
|
|
InvoiceCode string `gorm:"unique;column:invoice_code;type:varchar(64);not null;default:'';comment:'发票编码'" json:"invoice_code"` // 发票编码
|
|
|
AppID string `gorm:"column:app_id;type:varchar(64);not null;default:'';comment:'应用ID'" json:"app_id"` // 应用ID
|
|
|
OrderID string `gorm:"column:order_id;type:varchar(64);not null;default:'';comment:'游戏端订单ID'" json:"order_id"` // 游戏端订单ID
|
|
|
UserID string `gorm:"index:user_id;column:user_id;type:varchar(64);not null;default:'';comment:'用户游戏ID'" json:"user_id"` // 用户游戏ID
|
|
|
UserType int8 `gorm:"column:user_type;type:tinyint;not null;default:0;comment:'用户类型,0-玩家,1-商家,2-其他'" json:"user_type"` // 用户类型,0-玩家,1-商家,2-其他
|
|
|
FromAddress string `gorm:"column:from_address;type:varchar(64);not null;default:'';comment:'发币账号地址'" json:"from_address"` // 发币账号地址
|
|
|
ToAddress string `gorm:"column:to_address;type:varchar(64);not null;default:'';comment:'用户提币地址'" json:"to_address"` // 用户提币地址
|
|
|
ChainNet string `gorm:"index:chain_net;column:chain_net;type:varchar(16);not null;default:'';comment:'网络类型, options:BTC|ERC20|BEP20|TRC20'" json:"chain_net"` // 网络类型, options:BTC|ERC20|BEP20|TRC20
|
|
|
Token string `gorm:"index:token;column:token;type:varchar(16);not null;default:'';comment:'代币, options:BTC|USDT|ETH|BNB|TRX|USDP|USDC'" json:"token"` // 代币, options:BTC|USDT|ETH|BNB|TRX|USDP|USDC
|
|
|
AmountInput float64 `gorm:"column:amount_input;type:decimal(40,18);not null;default:0.000000000000000000;comment:'用户输入的提币金额'" json:"amount_input"` // 用户输入的提币金额
|
|
|
AmountCredited float64 `gorm:"column:amount_credited;type:decimal(40,18);not null;default:0.000000000000000000;comment:'实际到账金额'" json:"amount_credited"` // 实际到账金额
|
|
|
GasToken float64 `gorm:"column:gas_token;type:decimal(40,18);not null;default:0.000000000000000000;comment:'手续费换算对应token, 扣掉的, 基于gas_limit计算'" json:"gas_token"` // 手续费换算对应token, 扣掉的, 基于gas_limit计算
|
|
|
GasRate float64 `gorm:"column:gas_rate;type:decimal(40,18);not null;default:0.000000000000000000;comment:'燃料费(基础币)兑token的汇率'" json:"gas_rate"` // 燃料费(基础币)兑token的汇率
|
|
|
UserFeeRate float64 `gorm:"column:user_fee_rate;type:decimal(40,18);not null;default:0.000000000000000000;comment:'扣除玩家手续费的倍率,从配置文件中取'" json:"user_fee_rate"` // 扣除玩家手续费的倍率,从配置文件中取
|
|
|
GasLimit float64 `gorm:"column:gas_limit;type:decimal(40,18);not null;default:0.000000000000000000;comment:'提币的燃料费限制'" json:"gas_limit"` // 提币的燃料费限制
|
|
|
GasPrice float64 `gorm:"column:gas_price;type:decimal(40,18);not null;default:0.000000000000000000;comment:'燃料费价格,用于计算需要花费的基础币'" json:"gas_price"` // 燃料费价格,用于计算需要花费的基础币
|
|
|
GasFee float64 `gorm:"column:gas_fee;type:decimal(40,18);not null;default:0.000000000000000000;comment:'实际转账燃料费'" json:"gas_fee"` // 实际转账燃料费
|
|
|
SendCount int `gorm:"column:send_count;type:int;not null;comment:'广播交易次数'" json:"send_count"` // 广播交易次数
|
|
|
SendAt time.Time `gorm:"column:send_at;type:timestamp;default:null;comment:'发送交易时间'" json:"send_at"` // 发送交易时间
|
|
|
SendRemark string `gorm:"column:send_remark;type:varchar(255);not null;default:'';comment:'交易出错备注'" json:"send_remark"` // 交易出错备注
|
|
|
CheckTimes int `gorm:"column:check_times;type:int;not null;default:0;comment:'查询结果次数'" json:"check_times"` // 查询结果次数
|
|
|
CheckRemark string `gorm:"column:check_remark;type:varchar(255);not null;default:'';comment:'检查出错备注'" json:"check_remark"` // 检查出错备注
|
|
|
SuccessAt time.Time `gorm:"column:success_at;type:timestamp;default:null;comment:'成功的时间'" json:"success_at"` // 成功的时间
|
|
|
TxHash string `gorm:"index:tx_hash;column:tx_hash;type:varchar(80);not null;default:'';comment:'交易哈希'" json:"tx_hash"` // 交易哈希
|
|
|
Status int8 `gorm:"column:status;type:tinyint;not null;default:0;comment:'订单状态:0待转账,1转账中,2发送成功待确认,3确认成功,4确认失败,5已退款,6已关闭'" json:"status"` // 订单状态:0待转账,1转账中,2发送成功待确认,3确认成功,4确认失败,5已退款,6已关闭
|
|
|
CreatedAt time.Time `gorm:"column:created_at;type:timestamp;not null;default:CURRENT_TIMESTAMP;comment:'创建时间'" json:"created_at"` // 创建时间
|
|
|
UpdatedAt time.Time `gorm:"column:updated_at;type:timestamp;not null;default:CURRENT_TIMESTAMP;comment:'更新时间'" json:"updated_at"` // 更新时间
|
|
|
}
|
|
|
|
|
|
// TableName get sql table name.获取数据库表名
|
|
|
func (m *JcPaymentWithdraw) TableName() string {
|
|
|
return "jc_payment_withdraw"
|
|
|
}
|
|
|
|
|
|
type IJcPaymentWithdraw interface {
|
|
|
GetID() uint64
|
|
|
GetInvoiceCode() string
|
|
|
GetAppID() string
|
|
|
GetOrderID() string
|
|
|
GetUserID() string
|
|
|
GetUserType() int8
|
|
|
GetFromAddress() string
|
|
|
GetToAddress() string
|
|
|
GetChainNet() string
|
|
|
GetToken() string
|
|
|
GetAmountInput() float64
|
|
|
GetAmountCredited() float64
|
|
|
GetGasToken() float64
|
|
|
GetGasRate() float64
|
|
|
GetUserFeeRate() float64
|
|
|
GetGasLimit() float64
|
|
|
GetGasPrice() float64
|
|
|
GetGasFee() float64
|
|
|
GetSendCount() int
|
|
|
GetSendAt() time.Time
|
|
|
GetSendRemark() string
|
|
|
GetCheckTimes() int
|
|
|
GetCheckRemark() string
|
|
|
GetSuccessAt() time.Time
|
|
|
GetTxHash() string
|
|
|
GetStatus() int8
|
|
|
GetCreatedAt() time.Time
|
|
|
GetUpdatedAt() time.Time
|
|
|
}
|
|
|
|
|
|
func (m *JcPaymentWithdraw) GetID() uint64 {
|
|
|
return m.ID
|
|
|
}
|
|
|
|
|
|
func (m *JcPaymentWithdraw) GetInvoiceCode() string {
|
|
|
return m.InvoiceCode
|
|
|
}
|
|
|
|
|
|
func (m *JcPaymentWithdraw) GetAppID() string {
|
|
|
return m.AppID
|
|
|
}
|
|
|
|
|
|
func (m *JcPaymentWithdraw) GetOrderID() string {
|
|
|
return m.OrderID
|
|
|
}
|
|
|
|
|
|
func (m *JcPaymentWithdraw) GetUserID() string {
|
|
|
return m.UserID
|
|
|
}
|
|
|
|
|
|
func (m *JcPaymentWithdraw) GetUserType() int8 {
|
|
|
return m.UserType
|
|
|
}
|
|
|
|
|
|
func (m *JcPaymentWithdraw) GetFromAddress() string {
|
|
|
return m.FromAddress
|
|
|
}
|
|
|
|
|
|
func (m *JcPaymentWithdraw) GetToAddress() string {
|
|
|
return m.ToAddress
|
|
|
}
|
|
|
|
|
|
func (m *JcPaymentWithdraw) GetChainNet() string {
|
|
|
return m.ChainNet
|
|
|
}
|
|
|
|
|
|
func (m *JcPaymentWithdraw) GetToken() string {
|
|
|
return m.Token
|
|
|
}
|
|
|
|
|
|
func (m *JcPaymentWithdraw) GetAmountInput() float64 {
|
|
|
return m.AmountInput
|
|
|
}
|
|
|
|
|
|
func (m *JcPaymentWithdraw) GetAmountCredited() float64 {
|
|
|
return m.AmountCredited
|
|
|
}
|
|
|
|
|
|
func (m *JcPaymentWithdraw) GetGasToken() float64 {
|
|
|
return m.GasToken
|
|
|
}
|
|
|
|
|
|
func (m *JcPaymentWithdraw) GetGasRate() float64 {
|
|
|
return m.GasRate
|
|
|
}
|
|
|
|
|
|
func (m *JcPaymentWithdraw) GetUserFeeRate() float64 {
|
|
|
return m.UserFeeRate
|
|
|
}
|
|
|
|
|
|
func (m *JcPaymentWithdraw) GetGasLimit() float64 {
|
|
|
return m.GasLimit
|
|
|
}
|
|
|
|
|
|
func (m *JcPaymentWithdraw) GetGasPrice() float64 {
|
|
|
return m.GasPrice
|
|
|
}
|
|
|
|
|
|
func (m *JcPaymentWithdraw) GetGasFee() float64 {
|
|
|
return m.GasFee
|
|
|
}
|
|
|
|
|
|
func (m *JcPaymentWithdraw) GetSendCount() int {
|
|
|
return m.SendCount
|
|
|
}
|
|
|
|
|
|
func (m *JcPaymentWithdraw) GetSendAt() time.Time {
|
|
|
return m.SendAt
|
|
|
}
|
|
|
|
|
|
func (m *JcPaymentWithdraw) GetSendRemark() string {
|
|
|
return m.SendRemark
|
|
|
}
|
|
|
|
|
|
func (m *JcPaymentWithdraw) GetCheckTimes() int {
|
|
|
return m.CheckTimes
|
|
|
}
|
|
|
|
|
|
func (m *JcPaymentWithdraw) GetCheckRemark() string {
|
|
|
return m.CheckRemark
|
|
|
}
|
|
|
|
|
|
func (m *JcPaymentWithdraw) GetSuccessAt() time.Time {
|
|
|
return m.SuccessAt
|
|
|
}
|
|
|
|
|
|
func (m *JcPaymentWithdraw) GetTxHash() string {
|
|
|
return m.TxHash
|
|
|
}
|
|
|
|
|
|
func (m *JcPaymentWithdraw) GetStatus() int8 {
|
|
|
return m.Status
|
|
|
}
|
|
|
|
|
|
func (m *JcPaymentWithdraw) GetCreatedAt() time.Time {
|
|
|
return m.CreatedAt
|
|
|
}
|
|
|
|
|
|
func (m *JcPaymentWithdraw) GetUpdatedAt() time.Time {
|
|
|
return m.UpdatedAt
|
|
|
}
|
|
|
|
|
|
// ToMap struct to map 结构体转成map
|
|
|
func (m *JcPaymentWithdraw) ToMap() map[string]any {
|
|
|
return map[string]any{
|
|
|
"id": m.ID,
|
|
|
"invoice_code": m.InvoiceCode,
|
|
|
"app_id": m.AppID,
|
|
|
"order_id": m.OrderID,
|
|
|
"user_id": m.UserID,
|
|
|
"user_type": m.UserType,
|
|
|
"from_address": m.FromAddress,
|
|
|
"to_address": m.ToAddress,
|
|
|
"chain_net": m.ChainNet,
|
|
|
"token": m.Token,
|
|
|
"amount_input": m.AmountInput,
|
|
|
"amount_credited": m.AmountCredited,
|
|
|
"gas_token": m.GasToken,
|
|
|
"gas_rate": m.GasRate,
|
|
|
"user_fee_rate": m.UserFeeRate,
|
|
|
"gas_limit": m.GasLimit,
|
|
|
"gas_price": m.GasPrice,
|
|
|
"gas_fee": m.GasFee,
|
|
|
"send_count": m.SendCount,
|
|
|
"send_at": m.SendAt,
|
|
|
"send_remark": m.SendRemark,
|
|
|
"check_times": m.CheckTimes,
|
|
|
"check_remark": m.CheckRemark,
|
|
|
"success_at": m.SuccessAt,
|
|
|
"tx_hash": m.TxHash,
|
|
|
"status": m.Status,
|
|
|
"created_at": m.CreatedAt,
|
|
|
"updated_at": m.UpdatedAt,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// ToMapWithoutModel struct to map 结构体转成map, 不带gorm.Model
|
|
|
func (m *JcPaymentWithdraw) ToMapWithoutModel() map[string]any {
|
|
|
return map[string]any{
|
|
|
"invoice_code": m.InvoiceCode,
|
|
|
"app_id": m.AppID,
|
|
|
"order_id": m.OrderID,
|
|
|
"user_id": m.UserID,
|
|
|
"user_type": m.UserType,
|
|
|
"from_address": m.FromAddress,
|
|
|
"to_address": m.ToAddress,
|
|
|
"chain_net": m.ChainNet,
|
|
|
"token": m.Token,
|
|
|
"amount_input": m.AmountInput,
|
|
|
"amount_credited": m.AmountCredited,
|
|
|
"gas_token": m.GasToken,
|
|
|
"gas_rate": m.GasRate,
|
|
|
"user_fee_rate": m.UserFeeRate,
|
|
|
"gas_limit": m.GasLimit,
|
|
|
"gas_price": m.GasPrice,
|
|
|
"gas_fee": m.GasFee,
|
|
|
"send_count": m.SendCount,
|
|
|
"send_at": m.SendAt,
|
|
|
"send_remark": m.SendRemark,
|
|
|
"check_times": m.CheckTimes,
|
|
|
"check_remark": m.CheckRemark,
|
|
|
"success_at": m.SuccessAt,
|
|
|
"tx_hash": m.TxHash,
|
|
|
"status": m.Status,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// JcPaymentWithdrawColumns get sql column name.获取数据库列名
|
|
|
var JcPaymentWithdrawColumns = struct {
|
|
|
ID string
|
|
|
InvoiceCode string
|
|
|
AppID string
|
|
|
OrderID string
|
|
|
UserID string
|
|
|
UserType string
|
|
|
FromAddress string
|
|
|
ToAddress string
|
|
|
ChainNet string
|
|
|
Token string
|
|
|
AmountInput string
|
|
|
AmountCredited string
|
|
|
GasToken string
|
|
|
GasRate string
|
|
|
UserFeeRate string
|
|
|
GasLimit string
|
|
|
GasPrice string
|
|
|
GasFee string
|
|
|
SendCount string
|
|
|
SendAt string
|
|
|
SendRemark string
|
|
|
CheckTimes string
|
|
|
CheckRemark string
|
|
|
SuccessAt string
|
|
|
TxHash string
|
|
|
Status string
|
|
|
CreatedAt string
|
|
|
UpdatedAt string
|
|
|
}{
|
|
|
ID: "id",
|
|
|
InvoiceCode: "invoice_code",
|
|
|
AppID: "app_id",
|
|
|
OrderID: "order_id",
|
|
|
UserID: "user_id",
|
|
|
UserType: "user_type",
|
|
|
FromAddress: "from_address",
|
|
|
ToAddress: "to_address",
|
|
|
ChainNet: "chain_net",
|
|
|
Token: "token",
|
|
|
AmountInput: "amount_input",
|
|
|
AmountCredited: "amount_credited",
|
|
|
GasToken: "gas_token",
|
|
|
GasRate: "gas_rate",
|
|
|
UserFeeRate: "user_fee_rate",
|
|
|
GasLimit: "gas_limit",
|
|
|
GasPrice: "gas_price",
|
|
|
GasFee: "gas_fee",
|
|
|
SendCount: "send_count",
|
|
|
SendAt: "send_at",
|
|
|
SendRemark: "send_remark",
|
|
|
CheckTimes: "check_times",
|
|
|
CheckRemark: "check_remark",
|
|
|
SuccessAt: "success_at",
|
|
|
TxHash: "tx_hash",
|
|
|
Status: "status",
|
|
|
CreatedAt: "created_at",
|
|
|
UpdatedAt: "updated_at",
|
|
|
}
|