Explorar o código

增加更新设备物模型接口

zhou-hao %!s(int64=4) %!d(string=hai) anos
pai
achega
48132369d9

+ 22 - 0
jetlinks-manager/device-manager/src/main/java/org/jetlinks/community/device/web/DeviceInstanceController.java

@@ -738,4 +738,26 @@ public class DeviceInstanceController implements
             });
     }
 
+    //更新设备物模型
+    @PutMapping(value = "/{id}/metadata")
+    @SaveAction
+    @QueryOperation(summary = "更新物模型")
+    public Mono<Void> updateMetadata(@PathVariable String id,
+                                     @RequestBody Mono<String> metadata) {
+
+        return Mono
+            .zip(
+                registry.getDevice(id),
+                metadata
+            )
+            .flatMap(tp2 -> service
+                .createUpdate()
+                .set(DeviceInstanceEntity::getDeriveMetadata, tp2.getT2())
+                .where(DeviceInstanceEntity::getId, id)
+                .execute()
+                .then(tp2.getT1().updateMetadata(tp2.getT2())))
+            .then();
+    }
+
+
 }