|
@@ -181,35 +181,39 @@ public class TenantServiceImpl implements TenantService {
|
|
|
//钉钉同步管理员ID
|
|
//钉钉同步管理员ID
|
|
|
DingUserTenantRelateDO dingUserTenantRelateDO = dingUserTenantRelateMapper.selectOne(DingUserTenantRelateDO::getTenantId,tenant.getId());
|
|
DingUserTenantRelateDO dingUserTenantRelateDO = dingUserTenantRelateMapper.selectOne(DingUserTenantRelateDO::getTenantId,tenant.getId());
|
|
|
|
|
|
|
|
- AtomicLong roleIdHolder = new AtomicLong(0L);
|
|
|
|
|
|
|
+ // AtomicLong roleIdHolder = new AtomicLong(0L);
|
|
|
TenantUtils.execute(tenant.getId(), () -> {
|
|
TenantUtils.execute(tenant.getId(), () -> {
|
|
|
- roleIdHolder.set(createSystemSuperAdminRole(tenant.getId()));
|
|
|
|
|
|
|
+ // roleIdHolder.set(createSystemSuperAdminRole(tenant.getId()));
|
|
|
// 分配角色
|
|
// 分配角色
|
|
|
- permissionService.assignUserRole(user.getId(), singleton(roleIdHolder.get()));
|
|
|
|
|
|
|
+ RoleDO roleDO = roleService.selectByName(RoleCodeEnum.SYSTEM_SUPER_ADMIN.getName());
|
|
|
|
|
+ if (roleDO == null || roleDO.getId() == null) {
|
|
|
|
|
+ throw exception(ROLE_NOT_EXISTS);
|
|
|
|
|
+ }
|
|
|
|
|
+ permissionService.assignUserRole(user.getId(), singleton(roleDO.getId()));
|
|
|
if(null!=dingUserTenantRelateDO && dingUserTenantRelateDO.getUserId().equals(user.getUsername())){
|
|
if(null!=dingUserTenantRelateDO && dingUserTenantRelateDO.getUserId().equals(user.getUsername())){
|
|
|
// 修改租户的管理员
|
|
// 修改租户的管理员
|
|
|
tenantMapper.updateById(new TenantDO().setId(tenant.getId()).setContactUserId(user.getId()));
|
|
tenantMapper.updateById(new TenantDO().setId(tenant.getId()).setContactUserId(user.getId()));
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
- Long roleId = roleIdHolder.get(); // 在 lambda 表达式外部获取值
|
|
|
|
|
- // 使用异步处理来创建其他内置角色和分配权限
|
|
|
|
|
- CompletableFuture.runAsync(() -> {
|
|
|
|
|
- try {
|
|
|
|
|
- TenantUtils.execute(tenant.getId(), () -> {
|
|
|
|
|
- // 复制部署流程(目前共12个)
|
|
|
|
|
- bpmModelApi.copyAndDeploy(null, null);
|
|
|
|
|
- // 添加租户字典默认类型和数据
|
|
|
|
|
- dictTypeTenantService.initDictTypeAndDataForTenant(null);
|
|
|
|
|
- this.createSystemAdminRole(tenant.getId());
|
|
|
|
|
- this.createCommonEmployeeRole(tenant.getId());
|
|
|
|
|
- this.createDepartmentLeaderRole(tenant.getId());
|
|
|
|
|
- });
|
|
|
|
|
- } catch (Exception e) {
|
|
|
|
|
- // 处理异步任务中的异常
|
|
|
|
|
- log.error("Error creating system roles and permissions for tenant", e);
|
|
|
|
|
- throw exception(ROLES_PERMISSIONS_CREATE_ERROR, e.getMessage());
|
|
|
|
|
- }
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ // Long roleId = roleIdHolder.get(); // 在 lambda 表达式外部获取值
|
|
|
|
|
+ // // 使用异步处理来创建其他内置角色和分配权限
|
|
|
|
|
+ // CompletableFuture.runAsync(() -> {
|
|
|
|
|
+ // try {
|
|
|
|
|
+ // TenantUtils.execute(tenant.getId(), () -> {
|
|
|
|
|
+ // // 复制部署流程(目前共12个)
|
|
|
|
|
+ // bpmModelApi.copyAndDeploy(null, null);
|
|
|
|
|
+ // // 添加租户字典默认类型和数据
|
|
|
|
|
+ // dictTypeTenantService.initDictTypeAndDataForTenant(null);
|
|
|
|
|
+ // this.createSystemAdminRole(tenant.getId());
|
|
|
|
|
+ // this.createCommonEmployeeRole(tenant.getId());
|
|
|
|
|
+ // this.createDepartmentLeaderRole(tenant.getId());
|
|
|
|
|
+ // });
|
|
|
|
|
+ // } catch (Exception e) {
|
|
|
|
|
+ // // 处理异步任务中的异常
|
|
|
|
|
+ // log.error("Error creating system roles and permissions for tenant", e);
|
|
|
|
|
+ // throw exception(ROLES_PERMISSIONS_CREATE_ERROR, e.getMessage());
|
|
|
|
|
+ // }
|
|
|
|
|
+ // });
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -779,6 +783,25 @@ public class TenantServiceImpl implements TenantService {
|
|
|
tenantMapper.insert(tenant);
|
|
tenantMapper.insert(tenant);
|
|
|
// 创建管理员与租户关系
|
|
// 创建管理员与租户关系
|
|
|
dingUserTenantRelateMapper.insert(new DingUserTenantRelateDO().setUserId(createReqVO.getManageUserId()).setTenantId(tenant.getId()));
|
|
dingUserTenantRelateMapper.insert(new DingUserTenantRelateDO().setUserId(createReqVO.getManageUserId()).setTenantId(tenant.getId()));
|
|
|
|
|
+ // 使用异步处理来创建其他内置角色和分配权限
|
|
|
|
|
+ CompletableFuture.runAsync(() -> {
|
|
|
|
|
+ try {
|
|
|
|
|
+ TenantUtils.execute(tenant.getId(), () -> {
|
|
|
|
|
+ // 复制部署流程(目前共12个)
|
|
|
|
|
+ bpmModelApi.copyAndDeploy(null, null);
|
|
|
|
|
+ // 添加租户字典默认类型和数据
|
|
|
|
|
+ dictTypeTenantService.initDictTypeAndDataForTenant(null);
|
|
|
|
|
+ this.createSystemSuperAdminRole(tenant.getId());
|
|
|
|
|
+ this.createSystemAdminRole(tenant.getId());
|
|
|
|
|
+ this.createCommonEmployeeRole(tenant.getId());
|
|
|
|
|
+ this.createDepartmentLeaderRole(tenant.getId());
|
|
|
|
|
+ });
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ // 处理异步任务中的异常
|
|
|
|
|
+ log.error("Error creating system roles and permissions for tenant", e);
|
|
|
|
|
+ throw exception(ROLES_PERMISSIONS_CREATE_ERROR, e.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|