mirror of
https://gitcode.com/ageerle/ruoyi-ai.git
synced 2026-04-15 12:53:42 +00:00
修改异常节点
This commit is contained in:
@@ -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;
|
|
||||||
}
|
|
||||||
@@ -184,6 +184,8 @@ public class WorkflowEngine {
|
|||||||
errorMsg = "并行节点中不能包含条件分<EFBFBD>?";
|
errorMsg = "并行节点中不能包含条件分<EFBFBD>?";
|
||||||
}
|
}
|
||||||
errorMsg = nodeMessageTemplate + errorMsg;
|
errorMsg = nodeMessageTemplate + errorMsg;
|
||||||
|
// 保存会话信息且发送驱动消息事件
|
||||||
|
WorkflowMessageUtil.saveWorkflowMessage(wfState, errorMsg);
|
||||||
sseEmitterHelper.sendErrorAndComplete(user.getId(), sseEmitter, errorMsg);
|
sseEmitterHelper.sendErrorAndComplete(user.getId(), sseEmitter, errorMsg);
|
||||||
workflowRuntimeService.updateStatus(wfRuntimeResp.getId(), WORKFLOW_PROCESS_STATUS_FAIL, errorMsg);
|
workflowRuntimeService.updateStatus(wfRuntimeResp.getId(), WORKFLOW_PROCESS_STATUS_FAIL, errorMsg);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
package org.ruoyi.workflow.workflow.node.mailSend;
|
package org.ruoyi.workflow.workflow.node.mailSend;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.alibaba.fastjson.JSONValidator;
|
import com.alibaba.fastjson.JSONValidator;
|
||||||
import jakarta.mail.internet.MimeMessage;
|
import jakarta.mail.internet.MimeMessage;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.ruoyi.workflow.dto.node.LLmMailSendNodeConfigDto;
|
|
||||||
import org.ruoyi.workflow.entity.WorkflowComponent;
|
import org.ruoyi.workflow.entity.WorkflowComponent;
|
||||||
import org.ruoyi.workflow.entity.WorkflowNode;
|
import org.ruoyi.workflow.entity.WorkflowNode;
|
||||||
import org.ruoyi.workflow.workflow.NodeProcessResult;
|
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.data.NodeIOData;
|
||||||
import org.ruoyi.workflow.workflow.node.AbstractWfNode;
|
import org.ruoyi.workflow.workflow.node.AbstractWfNode;
|
||||||
import org.ruoyi.workflow.workflow.node.enmus.NodeMessageTemplateEnum;
|
import org.ruoyi.workflow.workflow.node.enmus.NodeMessageTemplateEnum;
|
||||||
import org.springframework.beans.BeanUtils;
|
|
||||||
import org.springframework.mail.javamail.JavaMailSender;
|
import org.springframework.mail.javamail.JavaMailSender;
|
||||||
import org.springframework.mail.javamail.JavaMailSenderImpl;
|
import org.springframework.mail.javamail.JavaMailSenderImpl;
|
||||||
import org.springframework.mail.javamail.MimeMessageHelper;
|
import org.springframework.mail.javamail.MimeMessageHelper;
|
||||||
@@ -42,9 +41,10 @@ public class MailSendNode extends AbstractWfNode {
|
|||||||
String input = getDataFromInput(inputs);
|
String input = getDataFromInput(inputs);
|
||||||
// 判断是否为JSON格式(LLM输出转换 由LLM生成格式)
|
// 判断是否为JSON格式(LLM输出转换 由LLM生成格式)
|
||||||
if (StringUtils.isNotBlank(input) && isJson(input)) {
|
if (StringUtils.isNotBlank(input) && isJson(input)) {
|
||||||
LLmMailSendNodeConfigDto lLmMailSendNodeConfigDto = JSONObject.parseObject(input, LLmMailSendNodeConfigDto.class);
|
JSONObject inputJson = JSON.parseObject(input);
|
||||||
// 保留原本Sender和Smtp对象
|
JSONObject configJson = (JSONObject) JSON.toJSON(config);
|
||||||
BeanUtils.copyProperties(lLmMailSendNodeConfigDto, config);
|
configJson.putAll(inputJson);
|
||||||
|
config = configJson.toJavaObject(MailSendNodeConfig.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 安全获取模板(使用 defaultString 避免 null)
|
// 安全获取模板(使用 defaultString 避免 null)
|
||||||
|
|||||||
Reference in New Issue
Block a user