61 lines
3.2 KiB
Go
61 lines
3.2 KiB
Go
package model
|
|
|
|
import "time"
|
|
|
|
// BinanceRechargeConfig stores Binance API credentials per app origin.
|
|
type BinanceRechargeConfig struct {
|
|
ID int64 `gorm:"column:id;primaryKey;autoIncrement"`
|
|
SysOrigin string `gorm:"column:sys_origin;size:32;uniqueIndex:uk_binance_recharge_config_origin"`
|
|
APIKey string `gorm:"column:api_key;size:255"`
|
|
APISecret string `gorm:"column:api_secret;size:255"`
|
|
Enabled bool `gorm:"column:enabled"`
|
|
CreateTime time.Time `gorm:"column:create_time"`
|
|
UpdateTime time.Time `gorm:"column:update_time"`
|
|
}
|
|
|
|
func (BinanceRechargeConfig) TableName() string {
|
|
return "binance_recharge_config"
|
|
}
|
|
|
|
// BinanceRechargeRate maps a verified USDT amount range to gold per USD.
|
|
type BinanceRechargeRate struct {
|
|
ID int64 `gorm:"column:id;primaryKey;autoIncrement"`
|
|
ConfigID int64 `gorm:"column:config_id;index:idx_binance_recharge_rate_config"`
|
|
MinAmount string `gorm:"column:min_amount;type:decimal(20,8)"`
|
|
MaxAmount string `gorm:"column:max_amount;type:decimal(20,8)"`
|
|
GoldPerUSD string `gorm:"column:gold_per_usd;type:decimal(20,8)"`
|
|
SortOrder int `gorm:"column:sort_order"`
|
|
CreateTime time.Time `gorm:"column:create_time"`
|
|
UpdateTime time.Time `gorm:"column:update_time"`
|
|
}
|
|
|
|
func (BinanceRechargeRate) TableName() string {
|
|
return "binance_recharge_rate"
|
|
}
|
|
|
|
// BinanceRechargeVerifyRecord is the local idempotency ledger for auto recharge verification.
|
|
type BinanceRechargeVerifyRecord struct {
|
|
ID int64 `gorm:"column:id;primaryKey;autoIncrement"`
|
|
SysOrigin string `gorm:"column:sys_origin;size:32;index:idx_binance_recharge_verify_origin;uniqueIndex:uk_binance_recharge_verify_order,priority:1;uniqueIndex:uk_binance_recharge_verify_bill,priority:1"`
|
|
DealerUserID int64 `gorm:"column:dealer_user_id;index:idx_binance_recharge_verify_dealer"`
|
|
TargetUserID int64 `gorm:"column:target_user_id;index:idx_binance_recharge_verify_target"`
|
|
OrderNo string `gorm:"column:order_no;size:128;uniqueIndex:uk_binance_recharge_verify_order,priority:2"`
|
|
TransferType string `gorm:"column:transfer_type;size:32;uniqueIndex:uk_binance_recharge_verify_bill,priority:2"`
|
|
BillNo string `gorm:"column:bill_no;size:160;uniqueIndex:uk_binance_recharge_verify_bill,priority:3"`
|
|
AmountUSDT string `gorm:"column:amount_usdt;type:decimal(20,8)"`
|
|
GoldAmount int64 `gorm:"column:gold_amount"`
|
|
RateGoldPerUSD string `gorm:"column:rate_gold_per_usd;type:decimal(20,8)"`
|
|
BinanceTransactionID string `gorm:"column:binance_transaction_id;size:180"`
|
|
BinanceOrderType string `gorm:"column:binance_order_type;size:64"`
|
|
BinanceRawJSON string `gorm:"column:binance_raw_json;type:text"`
|
|
Status string `gorm:"column:status;size:24;index:idx_binance_recharge_verify_status"`
|
|
FailReason string `gorm:"column:fail_reason;size:500"`
|
|
Remark string `gorm:"column:remark;size:500"`
|
|
CreateTime time.Time `gorm:"column:create_time"`
|
|
UpdateTime time.Time `gorm:"column:update_time"`
|
|
}
|
|
|
|
func (BinanceRechargeVerifyRecord) TableName() string {
|
|
return "binance_recharge_verify_record"
|
|
}
|