diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/meeting/helper/ExpertRandomInviteAlgorithm.java b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/helper/ExpertRandomInviteAlgorithm.java index 4adc9d3..d71a8d7 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/meeting/helper/ExpertRandomInviteAlgorithm.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/helper/ExpertRandomInviteAlgorithm.java @@ -22,6 +22,10 @@ import java.util.stream.Collectors; **/ public class ExpertRandomInviteAlgorithm { + private static boolean expertMatchNone(List experts, ExpertUserFullInfo userInfo) { + return experts.stream().noneMatch(w -> w.getExpertId().equals(userInfo.getUserId())); + } + /** * 每个单位只抽取一人 * @@ -49,7 +53,7 @@ public class ExpertRandomInviteAlgorithm { List expertsByCompany = expertGroupByUnit.get(company); for (List experts : expertsByRecentMeeting) { List notInvitedUsers = expertsByCompany.stream() - .filter(w -> experts.stream().noneMatch(expert -> expert.getExpertId().equals(w.getUserId()))) + .filter(w -> expertMatchNone(experts, w)) .collect(Collectors.toList()); if (!notInvitedUsers.isEmpty()) { result.add(RandomUtil.randomEle(notInvitedUsers)); @@ -88,7 +92,7 @@ public class ExpertRandomInviteAlgorithm { result = new ArrayList<>(); for (List experts : expertsByRecentMeeting) { List notInvitedUsers = userFullInfos.stream() - .filter(w -> experts.stream().noneMatch(expert -> expert.getExpertId().equals(w.getUserId()))) + .filter(w -> expertMatchNone(experts, w)) .collect(Collectors.toList()); if (!notInvitedUsers.isEmpty()) { result.addAll(notInvitedUsers);