package model import ( "blazing/cool" "time" ) // 表名常量定义:CDK配置表 const ( TableNameCDKConfig = "config_gift_cdk" // CDK配置表(记录CDK编号、可兑换次数、奖励配置等核心信息) ) // CDKConfig CDK核心配置模型(含可兑换次数,满足查询`where 可兑换次数 != 0`需求) type CDKConfig struct { *cool.Model // 核心字段 CDKCode string `gorm:"not null;size:16;uniqueIndex;comment:'CDK编号(唯一标识,用于玩家兑换)'" json:"cdk_code" description:"CDK编号"` //cdk可兑换次数,where不等于0 ExchangeRemainCount int64 `gorm:"not null;default:1;comment:'CDK剩余可兑换次数(不能为0才允许兑换,支持查询where !=0)'" json:"exchange_remain_count" description:"剩余可兑换次数"` ItemRewardIds []uint32 `gorm:"not null;type:json;default:'[]';comment:'绑定奖励物品ID数组,关联item_gift表主键'" json:"item_reward_ids" description:"奖励物品数组"` ElfRewardIds []uint32 `gorm:"not null;type:json;default:'[]';comment:'绑定奖励精灵ID数组,关联config_pet_boss表主键'" json:"elf_reward_ids" description:"奖励精灵数组"` TitleRewardIds uint32 `gorm:"not null;default:0;comment:'绑定奖励称号'" json:"title_reward_ids" description:"绑定奖励称号"` ValidEndTime time.Time `gorm:"not null;comment:'CDK有效结束时间'" json:"valid_end_time" description:"有效结束时间"` Remark string `gorm:"size:512;default:'';comment:'CDK备注'" json:"remark" description:"备注信息"` //ItemGift []*ItemGift `gorm:"-" orm:"with:item_id=id"` } // -------------------------- 核心配套方法(遵循项目规范)-------------------------- func (*CDKConfig) TableName() string { return TableNameCDKConfig } func (*CDKConfig) GroupName() string { return "default" } func NewCDKConfig() *CDKConfig { return &CDKConfig{ Model: cool.NewModel(), } } // -------------------------- 表结构自动同步 -------------------------- func init() { cool.CreateTable(&CDKConfig{}) }