添加获取所有边缘节点接口;重构相关数据结构与服务逻辑

This commit is contained in:
2025-05-23 18:58:03 +08:00
parent c83ffda611
commit 1524eef4a9
7 changed files with 152 additions and 22 deletions

43
web/services/edge.go Normal file
View File

@@ -0,0 +1,43 @@
package services
import (
edge2 "platform/web/domains/edge"
m "platform/web/models"
q "platform/web/queries"
)
var Edge = &edgeService{}
type edgeService struct{}
func (s *edgeService) AllEdges(count int, filter EdgeFilter) ([]*m.Edge, error) {
do := q.Edge.Where(q.Edge.Status.Eq(1))
if filter.Prov != "" {
do = do.Where(q.Edge.Prov.Eq(filter.Prov))
}
if filter.City != "" {
do = do.Where(q.Edge.City.Eq(filter.City))
}
if filter.Isp != "" {
do = do.Where(q.Edge.Isp.Eq(int32(edge2.ISPFromStr(filter.Isp))))
}
if count > 0 {
do = do.Limit(count)
}
edges, err := q.Edge.Where(do).Find()
if err != nil {
return nil, err
}
return edges, nil
}
type EdgeInfo struct {
}
type EdgeFilter struct {
Isp string `json:"isp"`
Prov string `json:"prov"`
City string `json:"city"`
}