iwork 人员组织同步相关

This commit is contained in:
chenbowen
2025-11-26 11:34:04 +08:00
parent 12ba2cf756
commit 5698c34185
3 changed files with 13 additions and 5 deletions

View File

@@ -88,6 +88,10 @@ public class UserSaveReqVO {
@JsonIgnore @JsonIgnore
private boolean skipAssociationValidation; private boolean skipAssociationValidation;
@Schema(hidden = true)
@JsonIgnore
private boolean skipMobileValidation;
// ========== 仅【创建】时,需要传递的字段 ========== // ========== 仅【创建】时,需要传递的字段 ==========
@Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456") @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456")

View File

@@ -439,6 +439,7 @@ public class IWorkSyncProcessorImpl implements IWorkSyncProcessor {
req.setSex(resolveSex(source.getSex())); req.setSex(resolveSex(source.getSex()));
req.setStatus(status.getStatus()); req.setStatus(status.getStatus());
req.setSkipAssociationValidation(true); req.setSkipAssociationValidation(true);
req.setSkipMobileValidation(true);
return req; return req;
} }

View File

@@ -109,7 +109,7 @@ public class AdminUserServiceImpl implements AdminUserService {
// 1.2 校验正确性 // 1.2 校验正确性
validateUserForCreateOrUpdate(null, createReqVO.getUsername(), validateUserForCreateOrUpdate(null, createReqVO.getUsername(),
createReqVO.getMobile(), createReqVO.getEmail(), createReqVO.getDeptIds(), createReqVO.getPostIds(), createReqVO.getMobile(), createReqVO.getEmail(), createReqVO.getDeptIds(), createReqVO.getPostIds(),
createReqVO.isSkipAssociationValidation()); createReqVO.isSkipAssociationValidation(), createReqVO.isSkipMobileValidation());
// 2.1 插入用户 // 2.1 插入用户
AdminUserDO user = BeanUtils.toBean(createReqVO, AdminUserDO.class); AdminUserDO user = BeanUtils.toBean(createReqVO, AdminUserDO.class);
user.setStatus(CommonStatusEnum.ENABLE.getStatus()); user.setStatus(CommonStatusEnum.ENABLE.getStatus());
@@ -155,7 +155,7 @@ public class AdminUserServiceImpl implements AdminUserService {
} }
}); });
// 1.3 校验正确性 // 1.3 校验正确性
validateUserForCreateOrUpdate(null, registerReqVO.getUsername(), null, null, null, null, false); validateUserForCreateOrUpdate(null, registerReqVO.getUsername(), null, null, null, null, false, false);
// 2. 插入用户 // 2. 插入用户
AdminUserDO user = BeanUtils.toBean(registerReqVO, AdminUserDO.class); AdminUserDO user = BeanUtils.toBean(registerReqVO, AdminUserDO.class);
@@ -175,7 +175,7 @@ public class AdminUserServiceImpl implements AdminUserService {
// 1. 校验正确性 // 1. 校验正确性
AdminUserDO oldUser = validateUserForCreateOrUpdate(updateReqVO.getId(), updateReqVO.getUsername(), AdminUserDO oldUser = validateUserForCreateOrUpdate(updateReqVO.getId(), updateReqVO.getUsername(),
updateReqVO.getMobile(), updateReqVO.getEmail(), updateReqVO.getDeptIds(), updateReqVO.getMobile(), updateReqVO.getEmail(), updateReqVO.getDeptIds(),
updateReqVO.getPostIds(), updateReqVO.isSkipAssociationValidation()); updateReqVO.getPostIds(), updateReqVO.isSkipAssociationValidation(), updateReqVO.isSkipMobileValidation());
// 2.1 只更新非空字段 // 2.1 只更新非空字段
AdminUserDO updateObj = new AdminUserDO(); AdminUserDO updateObj = new AdminUserDO();
@@ -514,7 +514,8 @@ public class AdminUserServiceImpl implements AdminUserService {
} }
private AdminUserDO validateUserForCreateOrUpdate(Long id, String username, String mobile, String email, private AdminUserDO validateUserForCreateOrUpdate(Long id, String username, String mobile, String email,
Set<Long> deptIds, Set<Long> postIds, boolean skipAssociationValidation) { Set<Long> deptIds, Set<Long> postIds, boolean skipAssociationValidation,
boolean skipMobileValidation) {
// 关闭数据权限,避免因为没有数据权限,查询不到数据,进而导致唯一校验不正确 // 关闭数据权限,避免因为没有数据权限,查询不到数据,进而导致唯一校验不正确
return DataPermissionUtils.executeIgnore(() -> { return DataPermissionUtils.executeIgnore(() -> {
// 校验用户存在 // 校验用户存在
@@ -522,7 +523,9 @@ public class AdminUserServiceImpl implements AdminUserService {
// 校验用户名唯一 - 注释掉,允许用户名重复 // 校验用户名唯一 - 注释掉,允许用户名重复
// validateUsernameUnique(id, username); // validateUsernameUnique(id, username);
// 校验手机号唯一 // 校验手机号唯一
validateMobileUnique(id, mobile); if (!skipMobileValidation) {
validateMobileUnique(id, mobile);
}
// 校验邮箱唯一 // 校验邮箱唯一
validateEmailUnique(id, email); validateEmailUnique(id, email);
// 校验岗位处于开启状态 // 校验岗位处于开启状态