...
|
...
|
@@ -45,6 +45,7 @@ public class SceneLinkageServiceImpl extends AbstractBaseService<SceneLinkageMap |
45
|
45
|
private final UserMapper userMapper;
|
46
|
46
|
private final ConvertConfigMapper ruleEngineMapper;
|
47
|
47
|
private final ConvertConfigService ruleEngineService;
|
|
48
|
+ private final UserOrganizationMappingService userOrganizationMappingService;
|
48
|
49
|
/**
|
49
|
50
|
* 增加场景联动,触发器可以多个,执行条件可以多个,执行动作可以多个
|
50
|
51
|
*
|
...
|
...
|
@@ -267,27 +268,18 @@ public class SceneLinkageServiceImpl extends AbstractBaseService<SceneLinkageMap |
267
|
268
|
* @return SceneLinkageDTO 场景对象
|
268
|
269
|
*/
|
269
|
270
|
@Override
|
270
|
|
- @Transactional
|
271
|
|
- public YtPageData<SceneLinkageDTO> page(Map<String, Object> queryMap, String tenantId) {
|
|
271
|
+ public YtPageData<SceneLinkageDTO> page(Map<String, Object> queryMap, String tenantId,boolean isCustomerUser) {
|
272
|
272
|
queryMap.put("tenantId", tenantId);
|
273
|
273
|
// 拿到传入的组织id
|
274
|
274
|
String organizationId = (String) queryMap.get("organizationId");
|
275
|
275
|
// 不为空
|
276
|
276
|
if (null != organizationId && !StringUtils.isEmpty(organizationId)) {
|
277
|
|
- // 新建组织集合
|
278
|
|
- List<String> organizationIds = new ArrayList<>();
|
279
|
|
- // 添加拿到的组织
|
280
|
|
- organizationIds.add(organizationId);
|
281
|
|
- // 查询该组织的所有子类
|
282
|
|
- List<OrganizationDTO> organizationDTOS =
|
283
|
|
- organizationMapper.findOrganizationTreeList(tenantId, organizationIds);
|
284
|
|
- // 遍历组织id
|
285
|
|
- List<String> queryOrganizationIds = new ArrayList<>();
|
286
|
|
- organizationDTOS.forEach(
|
287
|
|
- item -> {
|
288
|
|
- queryOrganizationIds.add(item.getId());
|
289
|
|
- });
|
290
|
|
- queryMap.put("organizationIds", queryOrganizationIds);
|
|
277
|
+ queryMap.put("organizationIds", getQueryOrganizationIds(tenantId,Arrays.asList(organizationId)));
|
|
278
|
+ }
|
|
279
|
+ if(null == organizationId && isCustomerUser){
|
|
280
|
+ String currentUserId = (String) queryMap.get("currentUser");
|
|
281
|
+ List<String> ids = userOrganizationMappingService.getOrganizationIdsByUserId(currentUserId);
|
|
282
|
+ queryMap.put("organizationIds", getQueryOrganizationIds(tenantId,ids));
|
291
|
283
|
}
|
292
|
284
|
IPage<SceneLinkage> page = getPage(queryMap, FastIotConstants.DefaultOrder.CREATE_TIME, false);
|
293
|
285
|
IPage<SceneLinkageDTO> scenePage = baseMapper.getScenePage(page, queryMap);
|
...
|
...
|
@@ -425,5 +417,15 @@ public class SceneLinkageServiceImpl extends AbstractBaseService<SceneLinkageMap |
425
|
417
|
ruleEngineService.createOrUpdate(ruleEngine);
|
426
|
418
|
return false;
|
427
|
419
|
}
|
428
|
|
-
|
|
420
|
+ private List<String> getQueryOrganizationIds(String tenantId,List<String> organizationIds){
|
|
421
|
+ // 查询该组织的所有子类
|
|
422
|
+ List<OrganizationDTO> organizationDTOS =
|
|
423
|
+ organizationMapper.findOrganizationTreeList(tenantId, organizationIds);
|
|
424
|
+ // 遍历组织id
|
|
425
|
+ List<String> queryOrganizationIds = new ArrayList<>();
|
|
426
|
+ organizationDTOS.forEach(item -> queryOrganizationIds.add(item.getId()));
|
|
427
|
+ Set<String> set = new HashSet<>();
|
|
428
|
+ set.addAll(queryOrganizationIds);
|
|
429
|
+ return new ArrayList<>(set);
|
|
430
|
+ }
|
429
|
431
|
} |
...
|
...
|
|