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

48 lines
1.4 KiB
Go
Raw Normal View History

package model
import (
"blazing/cool"
)
const (
TableNamePetFusion = "config_fusion_pet" // 宠物融合配方表(主表)
)
// PetFusion 宠物融合配方主模型(核心配方规则)
type PetFusion struct {
2026-02-13 22:57:05 +08:00
*BaseConfig
2026-02-07 02:52:03 +08:00
MainPetID int32 `gorm:"not null;comment:'主宠物ID尼尔'" json:"main_pet_id"`
2026-02-13 22:57:05 +08:00
2026-02-04 23:13:53 +08:00
SubPetIDs []int32 `gorm:"type:int[];comment:'副宠物IDs1,2,3'" json:"sub_pet_ids"`
Probability int32 `gorm:"not null;comment:'融合成功率百分比如80代表80%'" json:"probability"`
ResultPetID int32 `gorm:"not null;comment:'融合结果宠物ID卡鲁、闪尼'" json:"result_pet_id"`
2026-02-13 22:57:05 +08:00
IsDefault int32 `gorm:"not null;default:0;comment:'是否默认配方1:默认配方0:非默认;所有配方不匹配时随机选默认配方)'" json:"is_default"`
// 关联一个配方对应多个材料gorm 一对多关联,查询时可预加载)
//Materials []*PetFusionMaterial `gorm:"foreignKey:PetFusionID;references:ID" json:"materials,omitempty"`
}
// TableName 指定主表名
func (*PetFusion) TableName() string {
return TableNamePetFusion
}
// GroupName 表分组(与原逻辑一致)
func (*PetFusion) GroupName() string {
return "default"
}
// NewPetFusion 创建主表实例
func NewPetFusion() *PetFusion {
return &PetFusion{
2026-02-13 22:57:05 +08:00
BaseConfig: NewBaseConfig(),
}
}
// init 初始化主表结构
func init() {
cool.CreateTable(&PetFusion{})
}