|
@@ -73,7 +73,7 @@ public class TkOrganizationServiceImpl extends AbstractBaseService<OrganizationM |
|
@@ -73,7 +73,7 @@ public class TkOrganizationServiceImpl extends AbstractBaseService<OrganizationM |
73
|
if (isCustomerOrPlatform) {
|
73
|
if (isCustomerOrPlatform) {
|
74
|
if (StringUtils.isEmpty(organizationDTO.getParentId())) {
|
74
|
if (StringUtils.isEmpty(organizationDTO.getParentId())) {
|
75
|
// 获取当前用户的最顶级组织ID的父ID
|
75
|
// 获取当前用户的最顶级组织ID的父ID
|
76
|
- List<OrganizationDTO> myOrganizations = getMyOrganizations(false, false, tenantId, userId);
|
76
|
+ List<OrganizationDTO> myOrganizations = getMyOrganizations(false, false, false,tenantId, userId,null);
|
77
|
if (null != myOrganizations && myOrganizations.size() > 0) {
|
77
|
if (null != myOrganizations && myOrganizations.size() > 0) {
|
78
|
OrganizationDTO organizationDto = myOrganizations.get(0);
|
78
|
OrganizationDTO organizationDto = myOrganizations.get(0);
|
79
|
String parentId = organizationDto.getParentId();
|
79
|
String parentId = organizationDto.getParentId();
|
|
@@ -212,10 +212,11 @@ public class TkOrganizationServiceImpl extends AbstractBaseService<OrganizationM |
|
@@ -212,10 +212,11 @@ public class TkOrganizationServiceImpl extends AbstractBaseService<OrganizationM |
212
|
|
212
|
|
213
|
@Override
|
213
|
@Override
|
214
|
public List<OrganizationDTO> getMyOrganizations(
|
214
|
public List<OrganizationDTO> getMyOrganizations(
|
215
|
- boolean isPtSysAdmin, boolean isPtTenantAdmin, String tenantId, String currentUserId) {
|
215
|
+ boolean isPtSysAdmin, boolean isPtTenantAdmin,boolean isCustomer, String tenantId, String currentUserId,String organizationId) {
|
216
|
// 如果是租户管理员,则返回该租户id下的所有组织
|
216
|
// 如果是租户管理员,则返回该租户id下的所有组织
|
217
|
- if (isPtTenantAdmin) {
|
|
|
218
|
- return findOrganizationTree(tenantId);
|
217
|
+ if (isPtTenantAdmin || isPtSysAdmin || !isCustomer) {
|
|
|
218
|
+ List<String> organizationIds = StringUtils.isEmpty(organizationId)?null:List.of(organizationId);
|
|
|
219
|
+ return findOrganizationTree(tenantId,organizationIds);
|
219
|
} else {
|
220
|
} else {
|
220
|
// 返回当前用户组织id集
|
221
|
// 返回当前用户组织id集
|
221
|
Set<String> organizationIds =
|
222
|
Set<String> organizationIds =
|
|
@@ -227,30 +228,28 @@ public class TkOrganizationServiceImpl extends AbstractBaseService<OrganizationM |
|
@@ -227,30 +228,28 @@ public class TkOrganizationServiceImpl extends AbstractBaseService<OrganizationM |
227
|
.stream()
|
228
|
.stream()
|
228
|
.map(TkUserOrganizationMappingEntity::getOrganizationId)
|
229
|
.map(TkUserOrganizationMappingEntity::getOrganizationId)
|
229
|
.collect(Collectors.toSet());
|
230
|
.collect(Collectors.toSet());
|
230
|
- List<TkOrganizationEntity> organizations;
|
|
|
231
|
- if (organizationIds.size() > 0 || isPtSysAdmin) {
|
|
|
232
|
- organizations =
|
|
|
233
|
- baseMapper.selectList(
|
|
|
234
|
- new QueryWrapper<TkOrganizationEntity>()
|
|
|
235
|
- .lambda()
|
|
|
236
|
- .eq(TkOrganizationEntity::getTenantId, tenantId)
|
|
|
237
|
- .in(organizationIds.size() > 0, TkOrganizationEntity::getId, organizationIds));
|
231
|
+ if(!StringUtils.isEmpty(organizationId)){
|
|
|
232
|
+ organizationIds = new HashSet<>(List.of(organizationId));
|
|
|
233
|
+ }
|
|
|
234
|
+ if (organizationIds.size() > 0) {
|
|
|
235
|
+ return findOrganizationTree(tenantId, new ArrayList<>(organizationIds));
|
238
|
} else {
|
236
|
} else {
|
239
|
return null;
|
237
|
return null;
|
240
|
}
|
238
|
}
|
241
|
- return TreeUtils.buildTree(ReflectUtils.sourceToTarget(organizations, OrganizationDTO.class));
|
239
|
+
|
242
|
}
|
240
|
}
|
243
|
}
|
241
|
}
|
244
|
|
242
|
|
245
|
/**
|
243
|
/**
|
246
|
- * 查询租户id下的所有组织
|
244
|
+ * 查询租户id下的所有组织或对应组织的下级组织及本身
|
247
|
*
|
245
|
*
|
248
|
* @param tenantId 租户ID
|
246
|
* @param tenantId 租户ID
|
|
|
247
|
+ * @param organizationIds 组织IDS
|
249
|
* @return 组织列表
|
248
|
* @return 组织列表
|
250
|
*/
|
249
|
*/
|
251
|
- private List<OrganizationDTO> findOrganizationTree(String tenantId) {
|
250
|
+ private List<OrganizationDTO> findOrganizationTree(String tenantId,List<String> organizationIds) {
|
252
|
List<OrganizationDTO> organizationTreeList =
|
251
|
List<OrganizationDTO> organizationTreeList =
|
253
|
- baseMapper.findOrganizationTreeList(tenantId, null);
|
252
|
+ baseMapper.findOrganizationTreeList(tenantId, organizationIds);
|
254
|
return buildOrganizationDTOTree(organizationTreeList);
|
253
|
return buildOrganizationDTOTree(organizationTreeList);
|
255
|
}
|
254
|
}
|
256
|
|
255
|
|