Files
qnc-server-v3/app/main/api/internal/logic/admin_agent/agentcodecollection.go

38 lines
852 B
Go
Raw Normal View History

2026-05-13 14:43:10 +08:00
package admin_agent
import (
"context"
"qnc-server/app/main/api/internal/svc"
"github.com/Masterminds/squirrel"
)
// batchAgentCodesByIds 按代理主键批量查询 agent_code用于列表软关联展示。
func batchAgentCodesByIds(ctx context.Context, svcCtx *svc.ServiceContext, ids []string) map[string]int64 {
out := make(map[string]int64)
uniq := make([]string, 0, len(ids))
seen := make(map[string]struct{}, len(ids))
for _, id := range ids {
if id == "" {
continue
}
if _, ok := seen[id]; ok {
continue
}
seen[id] = struct{}{}
uniq = append(uniq, id)
}
if len(uniq) == 0 {
return out
}
agents, err := svcCtx.AgentModel.FindAll(ctx, svcCtx.AgentModel.SelectBuilder().Where(squirrel.Eq{"id": uniq}), "")
if err != nil {
return out
}
for _, a := range agents {
out[a.Id] = a.AgentCode
}
return out
}