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
private boolean skipAssociationValidation;
@Schema(hidden = true)
@JsonIgnore
private boolean skipMobileValidation;
// ========== 仅【创建】时,需要传递的字段 ==========
@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.setStatus(status.getStatus());
req.setSkipAssociationValidation(true);
req.setSkipMobileValidation(true);
return req;
}

View File

@@ -109,7 +109,7 @@ public class AdminUserServiceImpl implements AdminUserService {
// 1.2 校验正确性
validateUserForCreateOrUpdate(null, createReqVO.getUsername(),
createReqVO.getMobile(), createReqVO.getEmail(), createReqVO.getDeptIds(), createReqVO.getPostIds(),
createReqVO.isSkipAssociationValidation());
createReqVO.isSkipAssociationValidation(), createReqVO.isSkipMobileValidation());
// 2.1 插入用户
AdminUserDO user = BeanUtils.toBean(createReqVO, AdminUserDO.class);
user.setStatus(CommonStatusEnum.ENABLE.getStatus());
@@ -155,7 +155,7 @@ public class AdminUserServiceImpl implements AdminUserService {
}
});
// 1.3 校验正确性
validateUserForCreateOrUpdate(null, registerReqVO.getUsername(), null, null, null, null, false);
validateUserForCreateOrUpdate(null, registerReqVO.getUsername(), null, null, null, null, false, false);
// 2. 插入用户
AdminUserDO user = BeanUtils.toBean(registerReqVO, AdminUserDO.class);
@@ -175,7 +175,7 @@ public class AdminUserServiceImpl implements AdminUserService {
// 1. 校验正确性
AdminUserDO oldUser = validateUserForCreateOrUpdate(updateReqVO.getId(), updateReqVO.getUsername(),
updateReqVO.getMobile(), updateReqVO.getEmail(), updateReqVO.getDeptIds(),
updateReqVO.getPostIds(), updateReqVO.isSkipAssociationValidation());
updateReqVO.getPostIds(), updateReqVO.isSkipAssociationValidation(), updateReqVO.isSkipMobileValidation());
// 2.1 只更新非空字段
AdminUserDO updateObj = new AdminUserDO();
@@ -514,7 +514,8 @@ public class AdminUserServiceImpl implements AdminUserService {
}
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(() -> {
// 校验用户存在
@@ -522,7 +523,9 @@ public class AdminUserServiceImpl implements AdminUserService {
// 校验用户名唯一 - 注释掉,允许用户名重复
// validateUsernameUnique(id, username);
// 校验手机号唯一
if (!skipMobileValidation) {
validateMobileUnique(id, mobile);
}
// 校验邮箱唯一
validateEmailUnique(id, email);
// 校验岗位处于开启状态