From ed8bacdfb70558575f96242a736617af78c9102c Mon Sep 17 00:00:00 2001 From: xx572959496 Date: Fri, 6 Dec 2024 11:42:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=BA=E5=91=98=E9=9A=8F=E6=9C=BA=E9=A1=BA?= =?UTF-8?q?=E5=BA=8F=E6=89=93=E5=8D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/dx/union/CheckLogin.java | 4 +++- src/main/java/com/dx/union/User.java | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/dx/union/CheckLogin.java b/src/main/java/com/dx/union/CheckLogin.java index 78e6854..370dafe 100644 --- a/src/main/java/com/dx/union/CheckLogin.java +++ b/src/main/java/com/dx/union/CheckLogin.java @@ -22,6 +22,7 @@ import java.math.BigDecimal; import java.nio.charset.StandardCharsets; import java.security.MessageDigest; import java.util.List; +import java.util.Set; import java.util.function.BiConsumer; import java.util.function.Consumer; @@ -63,7 +64,8 @@ public class CheckLogin { ResourceUtil.getUtf8Reader(filePath), User.class); int size = userList.size(); log.info("共有 {} 个需打卡账号", size); - userList.forEach(forEachWithIndex((user, index) -> { + Set userSet = RandomUtil.randomEleSet(userList, size); + userSet.forEach(forEachWithIndex((user, index) -> { boolean todaySign = user.isTodaySign(singMark); if (todaySign) { log.info("{} 账号已完成打卡", user.getUsername()); diff --git a/src/main/java/com/dx/union/User.java b/src/main/java/com/dx/union/User.java index ebc15d4..5283670 100644 --- a/src/main/java/com/dx/union/User.java +++ b/src/main/java/com/dx/union/User.java @@ -6,6 +6,8 @@ import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; +import java.util.Objects; + public class User { @Alias("用户名") private String username; @@ -66,6 +68,23 @@ public class User { return false; } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + User user = (User) o; + return Objects.equals(username, user.username) && Objects.equals(password, user.password) ; + } + + @Override + public int hashCode() { + return Objects.hash(username, password); + } + @Override public String toString() { return "User{" +