gpt4 book ai didi

salesforce - 如果记录是唯一的,则添加到列表

转载 作者:行者123 更新时间:2023-12-04 01:37:56 27 4
gpt4 key购买 nike

我有一个返回 Map<Id, List<Id>> 的方法

方法如下:

private Map<Id, List<Id>> getDbrToAccountMap(Set<Id> dbrIds) {
Map<Id, List<Id>> dbrAccountMap = new Map<Id, List<Id>>();
List<Id> accountIds = new List<Id>();
for(DBR_Group_Member__c member : [select Id, Contact__c, Contact__r.AccountId, DBR__c from DBR_Group_Member__c where DBR__c in: dbrIds]) {
if(accountIds.isEmpty()) {
accountIds = new List<Id>();
dbrAccountMap.put(member.DBR__c, accountIds);
}
accountIds.add(member.Contact__r.AccountId);
}
return dbrAccountMap;
}

我只想将唯一 DBR_c 和联系人的唯一帐户添加到帐户 ID 列表_c

例如,如果我有一个 DBR 编号:

3333,联系人是 Acme 帐户上的 John Smith(添加到列表中)

接下来我有

3333,联系人是 Acme 帐户上的 Jane Smith(不要添加到列表中)

接下来我有

3333,联系人是 Big Company 帐户上的 Bob Smith(添加到列表中)

接下来我有

3333,联系人是 Big Company 帐户上的 Doug Smith(不要添加到列表中)

帐户的 DBR 应该是不同的。

在我的方法中,我返回了 accountId,但它们在 DBR 上并不不同。我必须小心,因为如果 DBR 编号不同,我不想删除列表中重复的 accountId。这将是列表中的有效元素。

如有任何帮助,我们将不胜感激。

谢谢。

最佳答案

您可以通过使用如下本地设置或使用 Map < Id, Set < Id >> 来解决此问题身为你的返回值。

private Map < Id, List < Id >> getDbrToAccountMap(Set < Id > dbrIds) {

Map < Id, List < Id >> dbrAccountMap = neenter code herew Map < Id, List < Id >> ();
Set < String > alreadyExistSet = new Set < String > ();
List < Id > accountIds = new List < Id > ();
for (DBR_Group_Member__c member: [select Id, Contact__c, Contact__r.AccountId, DBR__c from DBR_Group_Member__c where DBR__c in : dbrIds]) {
if (dbrAccountMap.get() == null) {
dbrAccountMap.put(member.DBR__c, new List < Id > );
}
if (!alreadyExistSet.contains('' + member.DBR__c + member.Contact__r.AccountId)) {
dbrAccountMap.get(member.DBR__c).add(member.Contact__r.AccountId);
alreadyExistSet.add('' + member.DBR__c + member.Contact__r.AccountId);
}
}
return dbrAccountMap;
}

关于salesforce - 如果记录是唯一的,则添加到列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18543116/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com