feat: 新增主动拉取与多类型回调功能
- 新增 ActivePull 实体、DAO、DTO 及 Service,支持主动拉取任务管理 - 新增 ComposeCallback、VideoCallback、HttpNodeCallback 多类型回调接口 - FlowExecution 增加 NodeGroupId 和 TotalTokens 字段,支持节点组追踪与 Token 统计 - ExecutedNodes 结构由字符串列表改为包含执行状态的节点对象列表 - 重构回调通知机制,统一 Notify 函数调用 - 优化输出项类型判断逻辑,新增文件类型标识
This commit is contained in:
141
update.sql
141
update.sql
@@ -406,6 +406,8 @@ CREATE TABLE IF NOT EXISTS black_deacon_flow_execution (
|
||||
-- 业务字段
|
||||
flow_user_id BIGINT NOT NULL, -- 流程ID
|
||||
flow_name VARCHAR(128) NOT NULL DEFAULT '',
|
||||
node_group_id varchar(64) NOT NULL DEFAULT '',
|
||||
total_tokens integer NOT NULL DEFAULT 0,
|
||||
trigger_type VARCHAR(32) NOT NULL DEFAULT '', -- 触发类型
|
||||
duration_ms BIGINT NOT NULL DEFAULT 0, -- 执行时长(毫秒)
|
||||
status SMALLINT NOT NULL DEFAULT 1, -- 状态:1-运行中,2-成功,3-失败
|
||||
@@ -435,6 +437,8 @@ COMMENT ON COLUMN black_deacon_flow_execution.updated_at IS '更新时间';
|
||||
COMMENT ON COLUMN black_deacon_flow_execution.deleted_at IS '删除时间(软删)';
|
||||
COMMENT ON COLUMN black_deacon_flow_execution.flow_user_id IS '流程ID';
|
||||
COMMENT ON COLUMN black_deacon_flow_execution.flow_name IS '流程名称';
|
||||
COMMENT ON COLUMN black_deacon_flow_execution.total_tokens IS '总token消耗';
|
||||
COMMENT ON COLUMN black_deacon_flow_execution.node_group_id IS '节点组ID';
|
||||
COMMENT ON COLUMN black_deacon_flow_execution.trigger_type IS '触发类型';
|
||||
COMMENT ON COLUMN black_deacon_flow_execution.duration_ms IS '执行时长(毫秒)';
|
||||
COMMENT ON COLUMN black_deacon_flow_execution.status IS '状态:1-运行中,2-成功,3-失败';
|
||||
@@ -518,4 +522,139 @@ COMMENT ON COLUMN black_deacon_flow_template.category_name IS '流程分类名
|
||||
COMMENT ON COLUMN black_deacon_flow_template.flow_content IS '流程内容';
|
||||
COMMENT ON COLUMN black_deacon_flow_template.node_input_params IS '节点输入参数';
|
||||
COMMENT ON COLUMN black_deacon_flow_template.status IS '流程状态:1启用/0停用';
|
||||
--------------------pgsql创建black_deacon_flow_template表语句---------------------------
|
||||
--------------------pgsql创建black_deacon_flow_template表语句---------------------------
|
||||
|
||||
--------------------pgsql创建black_deacon_active_pull表语句---------------------------
|
||||
-- 主动拉取记录表
|
||||
CREATE TABLE IF NOT EXISTS black_deacon_active_pull (
|
||||
-- 基础字段(完全对齐项目规范)
|
||||
id BIGINT PRIMARY KEY,
|
||||
tenant_id BIGINT NOT NULL DEFAULT 0,
|
||||
creator VARCHAR(64) NOT NULL,
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updater VARCHAR(64) NOT NULL,
|
||||
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
deleted_at timestamp(6),
|
||||
|
||||
-- 业务字段
|
||||
type VARCHAR(64) NOT NULL DEFAULT '',
|
||||
request_parament JSONB DEFAULT '{}',
|
||||
response_parament JSONB DEFAULT '{}',
|
||||
extension JSONB DEFAULT '{}'
|
||||
);
|
||||
|
||||
-- 索引
|
||||
CREATE INDEX idx_active_pull_tenant_id ON black_deacon_active_pull(tenant_id);
|
||||
CREATE INDEX idx_active_pull_type ON black_deacon_active_pull("type");
|
||||
CREATE INDEX idx_active_pull_deleted_at ON black_deacon_active_pull(deleted_at);
|
||||
|
||||
-- 注释
|
||||
COMMENT ON TABLE black_deacon_active_pull IS '主动拉取记录表';
|
||||
COMMENT ON COLUMN black_deacon_active_pull.id IS '主键ID';
|
||||
COMMENT ON COLUMN black_deacon_active_pull.tenant_id IS '租户ID';
|
||||
COMMENT ON COLUMN black_deacon_active_pull.creator IS '创建人';
|
||||
COMMENT ON COLUMN black_deacon_active_pull.created_at IS '创建时间';
|
||||
COMMENT ON COLUMN black_deacon_active_pull.updater IS '更新人';
|
||||
COMMENT ON COLUMN black_deacon_active_pull.updated_at IS '更新时间';
|
||||
COMMENT ON COLUMN black_deacon_active_pull.deleted_at IS '删除时间(软删)';
|
||||
COMMENT ON COLUMN black_deacon_active_pull.type IS '类型';
|
||||
COMMENT ON COLUMN black_deacon_active_pull.request_parament IS '请求参数';
|
||||
COMMENT ON COLUMN black_deacon_active_pull.response_parament IS '响应参数';
|
||||
COMMENT ON COLUMN black_deacon_active_pull.extension IS '扩展信息';
|
||||
--------------------pgsql创建black_deacon_active_pull表语句---------------------------
|
||||
|
||||
--------------------pgsql创建black_deacon_node_prompt表语句---------------------------
|
||||
-- 节点提示词配置表
|
||||
CREATE TABLE IF NOT EXISTS black_deacon_node_prompt (
|
||||
-- 基础字段(完全对齐项目规范)
|
||||
id BIGINT PRIMARY KEY,
|
||||
tenant_id BIGINT NOT NULL DEFAULT 0,
|
||||
creator VARCHAR(64) NOT NULL,
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updater VARCHAR(64) NOT NULL,
|
||||
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
deleted_at timestamp(6),
|
||||
|
||||
-- 业务字段
|
||||
node_type VARCHAR(64) NOT NULL DEFAULT '', -- 节点类型
|
||||
prompt TEXT NOT NULL DEFAULT '', -- 提示词内容
|
||||
source_type SMALLINT NOT NULL DEFAULT 1 -- 来源:1=系统初始化,2=用户自定义
|
||||
);
|
||||
|
||||
-- 索引
|
||||
CREATE INDEX idx_node_prompt_tenant_id ON black_deacon_node_prompt(tenant_id);
|
||||
CREATE INDEX idx_node_prompt_node_type ON black_deacon_node_prompt(node_type);
|
||||
CREATE INDEX idx_node_prompt_source_type ON black_deacon_node_prompt(source_type);
|
||||
CREATE INDEX idx_node_prompt_deleted_at ON black_deacon_node_prompt(deleted_at);
|
||||
|
||||
-- 注释
|
||||
COMMENT ON TABLE black_deacon_node_prompt IS '节点提示词配置表';
|
||||
COMMENT ON COLUMN black_deacon_node_prompt.id IS '主键ID';
|
||||
COMMENT ON COLUMN black_deacon_node_prompt.tenant_id IS '租户ID';
|
||||
COMMENT ON COLUMN black_deacon_node_prompt.creator IS '创建人';
|
||||
COMMENT ON COLUMN black_deacon_node_prompt.created_at IS '创建时间';
|
||||
COMMENT ON COLUMN black_deacon_node_prompt.updater IS '更新人';
|
||||
COMMENT ON COLUMN black_deacon_node_prompt.updated_at IS '更新时间';
|
||||
COMMENT ON COLUMN black_deacon_node_prompt.deleted_at IS '删除时间(软删)';
|
||||
COMMENT ON COLUMN black_deacon_node_prompt.node_type IS '节点类型';
|
||||
COMMENT ON COLUMN black_deacon_node_prompt.prompt IS '提示词内容';
|
||||
COMMENT ON COLUMN black_deacon_node_prompt.source_type IS '数据来源:1=系统初始化,2=用户自定义';
|
||||
--------------------pgsql创建black_deacon_node_prompt表语句---------------------------
|
||||
|
||||
--------------------pgsql创建black_deacon_node_execution表语句---------------------------
|
||||
-- 节点执行记录表
|
||||
-- 记录每个节点的入参、出参、token消耗、执行状态等详细信息
|
||||
CREATE TABLE IF NOT EXISTS black_deacon_node_execution (
|
||||
-- 基础字段(完全对齐项目规范)
|
||||
id BIGINT PRIMARY KEY, -- 主键ID(非自增)
|
||||
tenant_id BIGINT NOT NULL DEFAULT 0, -- 租户ID int8
|
||||
creator VARCHAR(64) NOT NULL,
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updater VARCHAR(64) NOT NULL,
|
||||
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
deleted_at timestamp(6),
|
||||
|
||||
-- 业务字段
|
||||
flow_execution_id BIGINT NOT NULL, -- 流程执行ID
|
||||
node_id VARCHAR(64) NOT NULL DEFAULT '', -- 节点ID
|
||||
node_name VARCHAR(128) NOT NULL DEFAULT '', -- 节点名称
|
||||
node_group_id VARCHAR(64) NOT NULL DEFAULT '', -- 节点分组ID
|
||||
input_params JSONB DEFAULT '{}', -- 节点输入参数
|
||||
output_params JSONB DEFAULT '{}', -- 节点输出参数
|
||||
prompt_tokens INTEGER NOT NULL DEFAULT 0, -- 提示词token消耗
|
||||
completion_tokens INTEGER NOT NULL DEFAULT 0, -- 补全token消耗
|
||||
total_tokens INTEGER NOT NULL DEFAULT 0, -- 总token消耗
|
||||
status SMALLINT NOT NULL DEFAULT 1, -- 执行状态:1-运行中,2-成功,3-失败,4-暂停,5-等待执行
|
||||
duration_ms BIGINT NOT NULL DEFAULT 0, -- 执行时长(毫秒)
|
||||
error_message TEXT DEFAULT '' -- 错误信息
|
||||
);
|
||||
|
||||
-- 索引(高频查询)
|
||||
CREATE INDEX IF NOT EXISTS idx_bne_tenant_id ON black_deacon_node_execution(tenant_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_bne_flow_execution_id ON black_deacon_node_execution(flow_execution_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_bne_node_id ON black_deacon_node_execution(node_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_bne_status ON black_deacon_node_execution(status);
|
||||
CREATE INDEX IF NOT EXISTS idx_bne_deleted_at ON black_deacon_node_execution(deleted_at);
|
||||
|
||||
-- 表和字段注释
|
||||
COMMENT ON TABLE black_deacon_node_execution IS '节点执行记录表';
|
||||
COMMENT ON COLUMN black_deacon_node_execution.id IS '主键ID(非自增)';
|
||||
COMMENT ON COLUMN black_deacon_node_execution.tenant_id IS '租户ID';
|
||||
COMMENT ON COLUMN black_deacon_node_execution.creator IS '创建人';
|
||||
COMMENT ON COLUMN black_deacon_node_execution.created_at IS '创建时间';
|
||||
COMMENT ON COLUMN black_deacon_node_execution.updater IS '更新人';
|
||||
COMMENT ON COLUMN black_deacon_node_execution.updated_at IS '更新时间';
|
||||
COMMENT ON COLUMN black_deacon_node_execution.deleted_at IS '删除时间(软删)';
|
||||
COMMENT ON COLUMN black_deacon_node_execution.flow_execution_id IS '流程执行ID';
|
||||
COMMENT ON COLUMN black_deacon_node_execution.node_id IS '节点ID';
|
||||
COMMENT ON COLUMN black_deacon_node_execution.node_name IS '节点名称';
|
||||
COMMENT ON COLUMN black_deacon_node_execution.node_group_id IS '节点分组ID';
|
||||
COMMENT ON COLUMN black_deacon_node_execution.input_params IS '节点输入参数';
|
||||
COMMENT ON COLUMN black_deacon_node_execution.output_params IS '节点输出参数';
|
||||
COMMENT ON COLUMN black_deacon_node_execution.prompt_tokens IS '提示词token消耗';
|
||||
COMMENT ON COLUMN black_deacon_node_execution.completion_tokens IS '补全token消耗';
|
||||
COMMENT ON COLUMN black_deacon_node_execution.total_tokens IS '总token消耗';
|
||||
COMMENT ON COLUMN black_deacon_node_execution.status IS '执行状态:1-运行中,2-成功,3-失败,4-暂停,5-等待执行';
|
||||
COMMENT ON COLUMN black_deacon_node_execution.duration_ms IS '执行时长(毫秒)';
|
||||
COMMENT ON COLUMN black_deacon_node_execution.error_message IS '错误信息';
|
||||
--------------------pgsql创建black_deacon_node_execution表语句---------------------------
|
||||
Reference in New Issue
Block a user