diff --git a/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java b/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java index c0097b5c..3baf594a 100644 --- a/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java @@ -1454,19 +1454,23 @@ public class AccountServiceImpl extends ServiceImpl impl queryWrapper.in("user_email", allEmail).select("user_email"); // 重复的邮箱 - List collect = baseMapper.selectList(queryWrapper).stream().map(Account::getUserEmail).collect(Collectors.toList()); - if (!collect.isEmpty()){ + List 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 userInfo : newUsersInfo){ + Iterator> iterator = newUsersInfo.iterator(); + while (iterator.hasNext()) { + Map 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()){