From 9f6d363d5552b593f59fcae792bc4c0660f1893b Mon Sep 17 00:00:00 2001 From: lihao05 Date: Thu, 16 Oct 2025 21:39:20 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BB=A3=E7=A0=81=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/workflow/workflow/WorkflowUtil.java | 35 +++++++++---------- .../workflow/node/AbstractWfNode.java | 2 -- .../ruoyi/workflow/workflow/node/EndNode.java | 2 -- .../workflow/node/answer/LLMAnswerNode.java | 2 -- .../workflow/node/start/StartNode.java | 2 -- .../controller/WorkflowController.java | 1 - 6 files changed, 17 insertions(+), 27 deletions(-) diff --git a/ruoyi-modules-api/ruoyi-workflow-api/src/main/java/org/ruoyi/workflow/workflow/WorkflowUtil.java b/ruoyi-modules-api/ruoyi-workflow-api/src/main/java/org/ruoyi/workflow/workflow/WorkflowUtil.java index 469228fd..b176c52c 100644 --- a/ruoyi-modules-api/ruoyi-workflow-api/src/main/java/org/ruoyi/workflow/workflow/WorkflowUtil.java +++ b/ruoyi-modules-api/ruoyi-workflow-api/src/main/java/org/ruoyi/workflow/workflow/WorkflowUtil.java @@ -16,7 +16,6 @@ import org.ruoyi.workflow.util.JsonUtil; import org.ruoyi.workflow.workflow.data.NodeIOData; import org.ruoyi.workflow.workflow.data.NodeIODataContent; import org.springframework.stereotype.Component; -import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; import java.util.ArrayList; import java.util.List; @@ -50,6 +49,22 @@ public class WorkflowUtil { return result; } + public static String getHumanFeedbackTip(String nodeUuid, List wfNodes) { + WorkflowNode wfNode = wfNodes.stream() + .filter(item -> item.getUuid().equals(nodeUuid)) + .findFirst().orElse(null); + if (null == wfNode) { + return ""; + } + String wfNodeNodeConfig = wfNode.getNodeConfig(); + if (StrUtil.isBlank(wfNodeNodeConfig)) { + return ""; + } + Map map = JsonUtil.toMap(wfNodeNodeConfig); + Object tip = map.getOrDefault("tip", ""); + return String.valueOf(tip); + } + public void streamingInvokeLLM(WfState wfState, WfNodeState state, WorkflowNode node, String modelPlatform, String modelName, List msgs) { log.info("stream invoke, modelPlatform: {}, modelName: {}", modelPlatform, modelName); @@ -72,7 +87,7 @@ public class WorkflowUtil { // 构建 ruoyi-ai 的 ChatRequest ChatRequest chatRequest = new ChatRequest(); chatRequest.setModel(modelName); - + List messages = new ArrayList<>(); for (UserMessage userMsg : msgs) { Message message = new Message(); @@ -85,20 +100,4 @@ public class WorkflowUtil { chatService.chat(chatRequest, streamingGenerator.handler()); wfState.getNodeToStreamingGenerator().put(node.getUuid(), streamingGenerator); } - - public static String getHumanFeedbackTip(String nodeUuid, List wfNodes) { - WorkflowNode wfNode = wfNodes.stream() - .filter(item -> item.getUuid().equals(nodeUuid)) - .findFirst().orElse(null); - if (null == wfNode) { - return ""; - } - String wfNodeNodeConfig = wfNode.getNodeConfig(); - if (StrUtil.isBlank(wfNodeNodeConfig)) { - return ""; - } - Map map = JsonUtil.toMap(wfNodeNodeConfig); - Object tip = map.getOrDefault("tip", ""); - return String.valueOf(tip); - } } diff --git a/ruoyi-modules-api/ruoyi-workflow-api/src/main/java/org/ruoyi/workflow/workflow/node/AbstractWfNode.java b/ruoyi-modules-api/ruoyi-workflow-api/src/main/java/org/ruoyi/workflow/workflow/node/AbstractWfNode.java index f7b2eb37..adafa28e 100644 --- a/ruoyi-modules-api/ruoyi-workflow-api/src/main/java/org/ruoyi/workflow/workflow/node/AbstractWfNode.java +++ b/ruoyi-modules-api/ruoyi-workflow-api/src/main/java/org/ruoyi/workflow/workflow/node/AbstractWfNode.java @@ -12,7 +12,6 @@ import org.ruoyi.workflow.entity.WorkflowComponent; import org.ruoyi.workflow.entity.WorkflowNode; import org.ruoyi.workflow.enums.WfIODataTypeEnum; import org.ruoyi.workflow.exception.WorkflowBaseException; -import org.ruoyi.workflow.helper.SSEEmitterHelper; import org.ruoyi.workflow.util.JsonUtil; import org.ruoyi.workflow.util.SpringUtil; import org.ruoyi.workflow.workflow.NodeProcessResult; @@ -23,7 +22,6 @@ import org.ruoyi.workflow.workflow.data.NodeIOData; import org.ruoyi.workflow.workflow.def.WfNodeIO; import org.ruoyi.workflow.workflow.def.WfNodeParamRef; import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean; -import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; import java.util.ArrayList; import java.util.List; diff --git a/ruoyi-modules-api/ruoyi-workflow-api/src/main/java/org/ruoyi/workflow/workflow/node/EndNode.java b/ruoyi-modules-api/ruoyi-workflow-api/src/main/java/org/ruoyi/workflow/workflow/node/EndNode.java index d7becc0b..8b6c182f 100644 --- a/ruoyi-modules-api/ruoyi-workflow-api/src/main/java/org/ruoyi/workflow/workflow/node/EndNode.java +++ b/ruoyi-modules-api/ruoyi-workflow-api/src/main/java/org/ruoyi/workflow/workflow/node/EndNode.java @@ -5,11 +5,9 @@ import com.fasterxml.jackson.databind.node.ObjectNode; import lombok.extern.slf4j.Slf4j; import org.ruoyi.workflow.entity.WorkflowComponent; import org.ruoyi.workflow.entity.WorkflowNode; -import org.ruoyi.workflow.helper.SSEEmitterHelper; import org.ruoyi.workflow.util.JsonUtil; import org.ruoyi.workflow.workflow.*; import org.ruoyi.workflow.workflow.data.NodeIOData; -import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; import java.util.ArrayList; import java.util.List; diff --git a/ruoyi-modules-api/ruoyi-workflow-api/src/main/java/org/ruoyi/workflow/workflow/node/answer/LLMAnswerNode.java b/ruoyi-modules-api/ruoyi-workflow-api/src/main/java/org/ruoyi/workflow/workflow/node/answer/LLMAnswerNode.java index fb630671..db89ce7e 100644 --- a/ruoyi-modules-api/ruoyi-workflow-api/src/main/java/org/ruoyi/workflow/workflow/node/answer/LLMAnswerNode.java +++ b/ruoyi-modules-api/ruoyi-workflow-api/src/main/java/org/ruoyi/workflow/workflow/node/answer/LLMAnswerNode.java @@ -5,14 +5,12 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.ruoyi.workflow.entity.WorkflowComponent; import org.ruoyi.workflow.entity.WorkflowNode; -import org.ruoyi.workflow.helper.SSEEmitterHelper; import org.ruoyi.workflow.util.SpringUtil; import org.ruoyi.workflow.workflow.NodeProcessResult; import org.ruoyi.workflow.workflow.WfNodeState; import org.ruoyi.workflow.workflow.WfState; import org.ruoyi.workflow.workflow.WorkflowUtil; import org.ruoyi.workflow.workflow.node.AbstractWfNode; -import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; import java.util.List; diff --git a/ruoyi-modules-api/ruoyi-workflow-api/src/main/java/org/ruoyi/workflow/workflow/node/start/StartNode.java b/ruoyi-modules-api/ruoyi-workflow-api/src/main/java/org/ruoyi/workflow/workflow/node/start/StartNode.java index 4cd7fc30..6f5df29e 100644 --- a/ruoyi-modules-api/ruoyi-workflow-api/src/main/java/org/ruoyi/workflow/workflow/node/start/StartNode.java +++ b/ruoyi-modules-api/ruoyi-workflow-api/src/main/java/org/ruoyi/workflow/workflow/node/start/StartNode.java @@ -5,7 +5,6 @@ import org.apache.commons.lang3.StringUtils; import org.ruoyi.common.core.exception.base.BaseException; import org.ruoyi.workflow.entity.WorkflowComponent; import org.ruoyi.workflow.entity.WorkflowNode; -import org.ruoyi.workflow.helper.SSEEmitterHelper; import org.ruoyi.workflow.util.JsonUtil; import org.ruoyi.workflow.workflow.NodeProcessResult; import org.ruoyi.workflow.workflow.WfNodeIODataUtil; @@ -13,7 +12,6 @@ import org.ruoyi.workflow.workflow.WfNodeState; import org.ruoyi.workflow.workflow.WfState; import org.ruoyi.workflow.workflow.data.NodeIOData; import org.ruoyi.workflow.workflow.node.AbstractWfNode; -import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; import java.util.List; diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/ruoyi/workflow/controller/WorkflowController.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/ruoyi/workflow/controller/WorkflowController.java index d5f43e53..02fd3c96 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/ruoyi/workflow/controller/WorkflowController.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/ruoyi/workflow/controller/WorkflowController.java @@ -1,6 +1,5 @@ package org.ruoyi.workflow.controller; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.v3.oas.annotations.Operation; import jakarta.annotation.Resource;