diff --git a/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/controller/admin/user/vo/user/UserSaveReqVO.java b/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/controller/admin/user/vo/user/UserSaveReqVO.java index 248f6ff3..049c6875 100644 --- a/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/controller/admin/user/vo/user/UserSaveReqVO.java +++ b/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/controller/admin/user/vo/user/UserSaveReqVO.java @@ -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") 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 1983d537..9ed9fdbd 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 @@ -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; } diff --git a/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/service/user/AdminUserServiceImpl.java b/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/service/user/AdminUserServiceImpl.java index fc45afba..4fc1267e 100644 --- a/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/service/user/AdminUserServiceImpl.java +++ b/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/service/user/AdminUserServiceImpl.java @@ -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 deptIds, Set postIds, boolean skipAssociationValidation) { + Set deptIds, Set postIds, boolean skipAssociationValidation, + boolean skipMobileValidation) { // 关闭数据权限,避免因为没有数据权限,查询不到数据,进而导致唯一校验不正确 return DataPermissionUtils.executeIgnore(() -> { // 校验用户存在 @@ -522,7 +523,9 @@ public class AdminUserServiceImpl implements AdminUserService { // 校验用户名唯一 - 注释掉,允许用户名重复 // validateUsernameUnique(id, username); // 校验手机号唯一 - validateMobileUnique(id, mobile); + if (!skipMobileValidation) { + validateMobileUnique(id, mobile); + } // 校验邮箱唯一 validateEmailUnique(id, email); // 校验岗位处于开启状态