From d6e72f60457914b09bea7335f9baf26a78092607 Mon Sep 17 00:00:00 2001 From: chenbowen Date: Thu, 15 Jan 2026 21:25:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=86=E7=A0=81=E4=B8=BA=E7=A9=BA=E7=9A=84?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E4=B9=9F=E8=BF=9B=E8=A1=8C=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../integration/iwork/impl/IWorkSyncProcessorImpl.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/service/integration/iwork/impl/IWorkSyncProcessorImpl.java b/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/service/integration/iwork/impl/IWorkSyncProcessorImpl.java index 3f7aeda0..5547d727 100644 --- a/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/service/integration/iwork/impl/IWorkSyncProcessorImpl.java +++ b/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/service/integration/iwork/impl/IWorkSyncProcessorImpl.java @@ -28,7 +28,10 @@ import com.zt.plat.module.system.util.sync.SyncVerifyUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.util.DigestUtils; +import java.nio.charset.StandardCharsets; +import java.util.Locale; import java.util.*; import java.util.concurrent.ConcurrentHashMap; @@ -39,6 +42,8 @@ public class IWorkSyncProcessorImpl implements IWorkSyncProcessor { private static final String JOB_CODE_PREFIX = "IWORK_JOB_"; private static final int DEFAULT_SORT = 999; + /** 当上游密码缺失时,用空字符串的 MD5 作为占位,保证账号可创建 */ + private static final String EMPTY_PASSWORD_PLACEHOLDER = DigestUtils.md5DigestAsHex("".getBytes(StandardCharsets.UTF_8)).toUpperCase(Locale.ROOT); private final DeptService deptService; private final PostService postService; @@ -349,9 +354,8 @@ public class IWorkSyncProcessorImpl implements IWorkSyncProcessor { continue; } if (StrUtil.isBlank(externalPassword)) { - log.warn("[iWork] 人员缺少密码信息,无法创建:id={} username={}", user.getId(), username); - result.increaseFailed(); - continue; + externalPassword = EMPTY_PASSWORD_PLACEHOLDER; + log.info("[iWork] 人员缺少密码信息,使用空密码占位同步:id={} username={}", user.getId(), username); } outcome = createUser(user, username, deptId, postId, status, externalPassword); } else {