From a10732119b80031cf468bd630341d20cb1eaa488 Mon Sep 17 00:00:00 2001 From: chenbowen Date: Wed, 26 Nov 2025 12:38:38 +0800 Subject: [PATCH] =?UTF-8?q?iwork=20=E4=BA=BA=E5=91=98=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E7=9B=B8=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/user/vo/user/UserSaveReqVO.java | 4 ++++ .../iwork/impl/IWorkSyncProcessorImpl.java | 1 + .../system/service/user/AdminUserServiceImpl.java | 12 +++++++----- 3 files changed, 12 insertions(+), 5 deletions(-) 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 049c6875..be32c302 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 @@ -92,6 +92,10 @@ public class UserSaveReqVO { @JsonIgnore private boolean skipMobileValidation; + @Schema(hidden = true) + @JsonIgnore + private boolean skipEmailValidation; + // ========== 仅【创建】时,需要传递的字段 ========== @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 9ed9fdbd..dc3ba48c 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 @@ -440,6 +440,7 @@ public class IWorkSyncProcessorImpl implements IWorkSyncProcessor { req.setStatus(status.getStatus()); req.setSkipAssociationValidation(true); req.setSkipMobileValidation(true); + req.setSkipEmailValidation(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 4fc1267e..03689c12 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.isSkipMobileValidation()); + createReqVO.isSkipAssociationValidation(), createReqVO.isSkipMobileValidation(), createReqVO.isSkipEmailValidation()); // 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, false); + validateUserForCreateOrUpdate(null, registerReqVO.getUsername(), null, null, null, null, false, 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.isSkipMobileValidation()); + updateReqVO.getPostIds(), updateReqVO.isSkipAssociationValidation(), updateReqVO.isSkipMobileValidation(), updateReqVO.isSkipEmailValidation()); // 2.1 只更新非空字段 AdminUserDO updateObj = new AdminUserDO(); @@ -515,7 +515,7 @@ public class AdminUserServiceImpl implements AdminUserService { private AdminUserDO validateUserForCreateOrUpdate(Long id, String username, String mobile, String email, Set deptIds, Set postIds, boolean skipAssociationValidation, - boolean skipMobileValidation) { + boolean skipMobileValidation, boolean skipEmailValidation) { // 关闭数据权限,避免因为没有数据权限,查询不到数据,进而导致唯一校验不正确 return DataPermissionUtils.executeIgnore(() -> { // 校验用户存在 @@ -527,7 +527,9 @@ public class AdminUserServiceImpl implements AdminUserService { validateMobileUnique(id, mobile); } // 校验邮箱唯一 - validateEmailUnique(id, email); + if (!skipEmailValidation) { + validateEmailUnique(id, email); + } // 校验岗位处于开启状态 if (!skipAssociationValidation) { postService.validatePostList(postIds);