package model import "time" // CommissionClawbackRecord 佣金回溯明细模型。 // 退款完成后的佣金回溯以负数、不可提现明细独立保存,原佣金记录保持已发放不变。 // 记录不可变:生成后不更新、不删除;(refund_id, original_commission_id) 是幂等唯一事实。 type CommissionClawbackRecord struct { ID uint `gorm:"column:id;primaryKey;autoIncrement" json:"id"` RefundID uint `gorm:"column:refund_id;not null" json:"refund_id"` OriginalCommissionID uint `gorm:"column:original_commission_id;not null" json:"original_commission_id"` OrderID uint `gorm:"column:order_id;not null" json:"order_id"` ShopID uint `gorm:"column:shop_id;not null" json:"shop_id"` OrderNo string `gorm:"column:order_no;type:varchar(30);not null;default:''" json:"order_no"` RefundNo string `gorm:"column:refund_no;type:varchar(50);not null;default:''" json:"refund_no"` CommissionSource string `gorm:"column:commission_source;type:varchar(20);not null" json:"commission_source"` Amount int64 `gorm:"column:amount;type:bigint;not null;comment:回溯金额(分),恒为负数" json:"amount"` BalanceAfter int64 `gorm:"column:balance_after;type:bigint;not null;default:0;comment:回溯后佣金钱包实际余额(分),允许为负" json:"balance_after"` Withdrawable bool `gorm:"column:withdrawable;not null;default:false;comment:是否可提现,回溯明细恒为不可提现" json:"withdrawable"` Status int `gorm:"column:status;type:int;not null;default:5;comment:状态 5-回溯" json:"status"` // CreatedAt 与 tb_commission_record.created_at 同为不带时区的本地时间, // 保证两表 UNION ALL 合并分页的统一排序键与时间筛选口径一致。 CreatedAt time.Time `gorm:"column:created_at;type:timestamp;not null;autoCreateTime" json:"created_at"` } // TableName 指定表名 func (CommissionClawbackRecord) TableName() string { return "tb_commission_clawback_record" }