From d7f85485db25adcaa7383c845b04a9795665b37d Mon Sep 17 00:00:00 2001 From: dzq Date: Wed, 11 Jun 2025 17:16:18 +0800 Subject: [PATCH] =?UTF-8?q?refactor(QywxScheduleJob):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=90=8C=E6=AD=A5=E9=80=BB=E8=BE=91=E9=81=BF?= =?UTF-8?q?=E5=85=8D=E9=87=8D=E5=A4=8D=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将多个import语句合并为使用java.util.* 使用stream过滤避免重复添加微信用户 使用Set优化用户ID存在性检查 --- .../admin/customize/service/QywxScheduleJob.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/agileboot-admin/src/main/java/com/agileboot/admin/customize/service/QywxScheduleJob.java b/agileboot-admin/src/main/java/com/agileboot/admin/customize/service/QywxScheduleJob.java index 69431c8..44bab23 100644 --- a/agileboot-admin/src/main/java/com/agileboot/admin/customize/service/QywxScheduleJob.java +++ b/agileboot-admin/src/main/java/com/agileboot/admin/customize/service/QywxScheduleJob.java @@ -26,11 +26,7 @@ import com.agileboot.domain.qywx.template.command.UpdateTemplateCommand; import com.agileboot.domain.qywx.template.db.QyTemplateEntity; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -435,7 +431,9 @@ public class QywxScheduleJob { List wxUsersList = userList.getUserlist(); if (wxUsersList != null) { - wxUsers.addAll(wxUsersList); + wxUsers.addAll(wxUsersList.stream() + .filter(u -> wxUsers.stream().noneMatch(wu -> wu.getUserid().equals(u.getUserid()))) + .collect(Collectors.toList())); } } @@ -451,9 +449,11 @@ public class QywxScheduleJob { .collect(Collectors.toList()); // 识别需要新增的用户 - List finalQyUserList = qyUserList; + Set existingUserIds = qyUserList.stream() + .map(QyUserEntity::getUserid) + .collect(Collectors.toSet()); List toAdd = wxUsers.stream() - .filter(wxUser -> finalQyUserList.stream().noneMatch(u -> u.getUserid().equals(wxUser.getUserid()))) + .filter(wxUser -> !existingUserIds.contains(wxUser.getUserid())) .collect(Collectors.toList()); log.info("syncUserInfo toAdd: {}", JSONUtil.toJsonStr(toAdd));