package models import ( "git.apinb.com/bsm-sdk/core/database" "time" ) // WalletRechargeOrder 保存客户端钱包充值订单。 type WalletRechargeOrder struct { Entity // 公共实体字段 RechargeStatus int `gorm:"column:recharge_status;not null;default:10;index" json:"recharge_status"` // 充值订单状态 WalletBasicID uint64 `gorm:"column:wallet_basic_id;not null;index" json:"wallet_basic_id"` // 钱包内部主键 RechargeNo string `gorm:"column:recharge_no;type:varchar(64);not null;uniqueIndex" json:"recharge_no"` // 充值订单号 RequestNo string `gorm:"column:request_no;type:varchar(128);not null;uniqueIndex" json:"request_no"` // 创建幂等号 Amount int64 `gorm:"column:amount;not null;check:amount > 0" json:"amount"` // 充值金额,单位分 Channel string `gorm:"column:channel;type:varchar(32);not null" json:"channel"` // 支付渠道 OwnerType string `gorm:"column:owner_type;type:varchar(32);not null;index" json:"owner_type"` // 钱包主体类型 OwnerIdentity string `gorm:"column:owner_identity;type:varchar(36);not null;index" json:"owner_identity"` // 钱包主体业务标识 CompletedAt *time.Time `gorm:"column:completed_at;type:timestamptz" json:"completed_at"` // 支付完成时间 } func init() { database.AppendMigrate(&WalletRechargeOrder{}) } func (*WalletRechargeOrder) TableName() string { return "wallet_recharge_order" }