Files
bl/modules/config/model/tower_110.go
昔念 6b316b868c
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
```
feat(player): 添加称号重复检查逻辑

防止玩家重复获得相同称号,提升系统稳定性

fix(config): 修复boss配置相关代码问题

- 新增BossController的GetList接口
- 优化import语句顺序
- 修正PetBaseConfig中Desc字段为Remark字段
- 移除Tower配置中的TaskIds冗余字段
- 完善ShopConfig字段注释内容
```
2026-02-23 12:39:57 +08:00

102 lines
2.9 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 (
TableNamedARKTowerConfig = "config_tower_110" // 勇者之塔110配置表
TableNameTrialTowerConfig = "config_tower_500" // 试炼之塔500配置表
TableNameBraveTowerConfig = "config_tower_600" // 勇者之塔600配置表
)
// -------------------------- 核心基类:所有塔配置的通用结构 --------------------------
type BaseTowerConfig struct {
*BaseConfig
Name string `gorm:"size:32;default:'';comment:'塔层名称'" json:"name" description:"塔层名称"`
// ItemGift []ItemGift `orm:"with:item_id=id"`
// 核心必填字段(所有塔类型通用)
TowerLevel uint32 `gorm:"not null;default:0;uniqueIndex;comment:'塔层数(唯一标识每层配置)'" json:"tower_level" description:"塔层数"`
BossIds []uint32 `gorm:"not null;type:json;default:'[]';comment:'绑定BOSS ID数组关联config_pet_boss表主键'" json:"boss_ids" description:"绑定BOSS数组"`
}
// NewBaseTowerConfig 创建基础塔配置实例(所有塔类型共用)
func NewBaseTowerConfig() *BaseTowerConfig {
return &BaseTowerConfig{
BaseConfig: NewBaseConfig(),
}
}
// -------------------------- 各塔类型专属配置模型(无额外字段,仅绑定不同表名)--------------------------
// Tower110Config 勇者之塔110配置模型
type Tower110Config struct {
*BaseTowerConfig
}
// Tower500Config 试炼之塔500配置模型
type Tower500Config struct {
*BaseTowerConfig
}
// Tower600Config 勇者之塔600配置模型
type Tower600Config struct {
*BaseTowerConfig
}
// -------------------------- 各塔模型的核心配套方法(统一规范)--------------------------
// ===== Tower110Config 专属方法 =====
func (*Tower110Config) TableName() string {
return TableNamedARKTowerConfig
}
func (*Tower110Config) GroupName() string {
return "default"
}
func New110TowerConfig() *Tower110Config {
return &Tower110Config{
BaseTowerConfig: NewBaseTowerConfig(),
}
}
// ===== Tower500Config 专属方法 =====
func (*Tower500Config) TableName() string {
return TableNameTrialTowerConfig
}
func (*Tower500Config) GroupName() string {
return "default"
}
func New500TowerConfig() *Tower500Config {
return &Tower500Config{
BaseTowerConfig: NewBaseTowerConfig(),
}
}
// ===== Tower600Config 专属方法 =====
func (*Tower600Config) TableName() string {
return TableNameBraveTowerConfig
}
func (*Tower600Config) GroupName() string {
return "default"
}
func New600TowerConfig() *Tower600Config {
return &Tower600Config{
BaseTowerConfig: NewBaseTowerConfig(),
}
}
// -------------------------- 表结构自动同步(初始化所有塔配置表)--------------------------
func init() {
// 依次创建所有塔配置表,保持原有自动同步逻辑
cool.CreateTable(&Tower110Config{})
cool.CreateTable(&Tower500Config{})
cool.CreateTable(&Tower600Config{})
}