package model import "time" type OrderStatus string const ( OrderPending OrderStatus = "pending" // 待支付 OrderPaid OrderStatus = "paid" // 已支付 OrderClosed OrderStatus = "closed" // 已关闭/超时 OrderRefunded OrderStatus = "refunded" // 已退款 ) // Order 一笔收款订单。OutTradeNo 是我们生成的商户订单号,贯穿下单/回调/查单。 type Order struct { Base OutTradeNo string `gorm:"uniqueIndex;size:64;not null" json:"out_trade_no"` MerchantID uint64 `gorm:"index;not null" json:"merchant_id"` Channel string `gorm:"size:16" json:"channel"` ProductID uint64 `json:"product_id"` Subject string `gorm:"size:128" json:"subject"` Amount string `gorm:"size:20;not null" json:"amount"` // 权威金额,回调/查单核对用 Status OrderStatus `gorm:"index;size:16;not null" json:"status"` TradeNo string `gorm:"index;size:64" json:"trade_no"` // 支付宝交易号 BuyerLogonID string `gorm:"size:128" json:"buyer_logon_id"` PaidAt *time.Time `json:"paid_at"` ClientIP string `gorm:"size:64" json:"client_ip"` // —— 业务对接(如 jiu 授权续费)—— BizSystem string `gorm:"index;size:32" json:"biz_system,omitempty"` // 业务来源,如 jiu;决定入账后回调哪个 webhook。空=独立收款(/paytest 等) BizRef string `gorm:"size:128" json:"biz_ref,omitempty"` // 业务引用(jiu 的 purchase_id),webhook 原样回传 BizNotified bool `gorm:"default:false" json:"biz_notified"` // 业务 webhook 是否已成功回调(幂等/重试用) }