package mysqlmodel // QuotaFlowLog 配额流水日志,统计用户配额变更情况 type QuotaFlowLog struct { Model QuotaFlowUUID string `gorm:"column:quota_flow_uuid"` // 配额流水UUID UserID int64 `gorm:"column:user_id"` // 用户ID ChangeTarget int8 `gorm:"column:change_target"` // 调整额度类型 1=配额调整 2=使用 // ChangeType 变更类型 1=购买获赠 2=活动赠送 3=上传消耗 4=删除回退 5=人工调整 6=退款回收 7=到期失效 ChangeType int8 `gorm:"column:change_type;uniqueIndex:uk_quota_flow_idem,priority:3"` ChangeNum int64 `gorm:"column:change_num"` // 变更数量(正数增加,负数减少) OldValue int64 `gorm:"column:old_value"` // 变更前数值 NewValue int64 `gorm:"column:new_value"` // 变更后数值 // OrderNo 关联订单号(购买/退款类);消费/回退/初始化类由 DAO 写入流水 UUID 保证联合唯一索引不冲突。 OrderNo string `gorm:"column:order_no;uniqueIndex:uk_quota_flow_idem,priority:1"` QuotaType int8 `gorm:"column:quota_type;uniqueIndex:uk_quota_flow_idem,priority:2"` // 关联业务类型 1=cos 2=AI 3=社区分享 4=衣柜分享 RelatedID int64 `gorm:"column:related_id"` // 关联业务ID Reason string `gorm:"column:reason"` // 变更原因/备注 } func (QuotaFlowLog) TableName() string { return "quota_flow_logs" }