密码为空的用户也进行同步

This commit is contained in:
chenbowen
2026-01-15 21:25:16 +08:00
parent 06fb92462c
commit d6e72f6045

View File

@@ -28,7 +28,10 @@ import com.zt.plat.module.system.util.sync.SyncVerifyUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; 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.*;
import java.util.concurrent.ConcurrentHashMap; 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 String JOB_CODE_PREFIX = "IWORK_JOB_";
private static final int DEFAULT_SORT = 999; 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 DeptService deptService;
private final PostService postService; private final PostService postService;
@@ -349,9 +354,8 @@ public class IWorkSyncProcessorImpl implements IWorkSyncProcessor {
continue; continue;
} }
if (StrUtil.isBlank(externalPassword)) { if (StrUtil.isBlank(externalPassword)) {
log.warn("[iWork] 人员缺少密码信息无法创建id={} username={}", user.getId(), username); externalPassword = EMPTY_PASSWORD_PLACEHOLDER;
result.increaseFailed(); log.info("[iWork] 人员缺少密码信息使用空密码占位同步id={} username={}", user.getId(), username);
continue;
} }
outcome = createUser(user, username, deptId, postId, status, externalPassword); outcome = createUser(user, username, deptId, postId, status, externalPassword);
} else { } else {