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

51 lines
2.0 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 (
"blazing/cool"
)
// 表名常量定义精灵奖励表存储精灵BOSS/普通精灵对应的奖励配置:掉落物品/数量/概率/获取条件等)
const (
TableNamePetReward = "config_pet_reward" // 精灵奖励配置表(包含基础掉落/稀有奖励/VIP专属奖励/保底机制)
)
// PetReward 精灵奖励基础配置模型(核心存储结构,与数据库表字段一一对应)
type PetReward struct {
*cool.Model // 嵌入通用Model包含ID/创建时间/更新时间等通用字段保持与BossConfig一致
PetBaseConfig
IsEgg uint32 `gorm:"not null;default:0;comment:'是否蛋'" json:"is_egg"` //奖励是否为扭蛋奖励
}
// PetRewardEX 精灵奖励扩展配置模型(用于前端/业务层的复杂数据解析,继承基础模型)
type PetRewardEX struct {
PetReward // 嵌入基础精灵奖励模型
RewardName string `json:"reward_name"` // 奖励名称(前端展示用,非数据库存储字段)
RewardIcon string `json:"reward_icon"` // 奖励图标路径(前端展示用,非数据库存储字段)
DropRateDesc string `json:"drop_rate_desc"` // 掉落概率描述(如"10%概率获取",前端展示用)
}
// 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{})
}