禅道#934修复

This commit is contained in:
gaoqr
2024-12-10 16:34:34 +08:00
parent d6fb0676c2
commit 42649eb560
6 changed files with 10 additions and 9 deletions
@@ -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, "密码必须包含至少一个小写字母");
@@ -108,8 +108,9 @@ public interface OrganService {
* 其中,组织编号从 {@link OrganContextHolder} 上下文中获取
*
* @param handler 处理器
* @param organId 外部传入组织id,满足超管切换组织操作
*/
void handleOrganInfo(OrganInfoHandler handler);
void handleOrganInfo(OrganInfoHandler handler, Long organId);
/**
* 进行组织的菜单处理逻辑
@@ -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);
}
@@ -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(),
@@ -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);
@@ -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);