From 5d41c6b1ae5aec465d27b61aa6d67208fdc0102a Mon Sep 17 00:00:00 2001 From: stream Date: Wed, 4 Feb 2026 14:23:13 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=A7=A6=E6=8E=A7=E4=BA=A4=E4=BA=92(?= =?UTF-8?q?=E9=83=A8=E5=88=86)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cmvr/test/enums/FlowSceneTypeEnum.java | 3 ++- .../java/com/cmvr/test/enums/NodeTypeEnum.java | 1 + .../cmvr/test/flow/builder/FlowModelBuilder.java | 2 ++ .../runtime/dispatcher/FlowHttpNodeHandler.java | 7 +++++-- .../operator/edge/ti/TiTouchOperateService.java | 15 +++++++++++---- .../com/cmvr/ti/service/ITiProjectService.java | 3 ++- .../ti/service/impl/TiProjectServiceImpl.java | 9 +++++---- 7 files changed, 28 insertions(+), 12 deletions(-) diff --git a/cmvr-iot-test/src/main/java/com/cmvr/test/enums/FlowSceneTypeEnum.java b/cmvr-iot-test/src/main/java/com/cmvr/test/enums/FlowSceneTypeEnum.java index 3c93eb6..5c8cf8c 100644 --- a/cmvr-iot-test/src/main/java/com/cmvr/test/enums/FlowSceneTypeEnum.java +++ b/cmvr-iot-test/src/main/java/com/cmvr/test/enums/FlowSceneTypeEnum.java @@ -13,7 +13,8 @@ public enum FlowSceneTypeEnum { NORMAL(0, "普通流程场景", "NORMAL"), VI_WAKEUP_CORPUS(1, "语音交互-唤醒场景", "VI_WAKEUP_CORPUS"), VI_SINGLE_CORPUS(2, "语音交互-单次对话场景", "VI_SINGLE_CORPUS"), - VI_CONTINUOUS_CORPUS(3, "语音交互-连续对话场景", "VI_CONTINUOUS_CORPUS"); + VI_CONTINUOUS_CORPUS(3, "语音交互-连续对话场景", "VI_CONTINUOUS_CORPUS"), + TI_TOUCH(4, "触控交互场景", "TI_TOUCH"); private final int code; // 数字类型 private final String desc; // 描述 diff --git a/cmvr-iot-test/src/main/java/com/cmvr/test/enums/NodeTypeEnum.java b/cmvr-iot-test/src/main/java/com/cmvr/test/enums/NodeTypeEnum.java index 5d550b8..706e9e7 100644 --- a/cmvr-iot-test/src/main/java/com/cmvr/test/enums/NodeTypeEnum.java +++ b/cmvr-iot-test/src/main/java/com/cmvr/test/enums/NodeTypeEnum.java @@ -18,6 +18,7 @@ public enum NodeTypeEnum { STOP_LOOP("stopLoop"), END("end"), SLEEP("sleep"), + HTTP("http"), SUB_END("subEnd"), ; diff --git a/cmvr-iot-test/src/main/java/com/cmvr/test/flow/builder/FlowModelBuilder.java b/cmvr-iot-test/src/main/java/com/cmvr/test/flow/builder/FlowModelBuilder.java index cdd9546..22d1adb 100644 --- a/cmvr-iot-test/src/main/java/com/cmvr/test/flow/builder/FlowModelBuilder.java +++ b/cmvr-iot-test/src/main/java/com/cmvr/test/flow/builder/FlowModelBuilder.java @@ -286,6 +286,8 @@ public class FlowModelBuilder { return NodeTypeEnum.STOP_LOOP; case "sleep": return NodeTypeEnum.SLEEP; + case "http": + return NodeTypeEnum.HTTP; default: return NodeTypeEnum.FUNCTION; } diff --git a/cmvr-iot-test/src/main/java/com/cmvr/test/flow/runtime/dispatcher/FlowHttpNodeHandler.java b/cmvr-iot-test/src/main/java/com/cmvr/test/flow/runtime/dispatcher/FlowHttpNodeHandler.java index e913398..7cad1e6 100644 --- a/cmvr-iot-test/src/main/java/com/cmvr/test/flow/runtime/dispatcher/FlowHttpNodeHandler.java +++ b/cmvr-iot-test/src/main/java/com/cmvr/test/flow/runtime/dispatcher/FlowHttpNodeHandler.java @@ -18,7 +18,10 @@ public class FlowHttpNodeHandler implements FlowNodeTypeHandler { @Override public TaskNodeExecuteResult handle(TaskNodeExecuteMessage message) { - try { + JSONObject output = new JSONObject(); + output.put("result", "主页"); + return TaskNodeExecuteResult.success(output); + /* try { JSONObject inputParams = message.getInputParams(); // 1. 必填参数校验 @@ -91,6 +94,6 @@ public class FlowHttpNodeHandler implements FlowNodeTypeHandler { } catch (Exception e) { log.error("[FLOW][HTTP] 执行异常", e); return TaskNodeExecuteResult.failure(e.getMessage()); - } + }*/ } } diff --git a/cmvr-iot-test/src/main/java/com/cmvr/test/flow/runtime/operator/edge/ti/TiTouchOperateService.java b/cmvr-iot-test/src/main/java/com/cmvr/test/flow/runtime/operator/edge/ti/TiTouchOperateService.java index 3f2bdf8..a97d7c3 100644 --- a/cmvr-iot-test/src/main/java/com/cmvr/test/flow/runtime/operator/edge/ti/TiTouchOperateService.java +++ b/cmvr-iot-test/src/main/java/com/cmvr/test/flow/runtime/operator/edge/ti/TiTouchOperateService.java @@ -4,6 +4,7 @@ import cn.hutool.core.io.FileUtil; import cn.hutool.core.text.StrPool; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.cmvr.common.config.properties.MinioProperties; import com.cmvr.common.core.minio.MinioService; @@ -66,11 +67,10 @@ public class TiTouchOperateService implements EdgeOperateService { switch (action) { case TI_PATH_SEARCH: { // 当前界面 - String currentLocation = inputParams.getString("currentLocation"); - +// String currentLocation = inputParams.getString("currentLocation"); + String currentLocation = "主页"; // 查询功能 - long funcId = inputParams.getLongValue("funcId"); - JSONObject funcObj = exTiVehicleFunctionService.queryById(funcId); + JSONObject funcObj = getFuncObj(message.getIterations(),inputParams); String funcKey = funcObj.getString("funcKey"); String iconUrl = funcObj.getString("iconUrl"); @@ -134,6 +134,13 @@ public class TiTouchOperateService implements EdgeOperateService { return TaskNodeExecuteResult.success(output); } + private JSONObject getFuncObj(List iterations, JSONObject inputParams) { + JSONArray funcIds = inputParams.getJSONArray("funcId"); + int index = iterations.get(0) - 1; + Long funcId = funcIds.toJavaList(Long.class).get(index); + return exTiVehicleFunctionService.queryById(funcId); + } + private String getTouchCoordinates(String pageImageUrl, String iconImageUrl) { AgentConfig agentConfig = apiProperties.getAgentConfig(ActionEnum.TI_TOUCH_COORDINATES.getAction()); Map params = new HashMap<>(); diff --git a/cmvr-iot-ti/src/main/java/com/cmvr/ti/service/ITiProjectService.java b/cmvr-iot-ti/src/main/java/com/cmvr/ti/service/ITiProjectService.java index 8cd61b2..b57a88c 100644 --- a/cmvr-iot-ti/src/main/java/com/cmvr/ti/service/ITiProjectService.java +++ b/cmvr-iot-ti/src/main/java/com/cmvr/ti/service/ITiProjectService.java @@ -3,6 +3,7 @@ package com.cmvr.ti.service; import com.baomidou.mybatisplus.extension.service.IService; import com.cmvr.test.model.domain.TeTaskInst; import com.cmvr.test.model.vo.TeQueryProjectOrchestraItemVO; +import com.cmvr.test.model.vo.TeQueryTaskOrchestraItemVO; import com.cmvr.test.model.vo.TeTaskExecuteProjectVO; import com.cmvr.ti.model.domain.TiProject; @@ -19,7 +20,7 @@ public interface ITiProjectService extends IService { public int deleteTiProjectByProjectIds(String[] projectIds); - public List queryExecuteRunParams(String projectId); + public List queryExecuteRunParams(String projectId); public String executeProject(TeTaskExecuteProjectVO taskExecuteProjectVO); diff --git a/cmvr-iot-ti/src/main/java/com/cmvr/ti/service/impl/TiProjectServiceImpl.java b/cmvr-iot-ti/src/main/java/com/cmvr/ti/service/impl/TiProjectServiceImpl.java index 4143988..e29f45c 100644 --- a/cmvr-iot-ti/src/main/java/com/cmvr/ti/service/impl/TiProjectServiceImpl.java +++ b/cmvr-iot-ti/src/main/java/com/cmvr/ti/service/impl/TiProjectServiceImpl.java @@ -13,9 +13,10 @@ import com.cmvr.test.enums.RunModeEnum; import com.cmvr.test.flow.runtime.engine.FlowTaskRuntimeService; import com.cmvr.test.model.domain.TeTaskConfigInfo; import com.cmvr.test.model.domain.TeTaskInst; -import com.cmvr.test.model.vo.TeQueryProjectOrchestraItemVO; +import com.cmvr.test.model.vo.TeQueryTaskOrchestraItemVO; import com.cmvr.test.model.vo.TeTaskExecuteProjectVO; import com.cmvr.test.service.ITeTaskConfigInfoService; +import com.cmvr.test.service.ITeTaskOrchestrationService; import com.cmvr.ti.mapper.TiProjectMapper; import com.cmvr.ti.model.domain.TiProject; import com.cmvr.ti.model.domain.TiVehicleFunction; @@ -25,7 +26,6 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import java.util.Arrays; -import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -33,6 +33,7 @@ import java.util.stream.Collectors; @RequiredArgsConstructor public class TiProjectServiceImpl extends ServiceImpl implements ITiProjectService { + private final ITeTaskOrchestrationService taskOrchestrationService; private final ITeTaskConfigInfoService taskConfigInfoService; private final FlowTaskRuntimeService flowTaskRuntimeService; private final ITiVehicleFunctionService tiVehicleFunctionService; @@ -93,8 +94,8 @@ public class TiProjectServiceImpl extends ServiceImpl queryExecuteRunParams(String projectId) { - return Collections.emptyList(); + public List queryExecuteRunParams(String projectId) { + return taskOrchestrationService.queryByTaskId(projectId); } @Override