diff --git a/cmvr-iot-test/pom.xml b/cmvr-iot-test/pom.xml index 71cb3e6..1e3cb61 100644 --- a/cmvr-iot-test/pom.xml +++ b/cmvr-iot-test/pom.xml @@ -34,6 +34,10 @@ com.cmvr cmvr-iot-grpc-client + + com.cmvr + cmvr-iot-grpc-lib + diff --git a/cmvr-iot-test/src/main/java/com/cmvr/test/flow/runtime/message/TaskNodeExecuteMessage.java b/cmvr-iot-test/src/main/java/com/cmvr/test/flow/runtime/message/TaskNodeExecuteMessage.java index 974355b..0c5bd59 100644 --- a/cmvr-iot-test/src/main/java/com/cmvr/test/flow/runtime/message/TaskNodeExecuteMessage.java +++ b/cmvr-iot-test/src/main/java/com/cmvr/test/flow/runtime/message/TaskNodeExecuteMessage.java @@ -99,7 +99,7 @@ public class TaskNodeExecuteMessage { private List runtimeAssignments = new ArrayList<>(); /** 节点参数名到真实设备ID的解析结果。 */ - private JSONObject resolvedDeviceBindings = new JSONObject(); + private JSONObject resolvedDeviceBindings; /** * 节点入参 diff --git a/cmvr-iot-test/src/main/java/com/cmvr/test/service/FlowActionExecutorService.java b/cmvr-iot-test/src/main/java/com/cmvr/test/service/FlowActionExecutorService.java index 803f5b7..488edc4 100644 --- a/cmvr-iot-test/src/main/java/com/cmvr/test/service/FlowActionExecutorService.java +++ b/cmvr-iot-test/src/main/java/com/cmvr/test/service/FlowActionExecutorService.java @@ -87,6 +87,10 @@ public class FlowActionExecutorService { private String executeEdgeOperateAction(ActionEnum action, FlowActionRequestVO req) { TaskNodeExecuteMessage message = buildSingleNodeMessage(action, req.getPayload()); + if (edgeOperateServices == null) { + // Keep manually constructed legacy callers working outside the Spring container. + return executeEdgeAction(action, req); + } for (EdgeOperateService service : edgeOperateServices) { if (service.supports(action)) { return resultToString(service.execute(message));