Files
bl/modules/config/service/map_node.go
昔念 1b6586aedc
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
```
feat(space): 添加地图模型配置支持并优化BOSS信息结构

添加MapModel字段到MapBossInfo结构体中,用于存储更完整的BOSS模型数据,
修改初始化逻辑从新的MapModel服务获取数据,并更新HP恢复逻辑使用新模型数据。

同时优化MapNode配置表结构,移除冗余字段并调整数据查询逻辑,
将IsBroadcast字段类型改为uint32以
2026-04-01 06:27:03 +08:00

62 lines
1.4 KiB
Go

package service
import (
"blazing/cool"
"blazing/modules/config/model"
"github.com/samber/lo"
)
type MapNodeService struct {
*cool.Service
}
func NewMapNodeService() *MapNodeService {
return &MapNodeService{
&cool.Service{
Model: model.NewMapNode(),
PageQueryOp: &cool.QueryOp{
KeyWordField: []string{"remake"},
FieldEQ: []string{"map_id"},
},
},
}
}
func (s *MapNodeService) GetData(mapid uint32) []model.MapNode {
var pet []model.MapNode //一个特性应该是唯一的,但是我们要获取默认随机特性
dbm_enable(s.Model).Where("map_id", mapid).Scan(&pet)
return pet
}
func (s *MapNodeService) GetDataB(mapid uint32) []model.MapNode {
var pet []model.MapNode //一个特性应该是唯一的,但是我们要获取默认随机特性
dbm_enable(s.Model).Where("map_id", mapid).WhereNot("is_broadcast", 0).Scan(&pet)
return pet
}
func (s *MapNodeService) GetDataNode(mapid, node uint32) *model.MapNode {
var pet *model.MapNode //一个特性应该是唯一的,但是我们要获取默认随机特性
dbm_enable(s.Model).Where("map_id", mapid).Where("node_id", node).Scan(&pet)
return pet
}
func (s *MapNodeService) GetTip(mapid uint32) []uint32 {
var pet []model.MapNode //一个特性应该是唯一的,但是我们要获取默认随机特性
dbm_enable(s.Model).Where("map_id", mapid).Scan(&pet)
var ret []uint32
for _, v := range pet {
ret = append(ret, v.BossIds...)
}
return lo.Union(ret)
}