boss hai 2 días
pai
achega
68baf2f913

+ 154 - 0
fs-service/src/main/resources/db/20250605-龙虾引擎新模块建表-1.sql

@@ -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='龙虾引擎死信队列';