26 lines
1.7 KiB
Go
26 lines
1.7 KiB
Go
package model
|
|
|
|
import "time"
|
|
|
|
// AgentWalletReservation 记录代理主钱包资金预占及其唯一终态。
|
|
type AgentWalletReservation struct {
|
|
ID uint `gorm:"column:id;primaryKey;autoIncrement" json:"id"`
|
|
AgentWalletID uint `gorm:"column:agent_wallet_id;not null;index:idx_agent_wallet_reservation_wallet" json:"agent_wallet_id"`
|
|
ShopID uint `gorm:"column:shop_id;not null;index:idx_agent_wallet_reservation_shop" json:"shop_id"`
|
|
Amount int64 `gorm:"column:amount;type:bigint;not null" json:"amount"`
|
|
Status int `gorm:"column:status;type:int;not null;default:1;index:idx_agent_wallet_reservation_status" json:"status"`
|
|
ReferenceType string `gorm:"column:reference_type;type:varchar(50);not null;uniqueIndex:uq_agent_wallet_reservation_reference" json:"reference_type"`
|
|
ReferenceID uint `gorm:"column:reference_id;not null;uniqueIndex:uq_agent_wallet_reservation_reference" json:"reference_id"`
|
|
Creator uint `gorm:"column:creator;not null;default:0" json:"creator"`
|
|
CompletedAt *time.Time `gorm:"column:completed_at" json:"completed_at,omitempty"`
|
|
CreatedAt time.Time `gorm:"column:created_at;not null;autoCreateTime" json:"created_at"`
|
|
UpdatedAt time.Time `gorm:"column:updated_at;not null;autoUpdateTime" json:"updated_at"`
|
|
ShopIDTag uint `gorm:"column:shop_id_tag;not null;index" json:"shop_id_tag"`
|
|
EnterpriseIDTag *uint `gorm:"column:enterprise_id_tag;index" json:"enterprise_id_tag,omitempty"`
|
|
}
|
|
|
|
// TableName 返回代理主钱包预占事实表名。
|
|
func (AgentWalletReservation) TableName() string {
|
|
return "tb_agent_wallet_reservation"
|
|
}
|