...
|
...
|
@@ -43,6 +43,9 @@ public class SceneLinkageServiceImpl extends AbstractBaseService<SceneLinkageMap |
43
|
43
|
private final DoConditionService doConditionService;
|
44
|
44
|
private final DoActionService doActionService;
|
45
|
45
|
private final UserMapper userMapper;
|
|
46
|
+ private final ConvertConfigMapper ruleEngineMapper;
|
|
47
|
+ private final ConvertConfigService ruleEngineService;
|
|
48
|
+ private final UserOrganizationMappingService userOrganizationMappingService;
|
46
|
49
|
/**
|
47
|
50
|
* 增加场景联动,触发器可以多个,执行条件可以多个,执行动作可以多个
|
48
|
51
|
*
|
...
|
...
|
@@ -277,27 +280,18 @@ public class SceneLinkageServiceImpl extends AbstractBaseService<SceneLinkageMap |
277
|
280
|
* @return SceneLinkageDTO 场景对象
|
278
|
281
|
*/
|
279
|
282
|
@Override
|
280
|
|
- @Transactional
|
281
|
|
- public YtPageData<SceneLinkageDTO> page(Map<String, Object> queryMap, String tenantId) {
|
|
283
|
+ public YtPageData<SceneLinkageDTO> page(Map<String, Object> queryMap, String tenantId,boolean isCustomerUser) {
|
282
|
284
|
queryMap.put("tenantId", tenantId);
|
283
|
285
|
// 拿到传入的组织id
|
284
|
286
|
String organizationId = (String) queryMap.get("organizationId");
|
285
|
287
|
// 不为空
|
286
|
288
|
if (null != organizationId && !StringUtils.isEmpty(organizationId)) {
|
287
|
|
- // 新建组织集合
|
288
|
|
- List<String> organizationIds = new ArrayList<>();
|
289
|
|
- // 添加拿到的组织
|
290
|
|
- organizationIds.add(organizationId);
|
291
|
|
- // 查询该组织的所有子类
|
292
|
|
- List<OrganizationDTO> organizationDTOS =
|
293
|
|
- organizationMapper.findOrganizationTreeList(tenantId, organizationIds);
|
294
|
|
- // 遍历组织id
|
295
|
|
- List<String> queryOrganizationIds = new ArrayList<>();
|
296
|
|
- organizationDTOS.forEach(
|
297
|
|
- item -> {
|
298
|
|
- queryOrganizationIds.add(item.getId());
|
299
|
|
- });
|
300
|
|
- queryMap.put("organizationIds", queryOrganizationIds);
|
|
289
|
+ queryMap.put("organizationIds", getQueryOrganizationIds(tenantId,Arrays.asList(organizationId)));
|
|
290
|
+ }
|
|
291
|
+ if(null == organizationId && isCustomerUser){
|
|
292
|
+ String currentUserId = (String) queryMap.get("currentUser");
|
|
293
|
+ List<String> ids = userOrganizationMappingService.getOrganizationIdsByUserId(currentUserId);
|
|
294
|
+ queryMap.put("organizationIds", getQueryOrganizationIds(tenantId,ids));
|
301
|
295
|
}
|
302
|
296
|
IPage<SceneLinkage> page = getPage(queryMap, FastIotConstants.DefaultOrder.CREATE_TIME, false);
|
303
|
297
|
IPage<SceneLinkageDTO> scenePage = baseMapper.getScenePage(page, queryMap);
|
...
|
...
|
@@ -441,5 +435,15 @@ public class SceneLinkageServiceImpl extends AbstractBaseService<SceneLinkageMap |
441
|
435
|
|
442
|
436
|
return JacksonUtil.convertValue(engineConfig, JsonNode.class);
|
443
|
437
|
}
|
444
|
|
-
|
|
438
|
+ private List<String> getQueryOrganizationIds(String tenantId,List<String> organizationIds){
|
|
439
|
+ // 查询该组织的所有子类
|
|
440
|
+ List<OrganizationDTO> organizationDTOS =
|
|
441
|
+ organizationMapper.findOrganizationTreeList(tenantId, organizationIds);
|
|
442
|
+ // 遍历组织id
|
|
443
|
+ List<String> queryOrganizationIds = new ArrayList<>();
|
|
444
|
+ organizationDTOS.forEach(item -> queryOrganizationIds.add(item.getId()));
|
|
445
|
+ Set<String> set = new HashSet<>();
|
|
446
|
+ set.addAll(queryOrganizationIds);
|
|
447
|
+ return new ArrayList<>(set);
|
|
448
|
+ }
|
445
|
449
|
} |
...
|
...
|
|