修改异常节点

This commit is contained in:
zhang
2026-02-28 11:53:36 +08:00
parent a42f881b67
commit fd38d2030e
3 changed files with 7 additions and 43 deletions

View File

@@ -1,38 +0,0 @@
package org.ruoyi.workflow.dto.node;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
/**
* 为大模型返回信息封装的信息DTO发送邮箱
*/
@Data
public class LLmMailSendNodeConfigDto {
/**
* 主题
*/
private String subject;
/**
* 内容
*/
private String content;
/**
* 收件邮箱
*/
@JsonProperty("to_mails")
private String toMails;
/**
* 抄送邮箱
*/
@JsonProperty("cc_mails")
private String ccMails;
/**
* 发送类型
*/
private Integer senderType;
}

View File

@@ -184,6 +184,8 @@ public class WorkflowEngine {
errorMsg = "并行节点中不能包含条件分<EFBFBD>?";
}
errorMsg = nodeMessageTemplate + errorMsg;
// 保存会话信息且发送驱动消息事件
WorkflowMessageUtil.saveWorkflowMessage(wfState, errorMsg);
sseEmitterHelper.sendErrorAndComplete(user.getId(), sseEmitter, errorMsg);
workflowRuntimeService.updateStatus(wfRuntimeResp.getId(), WORKFLOW_PROCESS_STATUS_FAIL, errorMsg);
}

View File

@@ -1,11 +1,11 @@
package org.ruoyi.workflow.workflow.node.mailSend;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSONValidator;
import jakarta.mail.internet.MimeMessage;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.ruoyi.workflow.dto.node.LLmMailSendNodeConfigDto;
import org.ruoyi.workflow.entity.WorkflowComponent;
import org.ruoyi.workflow.entity.WorkflowNode;
import org.ruoyi.workflow.workflow.NodeProcessResult;
@@ -15,7 +15,6 @@ import org.ruoyi.workflow.workflow.WorkflowUtil;
import org.ruoyi.workflow.workflow.data.NodeIOData;
import org.ruoyi.workflow.workflow.node.AbstractWfNode;
import org.ruoyi.workflow.workflow.node.enmus.NodeMessageTemplateEnum;
import org.springframework.beans.BeanUtils;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
@@ -42,9 +41,10 @@ public class MailSendNode extends AbstractWfNode {
String input = getDataFromInput(inputs);
// 判断是否为JSON格式(LLM输出转换 由LLM生成格式)
if (StringUtils.isNotBlank(input) && isJson(input)) {
LLmMailSendNodeConfigDto lLmMailSendNodeConfigDto = JSONObject.parseObject(input, LLmMailSendNodeConfigDto.class);
// 保留原本Sender和Smtp对象
BeanUtils.copyProperties(lLmMailSendNodeConfigDto, config);
JSONObject inputJson = JSON.parseObject(input);
JSONObject configJson = (JSONObject) JSON.toJSON(config);
configJson.putAll(inputJson);
config = configJson.toJavaObject(MailSendNodeConfig.class);
}
// 安全获取模板(使用 defaultString 避免 null