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

58 lines
2.6 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"
)
// 表名常量定义:物品奖励表(存储物品奖励的核心配置信息)
const (
TableNameItemGift = "item_gift" // 物品奖励配置表(包含物品关联、数量、启用状态、扭蛋标识及备注信息)
)
// ItemGift 物品奖励基础配置模型(与数据库表 item_gift 字段一一对应,核心存储结构)
type ItemGift struct {
*cool.Model // 嵌入通用Model包含ID/创建时间/更新时间等通用字段,保持与现有模型一致性)
// 核心业务字段按需求实现物品id、备注、是否启用、是否为扭蛋、物品数量
ItemID uint32 `gorm:"not null;default:0;comment:'物品ID关联物品配置表主键'" json:"item_id"`
Remark string `gorm:"size:512;default:'';comment:'物品奖励备注说明(如使用场景、特殊说明等)'" json:"remark"`
IsEnabled uint32 `gorm:"not null;default:1;comment:'是否启用0-禁用 1-启用)'" json:"is_enabled"`
IsGacha uint32 `gorm:"not null;default:0;comment:'是否为扭蛋物品0-否 1-是)'" json:"is_gacha"`
ItemCount uint32 `gorm:"not null;default:1;comment:'物品奖励数量'" json:"item_count"`
}
// ItemGiftEX 物品奖励扩展配置模型(用于前端/业务层复杂数据展示,非数据库存储字段)
type ItemGiftEX struct {
ItemGift // 嵌入基础物品奖励模型
ItemName string `json:"item_name"` // 物品名称(前端展示用,关联物品表查询得到)
ItemIcon string `json:"item_icon"` // 物品图标路径(前端展示用,非数据库存储字段)
StatusDesc string `json:"status_desc"` // 启用状态描述(如"启用"/"禁用",前端展示用)
GachaDesc string `json:"gacha_desc"` // 扭蛋标识描述(如"扭蛋专属"/"普通物品",前端展示用)
}
// TableName 指定ItemGift对应的数据库表名遵循现有代码规范
func (*ItemGift) TableName() string {
return TableNameItemGift
}
// GroupName 指定表所属的分组与现有BossConfig、PetReward保持一致统一为default分组
func (*ItemGift) GroupName() string {
return "default"
}
// NewItemGift 创建一个新的ItemGift实例初始化通用Model字段+默认值,与现有实例创建逻辑一致)
func NewItemGift() *ItemGift {
return &ItemGift{
Model: cool.NewModel(), // 初始化通用Model字段ID/创建时间/更新时间等)
// 字段默认值与gorm tag中default配置保持一致
IsEnabled: 1,
IsGacha: 0,
ItemCount: 1,
}
}
// init 程序启动时自动创建/同步item_gift表结构与现有表同步逻辑保持一致
func init() {
cool.CreateTable(&ItemGift{})
}