Jelajahi Sumber

规则监听/设备注册bug修复

xiwa 3 tahun lalu
induk
melakukan
35bdd1b7fc

+ 4 - 1
protocol-gateway/component-server/src/main/java/cc/iotkit/comps/service/DeviceBehaviourService.java

@@ -99,7 +99,10 @@ public class DeviceBehaviourService {
         DeviceInfo device = deviceRepository.findByProductKeyAndDeviceName(pk, info.getDeviceName());
 
         if (device != null) {
-            log.info("device already registered.");
+            log.info("device already registered");
+            //更换网关重新注册更新父级ID
+            device.setParentId(parentId);
+            deviceRepository.save(device);
             return device;
         }
         //不存在,注册新设备

+ 2 - 2
protocol-gateway/mqtt-client-simulator/src/main/java/cc/iotkit/simulator/Application.java

@@ -11,8 +11,8 @@ public class Application {
     public static void main(String[] args) throws IOException {
 
         if (args.length == 0) {
-            Mqtt.broker = "tcp://127.0.0.1:1883";
-//            Mqtt.broker = "tcp://120.76.96.206:1883";
+//            Mqtt.broker = "tcp://127.0.0.1:1883";
+            Mqtt.broker = "tcp://120.76.96.206:1883";
         } else {
             Mqtt.broker = args[0];
         }

+ 5 - 2
rule-engine/src/main/java/cc/iotkit/ruleengine/listener/DeviceCondition.java

@@ -2,6 +2,7 @@ package cc.iotkit.ruleengine.listener;
 
 import cc.iotkit.ruleengine.expression.Expression;
 import lombok.Data;
+import org.apache.commons.lang3.StringUtils;
 
 import java.util.List;
 import java.util.Map;
@@ -47,8 +48,10 @@ public class DeviceCondition {
             if ("*".equals(identifier)) {
                 return true;
             }
-            //存在参数,值任意匹配
-            if (parameter.containsKey(identifier) && "*".equals(comparator)) {
+
+            //存在参数或无参数条件,值任意匹配
+            if ((StringUtils.isBlank(identifier) || parameter.containsKey(identifier))
+                    && "*".equals(comparator)) {
                 return true;
             }