...
|
...
|
@@ -3,15 +3,12 @@ package org.thingsboard.server.dao.yunteng.impl; |
3
|
3
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
4
|
4
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
5
|
5
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
6
|
|
-import com.fasterxml.jackson.core.type.TypeReference;
|
7
|
6
|
import com.fasterxml.jackson.databind.JsonNode;
|
8
|
|
-import com.fasterxml.jackson.databind.ObjectMapper;
|
9
|
7
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
10
|
8
|
import lombok.RequiredArgsConstructor;
|
11
|
9
|
import org.apache.commons.lang3.StringUtils;
|
12
|
10
|
import org.springframework.stereotype.Service;
|
13
|
11
|
import org.springframework.transaction.annotation.Transactional;
|
14
|
|
-import org.thingsboard.server.common.data.id.EntityId;
|
15
|
12
|
import org.thingsboard.server.common.data.yunteng.constant.FastIotConstants;
|
16
|
13
|
import org.thingsboard.server.common.data.yunteng.core.exception.YtDataValidationException;
|
17
|
14
|
import org.thingsboard.server.common.data.yunteng.core.message.ErrorMessage;
|
...
|
...
|
@@ -22,8 +19,6 @@ import org.thingsboard.server.common.data.yunteng.enums.TriggerTypeEnum; |
22
|
19
|
import org.thingsboard.server.common.data.yunteng.utils.JacksonUtil;
|
23
|
20
|
import org.thingsboard.server.common.data.yunteng.utils.ReflectUtils;
|
24
|
21
|
import org.thingsboard.server.common.data.yunteng.utils.tools.YtPageData;
|
25
|
|
-import org.thingsboard.server.dao.exception.DataValidationException;
|
26
|
|
-import org.thingsboard.server.dao.yunteng.ConvertConfig;
|
27
|
22
|
import org.thingsboard.server.dao.yunteng.entities.*;
|
28
|
23
|
import org.thingsboard.server.dao.yunteng.mapper.*;
|
29
|
24
|
import org.thingsboard.server.dao.yunteng.service.*;
|
...
|
...
|
@@ -182,8 +177,6 @@ public class SceneLinkageServiceImpl extends AbstractBaseService<SceneLinkageMap |
182
|
177
|
|
183
|
178
|
|
184
|
179
|
}
|
185
|
|
- } else {
|
186
|
|
- return;
|
187
|
180
|
}
|
188
|
181
|
|
189
|
182
|
// 先删除触发器
|
...
|
...
|
@@ -194,15 +187,17 @@ public class SceneLinkageServiceImpl extends AbstractBaseService<SceneLinkageMap |
194
|
187
|
|
195
|
188
|
|
196
|
189
|
// 如果获取的触发器不为空,进行添加操作
|
197
|
|
- List<Trigger> triggers =
|
198
|
|
- triggerDTOS.stream()
|
199
|
|
- .map(triggerDTO -> {
|
200
|
|
- triggerDTO.setTenantId(sceneLinkage.getTenantId());
|
201
|
|
- triggerDTO.setSceneLinkageId(sceneLinkage.getId());
|
202
|
|
- return triggerDTO.getEntity(Trigger.class);
|
203
|
|
- })
|
204
|
|
- .collect(Collectors.toList());
|
205
|
|
- triggerService.insertBatch(triggers, 1000);
|
|
190
|
+ if(triggerDTOS != null && !triggerDTOS.isEmpty()){
|
|
191
|
+ List<Trigger> triggers =
|
|
192
|
+ triggerDTOS.stream()
|
|
193
|
+ .map(triggerDTO -> {
|
|
194
|
+ triggerDTO.setTenantId(sceneLinkage.getTenantId());
|
|
195
|
+ triggerDTO.setSceneLinkageId(sceneLinkage.getId());
|
|
196
|
+ return triggerDTO.getEntity(Trigger.class);
|
|
197
|
+ })
|
|
198
|
+ .collect(Collectors.toList());
|
|
199
|
+ triggerService.insertBatch(triggers, 1000);
|
|
200
|
+ }
|
206
|
201
|
}
|
207
|
202
|
|
208
|
203
|
/**
|
...
|
...
|
@@ -238,22 +233,24 @@ public class SceneLinkageServiceImpl extends AbstractBaseService<SceneLinkageMap |
238
|
233
|
.lambda()
|
239
|
234
|
.eq(StringUtils.isNoneBlank(sceneLinkageDTO.getId()), DoAction::getSceneLinkageId, sceneLinkageDTO.getId()));
|
240
|
235
|
|
|
236
|
+ if (actionDTOS != null && !actionDTOS.isEmpty()) {
|
|
237
|
+ List<DoAction> collectA =
|
|
238
|
+ actionDTOS.stream()
|
|
239
|
+ .map(doActionDTO -> {
|
|
240
|
+ doActionDTO.setTenantId(sceneLinkageDTO.getTenantId());
|
|
241
|
+ doActionDTO.setSceneLinkageId(sceneLinkageDTO.getId());
|
|
242
|
+ if (ActionTypeEnum.DEVICE_OUT.equals(doActionDTO.getOutTarget())) {
|
|
243
|
+ ObjectNode doContext = JacksonUtil.newObjectNode();
|
|
244
|
+ doContext.put("method", "methodThingskit");
|
|
245
|
+ doContext.put("params", doActionDTO.getDoContext());
|
|
246
|
+ doActionDTO.setDoContext(doContext);
|
|
247
|
+ }
|
|
248
|
+ return doActionDTO.getEntity(DoAction.class);
|
|
249
|
+ })
|
|
250
|
+ .collect(Collectors.toList());
|
|
251
|
+ doActionService.insertBatch(collectA, 1000);
|
241
|
252
|
|
242
|
|
- List<DoAction> collectA =
|
243
|
|
- sceneLinkageDTO.getDoActions().stream()
|
244
|
|
- .map(doActionDTO -> {
|
245
|
|
- doActionDTO.setTenantId(sceneLinkageDTO.getTenantId());
|
246
|
|
- doActionDTO.setSceneLinkageId(sceneLinkageDTO.getId());
|
247
|
|
- if (ActionTypeEnum.DEVICE_OUT.equals(doActionDTO.getOutTarget())) {
|
248
|
|
- ObjectNode doContext = JacksonUtil.newObjectNode();
|
249
|
|
- doContext.put("method", "methodThingskit");
|
250
|
|
- doContext.put("params", doActionDTO.getDoContext());
|
251
|
|
- doActionDTO.setDoContext(doContext);
|
252
|
|
- }
|
253
|
|
- return doActionDTO.getEntity(DoAction.class);
|
254
|
|
- })
|
255
|
|
- .collect(Collectors.toList());
|
256
|
|
- doActionService.insertBatch(collectA, 1000);
|
|
253
|
+ }
|
257
|
254
|
|
258
|
255
|
|
259
|
256
|
}
|
...
|
...
|
@@ -293,17 +290,20 @@ public class SceneLinkageServiceImpl extends AbstractBaseService<SceneLinkageMap |
293
|
290
|
|
294
|
291
|
|
295
|
292
|
// 4.批量新增执行条件
|
296
|
|
- List<DoCondition> collectC =
|
297
|
|
- sceneLinkageDTO.getDoConditions().stream()
|
298
|
|
- .map(doConditionDTO -> {
|
|
293
|
+ if (conditionDTOS != null && !conditionDTOS.isEmpty()) {
|
|
294
|
+ List<DoCondition> collectC =
|
|
295
|
+ conditionDTOS.stream()
|
|
296
|
+ .map(doConditionDTO -> {
|
|
297
|
+
|
|
298
|
+ doConditionDTO.setTenantId(sceneLinkageDTO.getTenantId());
|
|
299
|
+ doConditionDTO.setSceneLinkageId(sceneLinkageDTO.getId());
|
|
300
|
+ return doConditionDTO.getEntity(DoCondition.class);
|
|
301
|
+ }
|
|
302
|
+ )
|
|
303
|
+ .collect(Collectors.toList());
|
|
304
|
+ doConditionService.insertBatch(collectC, 1000);
|
299
|
305
|
|
300
|
|
- doConditionDTO.setTenantId(sceneLinkageDTO.getTenantId());
|
301
|
|
- doConditionDTO.setSceneLinkageId(sceneLinkageDTO.getId());
|
302
|
|
- return doConditionDTO.getEntity(DoCondition.class);
|
303
|
|
- }
|
304
|
|
- )
|
305
|
|
- .collect(Collectors.toList());
|
306
|
|
- doConditionService.insertBatch(collectC, 1000);
|
|
306
|
+ }
|
307
|
307
|
}
|
308
|
308
|
|
309
|
309
|
/**
|
...
|
...
|
@@ -436,7 +436,8 @@ public class SceneLinkageServiceImpl extends AbstractBaseService<SceneLinkageMap |
436
|
436
|
return null;
|
437
|
437
|
}
|
438
|
438
|
|
439
|
|
- List<DeviceDTO> organizationDevices = findDeviceList(currentSceneId, tenantId, customerId);
|
|
439
|
+ SceneLinkage self = baseMapper.selectById(currentSceneId);
|
|
440
|
+ List<DeviceDTO> organizationDevices = findDeviceList(self.getOrganizationId(), tenantId, customerId);
|
440
|
441
|
List<String> allDevices = new ArrayList<>();
|
441
|
442
|
for (DeviceDTO item : organizationDevices) {
|
442
|
443
|
allDevices.add(item.getTbDeviceId());
|
...
|
...
|
|