Pārlūkot izejas kodu

Merge branch 'master' of https://gitee.com/iotkit-open-source/iotkit-parent

xiwa 2 gadi atpakaļ
vecāks
revīzija
986d6031e8

+ 1 - 1
README.md

@@ -143,7 +143,7 @@ https://ztktkv.yuque.com/books/share/f57275e0-9033-4f70-afe4-d39a98f5fff5?# 《i
 
 微信群:
 
-![输入图片说明](doc/ma.png)
+![输入图片说明](doc/ma.png)   
    
  
 ### roadmap

+ 1 - 0
data/init/virtualDevice.json

@@ -32,6 +32,7 @@
       "16537594784840wenshidu0100300013a",
       "16537594752710wenshidu0100200013d",
       "16537594707840wenshidu0100100013c",
+      "16538390097670switch0300100500143",
       "16514626218250abe124000010000011a"
     ],
     "type": "thingModel",

BIN
doc/ma.png


+ 1 - 1
iot-virtual-device/src/main/java/cc/iotkit/virtualdevice/VirtualExecutor.java

@@ -50,7 +50,7 @@ public class VirtualExecutor implements Job {
                     continue;
                 }
                 log.info("invoke virtual device report,jobKey:{},deviceId:{}", jobKey, device.getDeviceId());
-                virtualManager.invokeReport(device);
+                virtualManager.invokeReport(device, virtualDevice.getId());
             }
         } catch (Throwable e) {
             virtualDeviceLog.setResult(e.getMessage());

+ 4 - 12
iot-virtual-device/src/main/java/cc/iotkit/virtualdevice/VirtualManager.java

@@ -269,23 +269,15 @@ public class VirtualManager {
     /**
      * 调用脚本中上报方法
      */
-    public void invokeReport(DeviceInfo device) {
+    public void invokeReport(DeviceInfo device, String virtualId) {
         //设备上线
         deviceOnline(device);
 
-        String deviceId = device.getDeviceId();
-        Set<String> virtualIds = deviceIdToVirtualId.get(deviceId);
-        if (virtualIds == null) {
+        Object scriptObj = virtualScripts.get(virtualId);
+        if (scriptObj == null) {
             return;
         }
-
-        for (String virtualId : virtualIds) {
-            Object scriptObj = virtualScripts.get(virtualId);
-            if (scriptObj == null) {
-                continue;
-            }
-            processReport(invokeMethod(scriptObj, "report", device));
-        }
+        processReport(invokeMethod(scriptObj, "report", device));
     }
 
     /**