feat: 新增执行记录实体与文件上传能力
This commit is contained in:
+157
-32
@@ -626,11 +626,15 @@ CREATE TABLE IF NOT EXISTS black_deacon_node_execution (
|
||||
prompt_tokens INTEGER NOT NULL DEFAULT 0, -- 提示词token消耗
|
||||
completion_tokens INTEGER NOT NULL DEFAULT 0, -- 补全token消耗
|
||||
total_tokens INTEGER NOT NULL DEFAULT 0, -- 总token消耗
|
||||
token_info JSONB DEFAULT '[]', -- 节点token明细(汇总节点聚合 total_tokens/total_fee 用)
|
||||
status SMALLINT NOT NULL DEFAULT 1, -- 执行状态:1-运行中,2-成功,3-失败,4-暂停,5-等待执行
|
||||
duration_ms BIGINT NOT NULL DEFAULT 0, -- 执行时长(毫秒)
|
||||
error_message TEXT DEFAULT '' -- 错误信息
|
||||
);
|
||||
|
||||
-- 存量库补列
|
||||
ALTER TABLE black_deacon_node_execution ADD COLUMN IF NOT EXISTS token_info JSONB 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);
|
||||
@@ -658,46 +662,54 @@ COMMENT ON COLUMN black_deacon_node_execution.output_params_path 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.token_info IS '节点token明细(汇总节点聚合 total_tokens/total_fee 用)';
|
||||
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表语句---------------------------
|
||||
|
||||
-- ========== 会话记录 + 工作流/普通会话结果表(2026-08-13) ==========
|
||||
|
||||
--------------------pgsql创建black_deacon_session表语句---------------------------
|
||||
-- 会话记录表
|
||||
CREATE TABLE IF NOT EXISTS black_deacon_session (
|
||||
id BIGINT PRIMARY KEY, -- 主键ID(非自增,hook snowflake)
|
||||
tenant_id BIGINT NOT NULL DEFAULT 0, -- 租户ID
|
||||
-- 基础字段(完全对齐项目规范)
|
||||
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),
|
||||
|
||||
-- 业务字段
|
||||
session_id VARCHAR(64) NOT NULL, -- 会话ID(前端传入,雪花ID)
|
||||
session_name VARCHAR(128) NOT NULL DEFAULT '' -- 会话名称
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS black_deacon_workflow_session_result (
|
||||
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),
|
||||
session_id BIGINT NOT NULL DEFAULT 0, -- 所属会话ID
|
||||
flow_id BIGINT NOT NULL DEFAULT 0, -- 工作流ID
|
||||
flow_name VARCHAR(128) NOT NULL DEFAULT '', -- 工作流名称
|
||||
request_params JSONB DEFAULT '{}', -- 请求参数
|
||||
result_params JSONB DEFAULT '[]'::JSONB, -- 返回结果
|
||||
status SMALLINT NOT NULL DEFAULT 1, -- 状态:1-运行中,2-成功,3-失败
|
||||
total_tokens INTEGER NOT NULL DEFAULT 0, -- 总token
|
||||
total_fee NUMERIC(10,4) NOT NULL DEFAULT 0, -- 总费用
|
||||
error_msg TEXT NOT NULL DEFAULT '' -- 错误信息
|
||||
);
|
||||
CREATE INDEX idx_wsr_session ON black_deacon_workflow_session_result (session_id);
|
||||
CREATE INDEX idx_wsr_flow ON black_deacon_workflow_session_result (flow_id, creator);
|
||||
CREATE INDEX idx_wsr_created ON black_deacon_workflow_session_result (created_at);
|
||||
-- 索引(高频查询)
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS uk_session_tenant_session_id ON black_deacon_session(tenant_id, session_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_session_tenant_id ON black_deacon_session(tenant_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_session_creator ON black_deacon_session(creator);
|
||||
CREATE INDEX IF NOT EXISTS idx_session_deleted_at ON black_deacon_session(deleted_at);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS black_deacon_chat_session_result (
|
||||
-- 表和字段注释
|
||||
COMMENT ON TABLE black_deacon_session IS '会话记录表';
|
||||
COMMENT ON COLUMN black_deacon_session.id IS '主键ID(非自增)';
|
||||
COMMENT ON COLUMN black_deacon_session.tenant_id IS '租户ID';
|
||||
COMMENT ON COLUMN black_deacon_session.creator IS '创建人';
|
||||
COMMENT ON COLUMN black_deacon_session.created_at IS '创建时间';
|
||||
COMMENT ON COLUMN black_deacon_session.updater IS '更新人';
|
||||
COMMENT ON COLUMN black_deacon_session.updated_at IS '更新时间';
|
||||
COMMENT ON COLUMN black_deacon_session.deleted_at IS '删除时间(软删)';
|
||||
COMMENT ON COLUMN black_deacon_session.session_id IS '会话ID(前端传入,雪花ID)';
|
||||
COMMENT ON COLUMN black_deacon_session.session_name IS '会话名称';
|
||||
--------------------pgsql创建black_deacon_session表语句---------------------------
|
||||
|
||||
--------------------pgsql创建black_deacon_exec_chat表语句---------------------------
|
||||
-- 普通会话执行记录表
|
||||
CREATE TABLE IF NOT EXISTS black_deacon_exec_chat (
|
||||
-- 基础字段(完全对齐项目规范)
|
||||
id BIGINT PRIMARY KEY,
|
||||
tenant_id BIGINT NOT NULL DEFAULT 0,
|
||||
creator VARCHAR(64) NOT NULL,
|
||||
@@ -705,12 +717,125 @@ CREATE TABLE IF NOT EXISTS black_deacon_chat_session_result (
|
||||
updater VARCHAR(64) NOT NULL,
|
||||
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
deleted_at timestamp(6),
|
||||
session_id BIGINT NOT NULL DEFAULT 0, -- 所属会话ID(级联软删)
|
||||
question TEXT NOT NULL DEFAULT '', -- 用户问题
|
||||
answer TEXT NOT NULL DEFAULT '', -- 模型返回结果
|
||||
total_tokens INTEGER NOT NULL DEFAULT 0, -- 总token
|
||||
total_fee NUMERIC(10,4) NOT NULL DEFAULT 0, -- 总费用
|
||||
error_msg TEXT NOT NULL DEFAULT '' -- 错误信息
|
||||
|
||||
-- 业务字段
|
||||
session_id VARCHAR(64) NOT NULL DEFAULT '', -- 会话ID
|
||||
duration BIGINT NOT NULL DEFAULT 0, -- 执行时长(秒)
|
||||
request_params JSONB DEFAULT '{}', -- 请求参数
|
||||
result_file_url VARCHAR(512) DEFAULT '', -- 结果文件路径(OSS)
|
||||
total_tokens INTEGER NOT NULL DEFAULT 0, -- 总token消耗
|
||||
total_fee DOUBLE PRECISION NOT NULL DEFAULT 0, -- 总费用
|
||||
error_message TEXT DEFAULT '' -- 错误信息
|
||||
);
|
||||
CREATE INDEX idx_csr_session ON black_deacon_chat_session_result (session_id);
|
||||
CREATE INDEX idx_csr_created ON black_deacon_chat_session_result (created_at);
|
||||
|
||||
-- 索引(高频查询)
|
||||
CREATE INDEX IF NOT EXISTS idx_exec_chat_tenant_id ON black_deacon_exec_chat(tenant_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_exec_chat_session_id ON black_deacon_exec_chat(session_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_exec_chat_deleted_at ON black_deacon_exec_chat(deleted_at);
|
||||
|
||||
-- 表和字段注释
|
||||
COMMENT ON TABLE black_deacon_exec_chat IS '普通会话执行记录表';
|
||||
COMMENT ON COLUMN black_deacon_exec_chat.id IS '主键ID';
|
||||
COMMENT ON COLUMN black_deacon_exec_chat.tenant_id IS '租户ID';
|
||||
COMMENT ON COLUMN black_deacon_exec_chat.creator IS '创建人';
|
||||
COMMENT ON COLUMN black_deacon_exec_chat.created_at IS '创建时间';
|
||||
COMMENT ON COLUMN black_deacon_exec_chat.updater IS '更新人';
|
||||
COMMENT ON COLUMN black_deacon_exec_chat.updated_at IS '更新时间';
|
||||
COMMENT ON COLUMN black_deacon_exec_chat.deleted_at IS '删除时间(软删)';
|
||||
COMMENT ON COLUMN black_deacon_exec_chat.session_id IS '会话ID';
|
||||
COMMENT ON COLUMN black_deacon_exec_chat.duration IS '执行时长(秒)';
|
||||
COMMENT ON COLUMN black_deacon_exec_chat.request_params IS '请求参数';
|
||||
COMMENT ON COLUMN black_deacon_exec_chat.result_file_url IS '结果文件路径(OSS)';
|
||||
COMMENT ON COLUMN black_deacon_exec_chat.total_tokens IS '总token消耗';
|
||||
COMMENT ON COLUMN black_deacon_exec_chat.total_fee IS '总费用';
|
||||
COMMENT ON COLUMN black_deacon_exec_chat.error_message IS '错误信息';
|
||||
--------------------pgsql创建black_deacon_exec_chat表语句---------------------------
|
||||
|
||||
--------------------pgsql创建black_deacon_exec_workflow表语句---------------------------
|
||||
-- 工作流执行记录表
|
||||
CREATE TABLE IF NOT EXISTS black_deacon_exec_workflow (
|
||||
-- 基础字段(完全对齐项目规范)
|
||||
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),
|
||||
|
||||
-- 业务字段
|
||||
session_id VARCHAR(64) NOT NULL DEFAULT '', -- 会话ID
|
||||
flow_id BIGINT NOT NULL DEFAULT 0, -- 工作流ID
|
||||
duration BIGINT NOT NULL DEFAULT 0, -- 执行时长(秒)
|
||||
request_params JSONB DEFAULT '{}', -- 请求参数
|
||||
status SMALLINT NOT NULL DEFAULT 1, -- 状态:1-运行中,2-成功,3-失败
|
||||
total_tokens INTEGER NOT NULL DEFAULT 0, -- 总token消耗
|
||||
total_fee DOUBLE PRECISION NOT NULL DEFAULT 0, -- 总费用
|
||||
error_message TEXT DEFAULT '' -- 错误信息
|
||||
);
|
||||
|
||||
-- 索引(高频查询)
|
||||
CREATE INDEX IF NOT EXISTS idx_exec_workflow_tenant_id ON black_deacon_exec_workflow(tenant_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_exec_workflow_session_id ON black_deacon_exec_workflow(session_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_exec_workflow_flow_id ON black_deacon_exec_workflow(flow_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_exec_workflow_status ON black_deacon_exec_workflow(status);
|
||||
CREATE INDEX IF NOT EXISTS idx_exec_workflow_deleted_at ON black_deacon_exec_workflow(deleted_at);
|
||||
|
||||
-- 表和字段注释
|
||||
COMMENT ON TABLE black_deacon_exec_workflow IS '工作流执行记录表';
|
||||
COMMENT ON COLUMN black_deacon_exec_workflow.id IS '主键ID';
|
||||
COMMENT ON COLUMN black_deacon_exec_workflow.tenant_id IS '租户ID';
|
||||
COMMENT ON COLUMN black_deacon_exec_workflow.creator IS '创建人';
|
||||
COMMENT ON COLUMN black_deacon_exec_workflow.created_at IS '创建时间';
|
||||
COMMENT ON COLUMN black_deacon_exec_workflow.updater IS '更新人';
|
||||
COMMENT ON COLUMN black_deacon_exec_workflow.updated_at IS '更新时间';
|
||||
COMMENT ON COLUMN black_deacon_exec_workflow.deleted_at IS '删除时间(软删)';
|
||||
COMMENT ON COLUMN black_deacon_exec_workflow.session_id IS '会话ID';
|
||||
COMMENT ON COLUMN black_deacon_exec_workflow.flow_id IS '工作流ID';
|
||||
COMMENT ON COLUMN black_deacon_exec_workflow.duration IS '执行时长(秒)';
|
||||
COMMENT ON COLUMN black_deacon_exec_workflow.request_params IS '请求参数';
|
||||
COMMENT ON COLUMN black_deacon_exec_workflow.status IS '状态:1-运行中,2-成功,3-失败';
|
||||
COMMENT ON COLUMN black_deacon_exec_workflow.total_tokens IS '总token消耗';
|
||||
COMMENT ON COLUMN black_deacon_exec_workflow.total_fee IS '总费用';
|
||||
COMMENT ON COLUMN black_deacon_exec_workflow.error_message IS '错误信息';
|
||||
--------------------pgsql创建black_deacon_exec_workflow表语句---------------------------
|
||||
|
||||
--------------------pgsql创建black_deacon_exec_workflow_result表语句---------------------------
|
||||
-- 工作流执行结果表
|
||||
CREATE TABLE IF NOT EXISTS black_deacon_exec_workflow_result (
|
||||
-- 基础字段(完全对齐项目规范)
|
||||
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),
|
||||
|
||||
-- 业务字段
|
||||
session_id VARCHAR(64) NOT NULL DEFAULT '', -- 会话ID
|
||||
flow_id BIGINT NOT NULL DEFAULT 0, -- 工作流ID
|
||||
exec_id BIGINT NOT NULL DEFAULT 0, -- 执行ID
|
||||
result_file_url VARCHAR(512) DEFAULT '' -- 结果文件路径(OSS)
|
||||
);
|
||||
|
||||
-- 索引(高频查询)
|
||||
CREATE INDEX IF NOT EXISTS idx_exec_workflow_result_tenant_id ON black_deacon_exec_workflow_result(tenant_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_exec_workflow_result_session_id ON black_deacon_exec_workflow_result(session_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_exec_workflow_result_exec_id ON black_deacon_exec_workflow_result(exec_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_exec_workflow_result_deleted_at ON black_deacon_exec_workflow_result(deleted_at);
|
||||
|
||||
-- 表和字段注释
|
||||
COMMENT ON TABLE black_deacon_exec_workflow_result IS '工作流执行结果表';
|
||||
COMMENT ON COLUMN black_deacon_exec_workflow_result.id IS '主键ID';
|
||||
COMMENT ON COLUMN black_deacon_exec_workflow_result.tenant_id IS '租户ID';
|
||||
COMMENT ON COLUMN black_deacon_exec_workflow_result.creator IS '创建人';
|
||||
COMMENT ON COLUMN black_deacon_exec_workflow_result.created_at IS '创建时间';
|
||||
COMMENT ON COLUMN black_deacon_exec_workflow_result.updater IS '更新人';
|
||||
COMMENT ON COLUMN black_deacon_exec_workflow_result.updated_at IS '更新时间';
|
||||
COMMENT ON COLUMN black_deacon_exec_workflow_result.deleted_at IS '删除时间(软删)';
|
||||
COMMENT ON COLUMN black_deacon_exec_workflow_result.session_id IS '会话ID';
|
||||
COMMENT ON COLUMN black_deacon_exec_workflow_result.flow_id IS '工作流ID';
|
||||
COMMENT ON COLUMN black_deacon_exec_workflow_result.exec_id IS '执行ID';
|
||||
COMMENT ON COLUMN black_deacon_exec_workflow_result.result_file_url IS '结果文件路径(OSS)';
|
||||
--------------------pgsql创建black_deacon_exec_workflow_result表语句---------------------------
|
||||
|
||||
Reference in New Issue
Block a user