fix(node): update FilterNodeParams to use NodeId and adjust query logic for tags

This commit is contained in:
Chang lue Tsen 2025-09-29 11:18:47 -04:00
parent 2de76104ad
commit 766e210f06
2 changed files with 7 additions and 6 deletions

View File

@ -216,12 +216,12 @@ func (l *SubscribeLogic) getServers(userSub *user.Subscribe) ([]*node.Node, erro
enable := true enable := true
_, nodes, err := l.svc.NodeModel.FilterNodeList(l.ctx.Request.Context(), &node.FilterNodeParams{ _, nodes, err := l.svc.NodeModel.FilterNodeList(l.ctx.Request.Context(), &node.FilterNodeParams{
Page: 1, Page: 1,
Size: 1000, Size: 1000,
ServerId: nodeIds, NodeId: nodeIds,
Tag: tool.RemoveDuplicateElements(tags...), Tag: tool.RemoveDuplicateElements(tags...),
Preload: true, Preload: true,
Enabled: &enable, // Only get enabled nodes Enabled: &enable, // Only get enabled nodes
}) })
l.Debugf("[Query Subscribe]found servers: %v", len(nodes)) l.Debugf("[Query Subscribe]found servers: %v", len(nodes))

View File

@ -85,6 +85,7 @@ func (m *customServerModel) FilterNodeList(ctx context.Context, params *FilterNo
query = query.Where("server_id IN ?", params.ServerId) query = query.Where("server_id IN ?", params.ServerId)
} }
if len(params.Tag) > 0 { if len(params.Tag) > 0 {
query = query.Where("1 = 0")
for _, tag := range params.Tag { for _, tag := range params.Tag {
query = query.Or("FIND_IN_SET(?,tags)", tag) query = query.Or("FIND_IN_SET(?,tags)", tag)
} }