41 lines
4.1 KiB
Go
41 lines
4.1 KiB
Go
package model
|
||
|
||
import "time"
|
||
|
||
// ResidentRegisterRewardConfig 保存常驻注册奖励配置。
|
||
type ResidentRegisterRewardConfig struct {
|
||
ID int64 `gorm:"column:id;primaryKey"` // 配置主键
|
||
SysOrigin string `gorm:"column:sys_origin;size:32;uniqueIndex:uk_resident_register_reward_sys_origin"` // 系统标识
|
||
Enabled bool `gorm:"column:enabled"` // 配置是否启用
|
||
GoldAmount int64 `gorm:"column:gold_amount"` // 注册赠送金币数量
|
||
RewardGroupID *int64 `gorm:"column:reward_group_id"` // 道具奖励组 ID
|
||
DailyLimit int64 `gorm:"column:daily_limit"` // 每日可发放的奖励份数,0 表示不限
|
||
CreateTime time.Time `gorm:"column:create_time"` // 创建时间
|
||
UpdateTime time.Time `gorm:"column:update_time"` // 更新时间
|
||
CreateUser *int64 `gorm:"column:create_user"` // 创建用户
|
||
UpdateUser *int64 `gorm:"column:update_user"` // 更新用户
|
||
}
|
||
|
||
// TableName 返回注册奖励配置表名。
|
||
func (ResidentRegisterRewardConfig) TableName() string { return "resident_register_reward_config" }
|
||
|
||
// ResidentRegisterRewardLog 记录注册奖励消费链路的处理结果。
|
||
type ResidentRegisterRewardLog struct {
|
||
ID int64 `gorm:"column:id;primaryKey"` // 日志主键
|
||
EventID string `gorm:"column:event_id;size:128;uniqueIndex:uk_register_reward_event"` // 业务事件 ID
|
||
StreamMessageID string `gorm:"column:stream_message_id;size:64"` // Redis Stream 消息 ID
|
||
SysOrigin string `gorm:"column:sys_origin;size:32;index:idx_register_reward_sys_user,priority:1;index:idx_register_reward_claim,priority:1"` // 系统标识
|
||
UserID int64 `gorm:"column:user_id;index:idx_register_reward_sys_user,priority:2"` // 用户 ID
|
||
ClaimDate string `gorm:"column:claim_date;size:10;index:idx_register_reward_claim,priority:2"` // 领取日期,格式为 YYYY-MM-DD
|
||
GoldAmount int64 `gorm:"column:gold_amount"` // 实际发放金币数
|
||
RewardGroupID *int64 `gorm:"column:reward_group_id"` // 实际发放道具奖励组 ID
|
||
GrantMode string `gorm:"column:grant_mode;size:32;index:idx_register_reward_claim,priority:3"` // 发奖决策模式:ISSUE_REWARD / QUOTA_EXHAUSTED
|
||
Status string `gorm:"column:status;size:32"` // 处理状态
|
||
ErrorMessage string `gorm:"column:error_message;size:255"` // 失败原因
|
||
CreateTime time.Time `gorm:"column:create_time"` // 创建时间
|
||
UpdateTime time.Time `gorm:"column:update_time"` // 更新时间
|
||
}
|
||
|
||
// TableName 返回注册奖励日志表名。
|
||
func (ResidentRegisterRewardLog) TableName() string { return "resident_register_reward_log" }
|