yumi-golang/internal/model/registerreward_models.go

41 lines
4.1 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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" }