```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful

refactor(common/utils): 重构concurrent_swiss_map使用官方sync.Map实现

- 替换原有的第三方并发map实现,改为基于标准库sync.Map的封装
- 保持完全的API兼容性,原有配置方法变为无实际作用的占位符
- 优化Range方法实现,移除goroutine/channel开销,避免潜在的死锁风险
- 移除依赖的外部库和
This commit is contained in:
昔念
2026-02-25 13:20:38 +08:00
parent 931809edc4
commit c00a796203
10 changed files with 140 additions and 331 deletions

View File

@@ -22,26 +22,26 @@ const (
// MapNode 地图节点配置模型
type MapNode struct {
*BaseConfig
*Event // 嵌入BOSS事件配置
// 基础关联字段
MapID uint32 `gorm:"not null;index;comment:'所属地图ID'" json:"map_id" description:"地图ID"`
NodeType int `gorm:"not null;default:0;comment:'节点类型0是游戏自带分支,其余自增)'" json:"node_type" description:"节点类型"`
NodeID uint32 `gorm:"not null;default:0;comment:'节点ID'" json:"node_id" description:"节点ID"`
NodeName string `gorm:"type:varchar(100);default:'';comment:'节点名称'" json:"node_name" description:"节点名称"`
//节点激活脚本
// NodeActiveScript string `gorm:"type:text;comment:'节点激活脚本'" json:"node_active_script" description:"节点激活脚本"`
//
// 节点核心配置
NodeType int `gorm:"not null;default:0;comment:'节点类型1-BOSS2-NPC3-场景触发4-传送门)'" json:"node_type" description:"节点类型"`
PositionX float64 `gorm:"not null;default:0;comment:'节点X坐标'" json:"position_x" description:"X坐标"`
PositionY float64 `gorm:"not null;default:0;comment:'节点Y坐标'" json:"position_y" description:"Y坐标"`
WinBonusID int `gorm:"type:int;default:0;comment:'胜利奖励ID'" json:"win_bonus_id"`
FailBonusID int `gorm:"type:int;default:0;comment:'失败奖励ID'" json:"fail_bonus_id"`
// 剧情相关配置
TriggerPlotID uint32 `gorm:"default:0;comment:'触发剧情ID0表示无剧情'" json:"trigger_plot_id" description:"触发剧情ID"`
BindPlotIDs []uint32 `gorm:"type:int[];comment:'绑定的剧情ID列表'" json:"bind_plot_ids" description:"绑定剧情ID列表"`
TriggerPlotID uint32 `gorm:"default:0;comment:'触发剧情ID0表示无剧情'" json:"trigger_plot_id" description:"触发剧情ID"`
//BindPlotIDs []uint32 `gorm:"type:int[];comment:'绑定的剧情ID列表'" json:"bind_plot_ids" description:"绑定剧情ID列表"`
//完成后的脚本回调比如战胜和击败绑定不同的任务ID以及剧情绑定不同的ID
PlotFinishScript string `gorm:"type:text;comment:'剧情完成后脚本回调'" json:"plot_finish_script" description:"剧情完成后脚本回调"`
//回调通boss打完给前端发送固定事件
//PlotFinishScript string `gorm:"type:text;comment:'剧情完成后脚本回调'" json:"plot_finish_script" description:"剧情完成后脚本回调"`
// BOSS相关配置
BindBossID uint32 `gorm:"default:0;comment:'绑定的BOSS ID0表示无BOSS'" json:"bind_boss_id" description:"绑定BOSS ID"`
}