Files
bl/modules/config/model/pet_gift.go

48 lines
2.1 KiB
Go
Raw Normal View History

package model
import (
"blazing/cool"
)
// 表名常量定义精灵奖励表存储精灵BOSS/普通精灵对应的奖励配置:掉落物品/数量/概率/获取条件等)
const (
TableNamePetReward = "config_gift_pet" // 精灵奖励配置表(包含基础掉落/稀有奖励/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{})
}