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).Where("is_broadcast", 1).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.TriggerID) } return lo.Union(ret) }