f
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user