From 42649eb56054ce595287585de47d1fcc827fe6b2 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Tue, 10 Dec 2024 16:34:34 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A6=85=E9=81=93#934=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cf/imes/module/system/enums/ErrorCodeConstants.java | 2 +- .../com/cf/imes/module/system/service/organ/OrganService.java | 3 ++- .../cf/imes/module/system/service/organ/OrganServiceImpl.java | 4 ++-- .../imes/module/system/service/user/AdminUserServiceImpl.java | 2 +- .../module/system/service/organ/TenantServiceImplTest.java | 4 ++-- .../module/system/service/user/AdminUserServiceImplTest.java | 4 ++-- 6 files changed, 10 insertions(+), 9 deletions(-) diff --git a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java index 41b7625e7..b3ccd550b 100644 --- a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java +++ b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java @@ -48,7 +48,7 @@ public class ErrorCodeConstants { public static final ErrorCode USER_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_002_003_004, "导入用户数据不能为空!"); public static final ErrorCode USER_PASSWORD_FAILED = new ErrorCode(1_002_003_005, "用户密码校验失败"); public static final ErrorCode USER_IS_DISABLE = new ErrorCode(1_002_003_006, "名字为【{}】的用户已被禁用"); - public static final ErrorCode USER_COUNT_MAX = new ErrorCode(1_002_003_008, "创建用户失败,原因:超过组织最大组织配额({})!"); + public static final ErrorCode USER_COUNT_MAX = new ErrorCode(1_002_003_008, "超过组织用户配额,创建用户失败!"); public static final ErrorCode USER_ME_ERROR = new ErrorCode(1_002_003_009, "不允许操作用户自身"); public static final ErrorCode THE_PASSWORD_LENGTH_MUST_BE_AT_LEAST_8_CHARACTERS = new ErrorCode(1_002_003_010, "密码长度不少于8位,且包含大小写字母、数字和特殊字符"); public static final ErrorCode THE_PASSWORD_MUST_CONTAIN_AT_LEAST_ONE_LOWER_LETTER = new ErrorCode(1_002_003_011, "密码必须包含至少一个小写字母"); diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/organ/OrganService.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/organ/OrganService.java index 946597dd3..6e5ac62ba 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/organ/OrganService.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/organ/OrganService.java @@ -108,8 +108,9 @@ public interface OrganService { * 其中,组织编号从 {@link OrganContextHolder} 上下文中获取 * * @param handler 处理器 + * @param organId 外部传入组织id,满足超管切换组织操作 */ - void handleOrganInfo(OrganInfoHandler handler); + void handleOrganInfo(OrganInfoHandler handler, Long organId); /** * 进行组织的菜单处理逻辑 diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/organ/OrganServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/organ/OrganServiceImpl.java index b3a67837a..5b7ecab86 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/organ/OrganServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/organ/OrganServiceImpl.java @@ -402,13 +402,13 @@ public class OrganServiceImpl implements OrganService { } @Override - public void handleOrganInfo(OrganInfoHandler handler) { + public void handleOrganInfo(OrganInfoHandler handler,Long organId) { // 如果禁用,则不执行逻辑 if (isTenantDisable()) { return; } // 获得组织 - OrganizationDO tenant = getOrgan(OrganContextHolder.getRequiredOrganId()); + OrganizationDO tenant = getOrgan(ObjectUtil.isNotNull(organId) ? organId : OrganContextHolder.getRequiredOrganId()); // 执行处理器 handler.handle(tenant); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/user/AdminUserServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/user/AdminUserServiceImpl.java index 6bfbc671b..a0b2f0aa9 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/user/AdminUserServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/user/AdminUserServiceImpl.java @@ -139,7 +139,7 @@ public class AdminUserServiceImpl implements AdminUserService { if (count >= organ.getAccountCount()) { throw ServiceExceptionUtil.exception(ErrorCodeConstants.USER_COUNT_MAX, organ.getAccountCount()); } - }); + }, organId); // 校验正确性 validateUserForCreateOrUpdate(null, createReqVO.getMobile(), diff --git a/cf-module-system/cf-module-system-biz/src/test/java/com/cf/imes/module/system/service/organ/TenantServiceImplTest.java b/cf-module-system/cf-module-system-biz/src/test/java/com/cf/imes/module/system/service/organ/TenantServiceImplTest.java index f8a6eafc4..afe55b73a 100644 --- a/cf-module-system/cf-module-system-biz/src/test/java/com/cf/imes/module/system/service/organ/TenantServiceImplTest.java +++ b/cf-module-system/cf-module-system-biz/src/test/java/com/cf/imes/module/system/service/organ/TenantServiceImplTest.java @@ -377,7 +377,7 @@ public class TenantServiceImplTest extends BaseDbUnitTest { when(tenantProperties.getEnable()).thenReturn(false); // 调用 - tenantService.handleOrganInfo(handler); + tenantService.handleOrganInfo(handler, null); // 断言 verify(handler, never()).handle(any()); } @@ -394,7 +394,7 @@ public class TenantServiceImplTest extends BaseDbUnitTest { OrganContextHolder.setOrganId(dbTenant.getId()); // 调用 - tenantService.handleOrganInfo(handler); + tenantService.handleOrganInfo(handler, null); // 断言 verify(handler).handle(argThat(argument -> { assertPojoEquals(dbTenant, argument); diff --git a/cf-module-system/cf-module-system-biz/src/test/java/com/cf/imes/module/system/service/user/AdminUserServiceImplTest.java b/cf-module-system/cf-module-system-biz/src/test/java/com/cf/imes/module/system/service/user/AdminUserServiceImplTest.java index 4fba52f93..4e0555caa 100644 --- a/cf-module-system/cf-module-system-biz/src/test/java/com/cf/imes/module/system/service/user/AdminUserServiceImplTest.java +++ b/cf-module-system/cf-module-system-biz/src/test/java/com/cf/imes/module/system/service/user/AdminUserServiceImplTest.java @@ -92,7 +92,7 @@ public class AdminUserServiceImplTest extends BaseDbUnitTest { doNothing().when(tenantService).handleOrganInfo(argThat(handler -> { handler.handle(tenant); return true; - })); + }), null); // mock deptService 的方法 DeptDO dept = randomPojo(DeptDO.class, o -> { o.setId(reqVO.getDeptId()); @@ -129,7 +129,7 @@ public class AdminUserServiceImplTest extends BaseDbUnitTest { doNothing().when(tenantService).handleOrganInfo(argThat(handler -> { handler.handle(tenant); return true; - })); + }), null); // 调用,并断言异常 assertServiceException(() -> userService.createUser(reqVO), USER_COUNT_MAX, -1);