BUGFIX:code-create注册的新用户自动添加为aida的游客,去重bug修改

This commit is contained in:
2024-12-09 18:17:09 +08:00
parent 1a568621ca
commit 3c0fa205d1

View File

@@ -1454,19 +1454,23 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
queryWrapper.in("user_email", allEmail).select("user_email");
// 重复的邮箱
List<String> collect = baseMapper.selectList(queryWrapper).stream().map(Account::getUserEmail).collect(Collectors.toList());
if (!collect.isEmpty()){
List<String> duplicateEmails = baseMapper.selectList(queryWrapper).stream().map(Account::getUserEmail).collect(Collectors.toList());
if (!duplicateEmails.isEmpty()){
// 移除Code-Create新增用户中在AiDA已有账号的邮箱allEmail中剩余邮箱均为新用户邮箱
allEmail.removeAll(collect);
allEmail.removeIf(item -> duplicateEmails.stream()
.anyMatch(removeItem -> removeItem.equalsIgnoreCase(item)));
if (!allEmail.isEmpty()){
for (Map<String,String> userInfo : newUsersInfo){
Iterator<Map<String, String>> iterator = newUsersInfo.iterator();
while (iterator.hasNext()) {
Map<String, String> userInfo = iterator.next();
String email = userInfo.get("email");
if (!allEmail.contains(email)) {
newUsersInfo.remove(userInfo); // 移除不在 allEmail 中的用户
iterator.remove(); // 使用迭代器安全地移除元素
}
}
}else {
newUsersInfo.clear();
}
}
// 将新增用户添加到AiDA身份为游客
if (!newUsersInfo.isEmpty()){