Commit 06aa0b802b745a22c57eb62f75143c4619b58c6d

Authored by xp.Huang
1 parent 0d922d52

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

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