package model import ( "blazing/cool" ) // 表名常量定义:精灵奖励表(存储精灵BOSS/普通精灵对应的奖励配置:掉落物品/数量/概率/获取条件等) const ( TableNamePetReward = "config_pet_reward" // 精灵奖励配置表(包含基础掉落/稀有奖励/VIP专属奖励/保底机制) ) // PetReward 精灵奖励基础配置模型(核心存储结构,与数据库表字段一一对应) type PetReward struct { *cool.Model // 嵌入通用Model(包含ID/创建时间/更新时间等通用字段,保持与BossConfig一致) IsEnabled uint32 `gorm:"not null;default:0;comment:'是否启用(0-禁用 1-启用)'" json:"is_enabled"` MonID int32 `gorm:"not null;comment:'BOSS对应的精灵ID'" json:"mon_id"` DV int32 `gorm:"not null;default:0;comment:'成长值'" json:"dv"` Nature int32 `gorm:"not null;default:0;comment:'BOSS属性-性格'" json:"nature"` Effect int32 `gorm:"not null;comment:'BOSS特性'" json:"effect"` Lv int32 `gorm:"not null;comment:'BOSS等级(LvHpMatchUser非0时此配置无效)'" json:"lv"` IsEgg uint32 `gorm:"not null;default:0;comment:'是否蛋'" json:"is_egg"` //奖励是否为扭蛋奖励 Desc *string `gorm:"size:512;default:'';comment:'BOSS描述'" json:"desc"` } // TableName 指定PetReward对应的数据库表名(遵循现有代码规范) func (*PetReward) TableName() string { return TableNamePetReward } // GroupName 指定表所属的分组(与BossConfig保持一致,统一为default分组) func (*PetReward) GroupName() string { return "default" } // NewPetReward 创建一个新的PetReward实例(初始化通用Model字段+所有字段默认值,与NewBossConfig保持一致) func NewPetReward() *PetReward { return &PetReward{ Model: cool.NewModel(), // 初始化通用Model字段(ID/创建时间/更新时间等) // 可根据需要设置其他字段的默认值,此处保持与gorm tag中default一致 } } // init 程序启动时自动创建/同步精灵奖励表结构(与BossConfig的表同步逻辑一致) func init() { cool.CreateTable(&PetReward{}) }