Files
junhong_cmp_fiber/internal/model/agent_wallet_reservation.go
2026-07-24 16:07:18 +08:00

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"
}