All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
将地图热度信息从简单的计数器改为包含提示信息的结构体 添加矿物、BOSS、宠物和掉落等提示信息的收集功能 优化地图进入和离开时的计数逻辑
62 lines
1.4 KiB
Go
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).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)
|
|
|
|
}
|