package mysqlmodel type VIPFlowLog struct { Model UserID int64 `gorm:"column:user_id"` // 用户ID // ChangeType 变更类型 1=开通 2=续费 3=活动赠送 4=到期失效 5=人工调整 6=退款回收 ChangeType int8 `gorm:"column:change_type;uniqueIndex:uk_vip_flow_idem,priority:2"` OldVIPType int8 `gorm:"column:old_vip_type"` // 变更前VIP类型 1=非会员 2=月度会员 3=年度会员 4=体验会员 NewVIPType int8 `gorm:"column:new_vip_type"` // 变更后VIP类型 1=非会员 2=月度会员 3=年度会员 4=体验会员 OldVIPExpire int64 `gorm:"column:old_vip_expire"` // 变更前到期时间(秒) NewVIPExpire int64 `gorm:"column:new_vip_expire"` // 变更后到期时间(秒) // OrderNo 关联订单号(购买类变更);唯一索引 (order_no, change_type) 为 VIP 发放/回收幂等兜底。 OrderNo string `gorm:"column:order_no;uniqueIndex:uk_vip_flow_idem,priority:1"` Source int8 `gorm:"column:source"` // 变更来源 1=个人支付 2=活动赠送 3=系统 4=人工调整 Reason string `gorm:"column:reason"` // 变更原因/备注 } func (VIPFlowLog) TableName() string { return "vip_flow_logs" }