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

49 lines
1.7 KiB
Go
Raw Normal View History

package model
import "blazing/cool"
const (
TableNamePetFusionMaterial = "pet_fusion_material" // 宠物融合材料表(子表)
)
// PetFusionMaterial 融合材料模型(与配方主表一对一关联)
type PetFusionMaterial struct {
*cool.Model // 嵌入通用ModelID/创建时间/更新时间等)
// 4个材料ID对应XML ItemGroup的Idx=1-4无材料填0
Material1 uint32 `gorm:"not null;comment:'材料1ID如400030'" json:"material1"`
Material2 uint32 `gorm:"not null;comment:'材料2ID如400030'" json:"material2"`
Material3 uint32 `gorm:"not null;comment:'材料3ID如400028'" json:"material3"`
Material4 uint32 `gorm:"not null;comment:'材料4ID如400030'" json:"material4"`
// 4个特性ID对应XML MaterialGroup的特性索引4-4对应
Trait1Idx uint32 `gorm:"not null;comment:'特性1索引如1008'" json:"trait1_idx"`
Trait2Idx uint32 `gorm:"not null;comment:'特性2索引如1018'" json:"trait2_idx"`
Trait3Idx uint32 `gorm:"not null;comment:'特性3索引如1023'" json:"trait3_idx"`
Trait4Idx uint32 `gorm:"not null;comment:'特性4索引如1031'" json:"trait4_idx"`
IsEnable int32 `gorm:"not null;default:1;comment:'是否启用该组合1:启用0:禁用)'" json:"is_enable"`
}
// TableName 指定子表名
func (*PetFusionMaterial) TableName() string {
return TableNamePetFusionMaterial
}
// GroupName 表分组(与主表一致)
func (*PetFusionMaterial) GroupName() string {
return "default"
}
// NewPetFusionMaterial 创建材料实例
func NewPetFusionMaterial() *PetFusionMaterial {
return &PetFusionMaterial{
Model: cool.NewModel(),
}
}
// init 初始化子表结构
func init() {
cool.CreateTable(&PetFusionMaterial{})
}