feat: 新增工作流执行模块

新增流程执行记录的实体、DTO、DAO、控制器和服务层,支持工作流的执行、回调及结果树状列表查询;同时更新服务名称为 ai-agent。
This commit is contained in:
2026-05-12 13:34:28 +08:00
parent 2aec7fe30f
commit 7c26914353
42 changed files with 4146 additions and 11 deletions

View File

@@ -279,6 +279,87 @@ COMMENT ON COLUMN black_deacon_creation_info.title IS '标题';
--------------------pgsql创建creation_info表语句---------------------------
--------------------pgsql创建black_deacon_skill_template表语句---------------------------
-- 技能模板表
CREATE TABLE IF NOT EXISTS black_deacon_skill_template (
-- 基础字段(完全对齐项目规范)
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),
-- 业务字段
name VARCHAR(128) NOT NULL DEFAULT '',
description TEXT DEFAULT '',
category VARCHAR(64) NOT NULL DEFAULT '',
file_name VARCHAR(255) NOT NULL DEFAULT '',
file_url VARCHAR(512) NOT NULL DEFAULT ''
);
-- 索引
CREATE INDEX idx_skill_template_tenant_id ON black_deacon_skill_template(tenant_id);
CREATE INDEX idx_skill_template_category ON black_deacon_skill_template(category);
CREATE INDEX idx_skill_template_deleted_at ON black_deacon_skill_template(deleted_at);
-- 注释
COMMENT ON TABLE black_deacon_skill_template IS '技能模板表';
COMMENT ON COLUMN black_deacon_skill_template.id IS '主键ID';
COMMENT ON COLUMN black_deacon_skill_template.tenant_id IS '租户ID';
COMMENT ON COLUMN black_deacon_skill_template.creator IS '创建人';
COMMENT ON COLUMN black_deacon_skill_template.created_at IS '创建时间';
COMMENT ON COLUMN black_deacon_skill_template.updater IS '更新人';
COMMENT ON COLUMN black_deacon_skill_template.updated_at IS '更新时间';
COMMENT ON COLUMN black_deacon_skill_template.deleted_at IS '删除时间(软删)';
COMMENT ON COLUMN black_deacon_skill_template.name IS '技能模板名称';
COMMENT ON COLUMN black_deacon_skill_template.description IS '描述';
COMMENT ON COLUMN black_deacon_skill_template.category IS '分类';
COMMENT ON COLUMN black_deacon_skill_template.file_name IS '文件名称';
COMMENT ON COLUMN black_deacon_skill_template.file_url IS '文件地址';
--------------------pgsql创建black_deacon_skill_template表语句---------------------------
--------------------pgsql创建black_deacon_skill_user表语句---------------------------
-- 技能用户表
CREATE TABLE IF NOT EXISTS black_deacon_skill_user (
-- 基础字段(完全对齐项目规范)
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),
-- 业务字段
name VARCHAR(128) NOT NULL DEFAULT '',
description TEXT DEFAULT '',
category VARCHAR(64) NOT NULL DEFAULT '',
file_name VARCHAR(255) NOT NULL DEFAULT '',
file_url VARCHAR(512) NOT NULL DEFAULT ''
);
-- 索引
CREATE INDEX idx_skill_user_tenant_id ON black_deacon_skill_user(tenant_id);
CREATE INDEX idx_skill_user_category ON black_deacon_skill_user(category);
CREATE INDEX idx_skill_user_deleted_at ON black_deacon_skill_user(deleted_at);
-- 注释
COMMENT ON TABLE black_deacon_skill_user IS '技能用户表';
COMMENT ON COLUMN black_deacon_skill_user.id IS '主键ID';
COMMENT ON COLUMN black_deacon_skill_user.tenant_id IS '租户ID';
COMMENT ON COLUMN black_deacon_skill_user.creator IS '创建人';
COMMENT ON COLUMN black_deacon_skill_user.created_at IS '创建时间';
COMMENT ON COLUMN black_deacon_skill_user.updater IS '更新人';
COMMENT ON COLUMN black_deacon_skill_user.updated_at IS '更新时间';
COMMENT ON COLUMN black_deacon_skill_user.deleted_at IS '删除时间(软删)';
COMMENT ON COLUMN black_deacon_skill_user.name IS '技能名称';
COMMENT ON COLUMN black_deacon_skill_user.description IS '描述';
COMMENT ON COLUMN black_deacon_skill_user.category IS '分类';
COMMENT ON COLUMN black_deacon_skill_user.file_name IS '文件名称';
COMMENT ON COLUMN black_deacon_skill_user.file_url IS '文件地址';
--------------------pgsql创建black_deacon_skill_user表语句---------------------------
--------------------pgsql创建black_deacon_flow_execution表语句---------------------------
-- 流程执行记录表
@@ -294,6 +375,7 @@ CREATE TABLE IF NOT EXISTS black_deacon_flow_execution (
-- 业务字段
flow_user_id BIGINT NOT NULL, -- 流程ID
flow_name VARCHAR(128) NOT NULL DEFAULT '',
trigger_type VARCHAR(32) NOT NULL DEFAULT '', -- 触发类型
duration_ms BIGINT NOT NULL DEFAULT 0, -- 执行时长(毫秒)
status SMALLINT NOT NULL DEFAULT 1, -- 状态:1-运行中,2-成功,3-失败
@@ -302,6 +384,7 @@ CREATE TABLE IF NOT EXISTS black_deacon_flow_execution (
output_params JSONB DEFAULT '[]'::JSONB,
error_message TEXT DEFAULT '', -- 错误信息
trace_id VARCHAR(64) DEFAULT '' -- 跟踪ID
session_id VARCHAR(64) DEFAULT '' -- 会话ID
);
-- 索引(高频查询)
@@ -321,6 +404,7 @@ COMMENT ON COLUMN black_deacon_flow_execution.updater IS '更新人';
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.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-失败';
@@ -329,6 +413,7 @@ COMMENT ON COLUMN black_deacon_flow_execution.node_input_params IS '节点输入
COMMENT ON COLUMN black_deacon_flow_execution.output_params IS '输出参数';
COMMENT ON COLUMN black_deacon_flow_execution.error_message IS '错误信息';
COMMENT ON COLUMN black_deacon_flow_execution.trace_id IS '跟踪ID';
COMMENT ON COLUMN black_deacon_flow_execution.session_id IS '会话ID';
--------------------pgsql创建black_deacon_flow_execution表语句---------------------------
--------------------pgsql创建black_deacon_flow_user表语句---------------------------
@@ -357,4 +442,50 @@ COMMENT ON COLUMN black_deacon_flow_user.flow_content IS '流程内容';
COMMENT ON COLUMN black_deacon_flow_user.node_input_params IS '节点输入参数';
COMMENT ON COLUMN black_deacon_flow_user.access_level IS '访问权限1私有2团队3公开';
COMMENT ON COLUMN black_deacon_flow_user.source_flow_template_id IS '来源流程模板ID';
--------------------pgsql创建black_deacon_flow_user表语句---------------------------
--------------------pgsql创建black_deacon_flow_user表语句---------------------------
--------------------pgsql创建black_deacon_flow_template表语句---------------------------
-- 流程模板表
CREATE TABLE IF NOT EXISTS black_deacon_flow_template (
-- 基础字段(完全对齐项目规范)
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),
-- 业务字段
flow_template_name VARCHAR(128) NOT NULL DEFAULT '',
description TEXT DEFAULT '',
category_code VARCHAR(64) NOT NULL DEFAULT '',
category_name VARCHAR(64) NOT NULL DEFAULT '',
flow_content JSONB DEFAULT '{}',
node_input_params JSONB DEFAULT '[]',
status SMALLINT NOT NULL DEFAULT 1
);
-- 索引
CREATE INDEX idx_flow_template_tenant_id ON black_deacon_flow_template(tenant_id);
CREATE INDEX idx_flow_template_category_code ON black_deacon_flow_template(category_code);
CREATE INDEX idx_flow_template_status ON black_deacon_flow_template(status);
CREATE INDEX idx_flow_template_deleted_at ON black_deacon_flow_template(deleted_at);
-- 注释
COMMENT ON TABLE black_deacon_flow_template IS '流程模板表';
COMMENT ON COLUMN black_deacon_flow_template.id IS '主键ID';
COMMENT ON COLUMN black_deacon_flow_template.tenant_id IS '租户ID';
COMMENT ON COLUMN black_deacon_flow_template.creator IS '创建人';
COMMENT ON COLUMN black_deacon_flow_template.created_at IS '创建时间';
COMMENT ON COLUMN black_deacon_flow_template.updater IS '更新人';
COMMENT ON COLUMN black_deacon_flow_template.updated_at IS '更新时间';
COMMENT ON COLUMN black_deacon_flow_template.deleted_at IS '删除时间(软删)';
COMMENT ON COLUMN black_deacon_flow_template.flow_template_name IS '流程模板名称';
COMMENT ON COLUMN black_deacon_flow_template.description IS '流程描述';
COMMENT ON COLUMN black_deacon_flow_template.category_code IS '流程分类编码';
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表语句---------------------------