Commit 06aa0b802b745a22c57eb62f75143c4619b58c6d

Authored by xp.Huang
1 parent 0d922d52

perf: TCP转换脚本与规则链脚本查询条件一致,便于页面合并管理

... ... @@ -67,6 +67,8 @@ public class TkConvertDataToController extends BaseController {
67 67 @RequestParam(value = "name", required = false) String name,
68 68 @RequestParam(value = "status", required = false) Integer status,
69 69 @RequestParam(value = ORDER_FILED, required = false) String orderBy,
  70 + @RequestParam(value = "startTime", required = false) Long startTime,
  71 + @RequestParam(value = "endTime", required = false) Long endTime,
70 72 @RequestParam(value = ORDER_TYPE, required = false) OrderTypeEnum orderType)
71 73 throws ThingsboardException {
72 74
... ... @@ -77,6 +79,7 @@ public class TkConvertDataToController extends BaseController {
77 79 queryMap.put("nodeType", nodeType);
78 80 queryMap.put("name", name);
79 81 queryMap.put("status", status);
  82 + checkTimeAndPut(queryMap,startTime,endTime);
80 83 if (orderType != null) {
81 84 queryMap.put(ORDER_TYPE, orderType.name());
82 85 }
... ...
... ... @@ -122,6 +122,7 @@ public class TkDeviceScriptController extends BaseController {
122 122 @RequestParam(value = ORDER_FILED, required = false) String orderFiled,
123 123 @RequestParam(value = ORDER_TYPE, required = false) OrderTypeEnum orderType,
124 124 @RequestParam(value = "name", required = false) String name,
  125 + @RequestParam(value = "status", required = false) Integer status,
125 126 @RequestParam(value = "startTime", required = false) Long startTime,
126 127 @RequestParam(value = "endTime", required = false) Long endTime)
127 128 throws ThingsboardException {
... ... @@ -132,7 +133,7 @@ public class TkDeviceScriptController extends BaseController {
132 133 queryMap.put(ORDER_TYPE, orderType);
133 134 queryMap.put(CUSTOMER_ID, getCurrentUser().getCustomerId().toString());
134 135 queryMap.put(TENANT_ID, getCurrentUser().getCurrentTenantId());
135   -
  136 + queryMap.put("status", status);
136 137 if (!StringUtils.isEmpty(name)) {
137 138 queryMap.put("name", name);
138 139 }
... ...
... ... @@ -27,6 +27,7 @@ import org.thingsboard.server.dao.yunteng.mapper.ConvertConfigMapper;
27 27 import org.thingsboard.server.dao.yunteng.service.AbstractBaseService;
28 28 import org.thingsboard.server.dao.yunteng.service.ConvertConfigService;
29 29
  30 +import java.time.LocalDateTime;
30 31 import java.util.*;
31 32 import java.util.concurrent.ConcurrentHashMap;
32 33 import java.util.concurrent.atomic.AtomicInteger;
... ... @@ -40,13 +41,15 @@ public class TkConvertConfigServiceImpl
40 41 private final String connectionType = "Success";
41 42 private final String originatorType =
42 43 "org.thingsboard.rule.engine.metadata.TbGetOriginatorFieldsNode";
43   - private final String sceneOriginatorName ="scene@thingskit";
  44 + private final String sceneOriginatorName = "scene@thingskit";
44 45 private final String scriptType = "org.thingsboard.rule.engine.transform.TbTransformMsgNode";
45 46 private final String filterScriptType = "org.thingsboard.rule.engine.filter.TbJsFilterNode";
46 47 private final String convertNodeName = "dataConvert@thingskit";
47 48
48 49 @Override
49 50 public TkPageData<ConvertConfigDTO> page(String tenantId, Map<String, Object> queryMap) {
  51 + LocalDateTime startTime = (LocalDateTime) queryMap.get("startTime");
  52 + LocalDateTime endTime = (LocalDateTime) queryMap.get("endTime");
50 53 IPage<ConvertConfig> iPage =
51 54 baseMapper.selectPage(
52 55 getPage(queryMap, FastIotConstants.DefaultOrder.CREATE_TIME, false),
... ... @@ -57,6 +60,11 @@ public class TkConvertConfigServiceImpl
57 60 ConvertConfig::getStatus,
58 61 queryMap.get("status"))
59 62 .eq(ConvertConfig::getNodeType, queryMap.get("nodeType"))
  63 + .and(
  64 + null != startTime && null != endTime,
  65 + qr ->
  66 + qr.ge(ConvertConfig::getCreateTime, startTime)
  67 + .le(ConvertConfig::getCreateTime, endTime))
60 68 .like(
61 69 null != queryMap.get("name"),
62 70 ConvertConfig::getName,
... ... @@ -223,8 +231,9 @@ public class TkConvertConfigServiceImpl
223 231 } else if (nodeType.intValue() == FastIotConstants.JAVA_SCRIPT.intValue()) {
224 232 needDelete = deleteConvertJS(nodes, ruleChainMetaData);
225 233 } else {
226   - needDelete = deleteScene(nodes.get(1), ruleChainMetaData)
227   - &&deleteScene(nodes.get(0), ruleChainMetaData);
  234 + needDelete =
  235 + deleteScene(nodes.get(1), ruleChainMetaData)
  236 + && deleteScene(nodes.get(0), ruleChainMetaData);
228 237 }
229 238 return needDelete;
230 239 }
... ... @@ -240,7 +249,7 @@ public class TkConvertConfigServiceImpl
240 249 } else if (nodeType.intValue() == FastIotConstants.JAVA_SCRIPT.intValue()) {
241 250 addConvertJSRuleNode(nodes, ruleChainMetaData);
242 251 } else {
243   - addSceneRuleNode(nodes.get(0),nodes.get(1), ruleChainMetaData);
  252 + addSceneRuleNode(nodes.get(0), nodes.get(1), ruleChainMetaData);
244 253 }
245 254 }
246 255
... ... @@ -748,11 +757,13 @@ public class TkConvertConfigServiceImpl
748 757 ruleChainMetaData.getConnections().add(failedConnectionInfo);
749 758 }
750 759
751   - private void addSceneRuleNode(RuleNode origNode, RuleNode sceneNode,RuleChainMetaData ruleChainMetaData) {
  760 + private void addSceneRuleNode(
  761 + RuleNode origNode, RuleNode sceneNode, RuleChainMetaData ruleChainMetaData) {
752 762 boolean existScene = false;
753 763 // check scene exist
754 764 for (RuleNode node : ruleChainMetaData.getNodes()) {
755   - if (sceneNode.getName().equals(node.getName()) && sceneNode.getType().equals(node.getType())) {
  765 + if (sceneNode.getName().equals(node.getName())
  766 + && sceneNode.getType().equals(node.getType())) {
756 767 node.setConfiguration(sceneNode.getConfiguration());
757 768 existScene = true;
758 769 break;
... ... @@ -764,7 +775,6 @@ public class TkConvertConfigServiceImpl
764 775 int layoutX = 1128;
765 776 int layoutY = 132;
766 777
767   -
768 778 ObjectNode origAddition = setAdditionalInfo(layoutX, layoutY, origNode);
769 779 origNode.setAdditionalInfo(origAddition);
770 780 ruleChainMetaData.getNodes().add(origNode);
... ... @@ -778,7 +788,7 @@ public class TkConvertConfigServiceImpl
778 788 node -> {
779 789 if (node.getType()
780 790 .equals("org.thingsboard.rule.engine.telemetry.TbMsgTimeseriesNode")
781   - || node.getType()
  791 + || node.getType()
782 792 .equals("org.thingsboard.rule.engine.telemetry.TbMsgAttributesNode")) {
783 793 NodeConnectionInfo nodeConnectionInfo = new NodeConnectionInfo();
784 794 nodeConnectionInfo.setFromIndex(ruleNodeIndex.get());
... ... @@ -786,7 +796,8 @@ public class TkConvertConfigServiceImpl
786 796 nodeConnectionInfo.setType(connectionType);
787 797 ruleChainMetaData.getConnections().add(nodeConnectionInfo);
788 798 }
789   - if (node.getName().equals(sceneOriginatorName) && node.getType().equals(originatorType)) {
  799 + if (node.getName().equals(sceneOriginatorName)
  800 + && node.getType().equals(originatorType)) {
790 801 NodeConnectionInfo nodeConnectionInfo = new NodeConnectionInfo();
791 802 nodeConnectionInfo.setFromIndex(ruleNodeIndex.get());
792 803 nodeConnectionInfo.setToIndex(ruleChainMetaData.getNodes().size() - 1);
... ...
... ... @@ -212,6 +212,7 @@ public class TkDeviceScriptServiceImpl
212 212 (LocalDateTime) queryMap.get("startTime");
213 213 LocalDateTime endTime =
214 214 (LocalDateTime) queryMap.get("endTime");
  215 + Integer status = null != queryMap.get("status") ? (Integer)queryMap.get("status") : null;
215 216 Set<String> scriptIds = null;
216 217 if (!isTenantAdmin && StringUtils.isNotEmpty(customerId)) {
217 218 scriptIds = getCustomerScripts(customerId, tenantId);
... ... @@ -223,6 +224,7 @@ public class TkDeviceScriptServiceImpl
223 224 new QueryWrapper<TkDeviceScriptEntity>()
224 225 .lambda()
225 226 .eq(TkDeviceScriptEntity::getTenantId, tenantId)
  227 + .eq(null != status,TkDeviceScriptEntity::getStatus,status)
226 228 .like(StringUtils.isNotEmpty(name), TkDeviceScriptEntity::getName, name)
227 229 .and(
228 230 null != startTime && null != endTime,
... ...