|
|
@@ -0,0 +1,154 @@
|
|
|
+-- ============================================================
|
|
|
+-- 龙虾引擎完整模块 DDL(12张新表)
|
|
|
+-- 日期: 2025-06-05
|
|
|
+-- ============================================================
|
|
|
+
|
|
|
+-- 1. 工作流执行实例表
|
|
|
+DROP TABLE IF EXISTS `company_workflow_lobster_instance`;
|
|
|
+CREATE TABLE `company_workflow_lobster_instance` (
|
|
|
+ `id` bigint NOT NULL AUTO_INCREMENT,
|
|
|
+ `company_id` bigint NOT NULL COMMENT '公司ID',
|
|
|
+ `workflow_id` bigint NOT NULL COMMENT '模板ID',
|
|
|
+ `instance_no` varchar(64) NOT NULL COMMENT '实例编号',
|
|
|
+ `trigger_user_id` bigint DEFAULT NULL COMMENT '触发人ID',
|
|
|
+ `external_user_id` varchar(255) DEFAULT NULL COMMENT '外部联系人ID',
|
|
|
+ `status` tinyint NOT NULL DEFAULT 0 COMMENT '0待执行 1执行中 2已完成 3暂停 4终止 5异常',
|
|
|
+ `current_node_code` varchar(64) DEFAULT NULL COMMENT '当前节点编码',
|
|
|
+ `control_mode` varchar(16) DEFAULT 'auto' COMMENT '控制模式:auto/manual',
|
|
|
+ `pause_reason` varchar(255) DEFAULT NULL COMMENT '暂停原因',
|
|
|
+ `terminate_reason` varchar(255) DEFAULT NULL COMMENT '终止原因',
|
|
|
+ `start_time` datetime DEFAULT NULL COMMENT '开始时间',
|
|
|
+ `finish_time` datetime DEFAULT NULL COMMENT '完成时间',
|
|
|
+ `total_duration` bigint DEFAULT NULL COMMENT '总耗时(毫秒)',
|
|
|
+ `create_by` varchar(64) DEFAULT NULL,
|
|
|
+ `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
|
|
|
+ `update_by` varchar(64) DEFAULT NULL,
|
|
|
+ `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
|
+ `del_flag` tinyint NOT NULL DEFAULT 0,
|
|
|
+ PRIMARY KEY (`id`),
|
|
|
+ UNIQUE KEY `uk_instance_no` (`instance_no`),
|
|
|
+ KEY `idx_company_workflow` (`company_id`,`workflow_id`),
|
|
|
+ KEY `idx_external_user` (`external_user_id`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='工作流龙虾执行实例';
|
|
|
+
|
|
|
+-- 2. 节点执行日志表
|
|
|
+DROP TABLE IF EXISTS `company_workflow_lobster_node_log`;
|
|
|
+CREATE TABLE `company_workflow_lobster_node_log` (
|
|
|
+ `id` bigint NOT NULL AUTO_INCREMENT,
|
|
|
+ `company_id` bigint NOT NULL COMMENT '公司ID',
|
|
|
+ `instance_id` bigint NOT NULL COMMENT '实例ID',
|
|
|
+ `node_id` bigint DEFAULT NULL COMMENT '节点ID',
|
|
|
+ `node_code` varchar(64) NOT NULL COMMENT '节点编码',
|
|
|
+ `node_name` varchar(128) DEFAULT NULL COMMENT '节点名称',
|
|
|
+ `node_type` tinyint DEFAULT NULL COMMENT '节点类型',
|
|
|
+ `execute_status` tinyint NOT NULL DEFAULT 0 COMMENT '0待执行 1执行中 2成功 3失败 4跳过',
|
|
|
+ `input_params` text DEFAULT NULL COMMENT '输入参数JSON',
|
|
|
+ `output_result` text DEFAULT NULL COMMENT '输出结果JSON',
|
|
|
+ `error_msg` varchar(500) DEFAULT NULL COMMENT '错误信息',
|
|
|
+ `duration` bigint DEFAULT NULL COMMENT '执行耗时(毫秒)',
|
|
|
+ `start_time` datetime DEFAULT NULL COMMENT '开始时间',
|
|
|
+ `finish_time` datetime DEFAULT NULL COMMENT '完成时间',
|
|
|
+ `create_by` varchar(64) DEFAULT NULL,
|
|
|
+ `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
|
|
|
+ `update_by` varchar(64) DEFAULT NULL,
|
|
|
+ `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
|
+ `del_flag` tinyint NOT NULL DEFAULT 0,
|
|
|
+ PRIMARY KEY (`id`),
|
|
|
+ KEY `idx_instance_id` (`instance_id`),
|
|
|
+ KEY `idx_company_instance` (`company_id`,`instance_id`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='工作流龙虾节点执行日志';
|
|
|
+
|
|
|
+-- 3. 提示词模板表
|
|
|
+DROP TABLE IF EXISTS `company_workflow_lobster_prompt`;
|
|
|
+CREATE TABLE `company_workflow_lobster_prompt` (
|
|
|
+ `id` bigint NOT NULL AUTO_INCREMENT,
|
|
|
+ `company_id` bigint NOT NULL COMMENT '公司ID',
|
|
|
+ `title` varchar(128) NOT NULL COMMENT '提示词标题',
|
|
|
+ `category` varchar(32) DEFAULT 'general' COMMENT '分类编码',
|
|
|
+ `scene_code` varchar(64) DEFAULT NULL COMMENT '场景编码',
|
|
|
+ `content` text NOT NULL COMMENT '提示词内容',
|
|
|
+ `model_name` varchar(64) DEFAULT NULL COMMENT '模型名称',
|
|
|
+ `max_tokens` int DEFAULT 2048 COMMENT '最大token',
|
|
|
+ `temperature` double DEFAULT 0.7 COMMENT '温度',
|
|
|
+ `status` tinyint NOT NULL DEFAULT 0 COMMENT '0草稿 1启用 2禁用',
|
|
|
+ `usage_count` int DEFAULT 0 COMMENT '使用次数',
|
|
|
+ `create_by` varchar(64) DEFAULT NULL,
|
|
|
+ `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
|
|
|
+ `update_by` varchar(64) DEFAULT NULL,
|
|
|
+ `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
|
+ `del_flag` tinyint NOT NULL DEFAULT 0,
|
|
|
+ PRIMARY KEY (`id`),
|
|
|
+ KEY `idx_company_category` (`company_id`,`category`),
|
|
|
+ KEY `idx_company_scene` (`company_id`,`scene_code`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='龙虾引擎提示词模板';
|
|
|
+
|
|
|
+-- 4. 销冠语料库表
|
|
|
+DROP TABLE IF EXISTS `company_workflow_lobster_sales_corpus`;
|
|
|
+CREATE TABLE `company_workflow_lobster_sales_corpus` (
|
|
|
+ `id` bigint NOT NULL AUTO_INCREMENT,
|
|
|
+ `company_id` bigint NOT NULL COMMENT '公司ID',
|
|
|
+ `scenario` varchar(64) NOT NULL COMMENT '场景编码',
|
|
|
+ `scenario_name` varchar(128) DEFAULT NULL COMMENT '场景名称',
|
|
|
+ `salesperson_id` bigint DEFAULT NULL COMMENT '销售ID',
|
|
|
+ `customer_input` text NOT NULL COMMENT '客户输入',
|
|
|
+ `sales_response` text NOT NULL COMMENT '销售回复',
|
|
|
+ `conversion_result` tinyint DEFAULT 0 COMMENT '转化结果:0未转化 1已转化',
|
|
|
+ `turn_index` int DEFAULT 0 COMMENT '对话轮次',
|
|
|
+ `source` varchar(32) DEFAULT 'manual' COMMENT '来源:manual/import/analyze',
|
|
|
+ `quality_score` int DEFAULT NULL COMMENT '质量评分',
|
|
|
+ `create_by` varchar(64) DEFAULT NULL,
|
|
|
+ `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
|
|
|
+ `update_by` varchar(64) DEFAULT NULL,
|
|
|
+ `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
|
+ `del_flag` tinyint NOT NULL DEFAULT 0,
|
|
|
+ PRIMARY KEY (`id`),
|
|
|
+ KEY `idx_company_scenario` (`company_id`,`scenario`),
|
|
|
+ KEY `idx_company_salesperson` (`company_id`,`salesperson_id`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='销冠语料库';
|
|
|
+
|
|
|
+-- 5. API注册中心表
|
|
|
+DROP TABLE IF EXISTS `company_workflow_lobster_api_registry`;
|
|
|
+CREATE TABLE `company_workflow_lobster_api_registry` (
|
|
|
+ `id` bigint NOT NULL AUTO_INCREMENT,
|
|
|
+ `company_id` bigint NOT NULL COMMENT '公司ID',
|
|
|
+ `api_name` varchar(128) NOT NULL COMMENT 'API名称',
|
|
|
+ `category` varchar(32) DEFAULT 'general' COMMENT '分类编码',
|
|
|
+ `method` varchar(8) DEFAULT 'POST' COMMENT 'GET/POST/PUT/DELETE',
|
|
|
+ `url` varchar(500) NOT NULL COMMENT '请求URL',
|
|
|
+ `headers` text DEFAULT NULL COMMENT '请求头JSON',
|
|
|
+ `request_template` text DEFAULT NULL COMMENT '请求模板JSON',
|
|
|
+ `response_mapping` text DEFAULT NULL COMMENT '响应映射JSON',
|
|
|
+ `description` varchar(500) DEFAULT NULL COMMENT '描述',
|
|
|
+ `status` tinyint NOT NULL DEFAULT 1 COMMENT '0禁用 1启用',
|
|
|
+ `create_by` varchar(64) DEFAULT NULL,
|
|
|
+ `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
|
|
|
+ `update_by` varchar(64) DEFAULT NULL,
|
|
|
+ `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
|
+ `del_flag` tinyint NOT NULL DEFAULT 0,
|
|
|
+ PRIMARY KEY (`id`),
|
|
|
+ KEY `idx_company_category` (`company_id`,`category`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='龙虾引擎API注册中心';
|
|
|
+
|
|
|
+-- 6. 死信队列表
|
|
|
+DROP TABLE IF EXISTS `company_workflow_lobster_dead_letter`;
|
|
|
+CREATE TABLE `company_workflow_lobster_dead_letter` (
|
|
|
+ `id` bigint NOT NULL AUTO_INCREMENT,
|
|
|
+ `company_id` bigint NOT NULL COMMENT '公司ID',
|
|
|
+ `instance_id` bigint DEFAULT NULL COMMENT '实例ID',
|
|
|
+ `node_code` varchar(64) DEFAULT NULL COMMENT '节点编码',
|
|
|
+ `message_body` text DEFAULT NULL COMMENT '消息内容JSON',
|
|
|
+ `target` varchar(255) DEFAULT NULL COMMENT '发送目标',
|
|
|
+ `fail_reason` varchar(500) DEFAULT NULL COMMENT '失败原因',
|
|
|
+ `retry_count` int DEFAULT 0 COMMENT '重试次数',
|
|
|
+ `max_retry` int DEFAULT 3 COMMENT '最大重试次数',
|
|
|
+ `status` tinyint NOT NULL DEFAULT 0 COMMENT '0待重试 1已重试成功 2已放弃',
|
|
|
+ `last_retry_time` datetime DEFAULT NULL COMMENT '最后重试时间',
|
|
|
+ `create_by` varchar(64) DEFAULT NULL,
|
|
|
+ `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
|
|
|
+ `update_by` varchar(64) DEFAULT NULL,
|
|
|
+ `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
|
+ `del_flag` tinyint NOT NULL DEFAULT 0,
|
|
|
+ PRIMARY KEY (`id`),
|
|
|
+ KEY `idx_company_status` (`company_id`,`status`),
|
|
|
+ KEY `idx_instance` (`instance_id`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='龙虾引擎死信队列';
|