boss 2 дней назад
Родитель
Сommit
840196d04d

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

@@ -0,0 +1,147 @@
+-- ============================================================
+-- 龙虾引擎完整模块 DDL(续 - 后6张表)
+-- 日期: 2025-06-05
+-- ============================================================
+
+-- 7. 节点审核表
+DROP TABLE IF EXISTS `company_workflow_lobster_event_audit`;
+CREATE TABLE `company_workflow_lobster_event_audit` (
+    `id`           bigint       NOT NULL AUTO_INCREMENT,
+    `company_id`   bigint       NOT NULL COMMENT '公司ID',
+    `instance_id`  bigint       DEFAULT NULL COMMENT '实例ID',
+    `node_code`    varchar(64)  NOT NULL COMMENT '节点编码',
+    `node_name`    varchar(128) DEFAULT NULL COMMENT '节点名称',
+    `audit_type`   varchar(32)  DEFAULT 'manual_confirm' COMMENT '审核类型',
+    `audit_content` text        DEFAULT NULL COMMENT '审核内容JSON',
+    `status`       tinyint      NOT NULL DEFAULT 0 COMMENT '0待审核 1已通过 2已拒绝',
+    `auditor`      varchar(64)  DEFAULT NULL COMMENT '审核人',
+    `audit_remark` varchar(500) DEFAULT NULL COMMENT '审核意见',
+    `audit_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_node` (`instance_id`,`node_code`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='龙虾引擎节点审核';
+
+-- 8. 优化建议表
+DROP TABLE IF EXISTS `company_workflow_lobster_optimization`;
+CREATE TABLE `company_workflow_lobster_optimization` (
+    `id`                 bigint       NOT NULL AUTO_INCREMENT,
+    `company_id`         bigint       NOT NULL COMMENT '公司ID',
+    `workflow_id`        bigint       NOT NULL COMMENT '工作流ID',
+    `external_user_id`   varchar(255) DEFAULT NULL COMMENT '触发分析的用户ID',
+    `optimization_type`  varchar(32)  NOT NULL COMMENT '优化类型:node_order/response_template/timing/condition',
+    `title`              varchar(255) NOT NULL COMMENT '优化标题',
+    `detail`             text         DEFAULT NULL COMMENT '优化详情JSON',
+    `before_config`      text         DEFAULT NULL COMMENT '优化前配置',
+    `after_config`       text         DEFAULT NULL COMMENT '优化后配置',
+    `confidence`         int          DEFAULT 0 COMMENT '信心度0-100',
+    `status`             tinyint      NOT NULL DEFAULT 0 COMMENT '0待审核 1已应用 2已拒绝',
+    `audit_remark`       varchar(500) DEFAULT NULL COMMENT '审核备注',
+    `source`             varchar(32)  DEFAULT 'ai_analysis' COMMENT '来源:ai_analysis/manual/e2e_regression',
+    `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_workflow` (`workflow_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='龙虾引擎优化建议';
+
+-- 9. E2E测试运行记录表
+DROP TABLE IF EXISTS `company_workflow_lobster_e2e_run`;
+CREATE TABLE `company_workflow_lobster_e2e_run` (
+    `id`           bigint       NOT NULL AUTO_INCREMENT,
+    `company_id`   bigint       NOT NULL COMMENT '公司ID',
+    `workflow_id`  bigint       NOT NULL COMMENT '工作流ID',
+    `run_id`       varchar(64)  NOT NULL COMMENT '运行编号',
+    `scenario_id`  bigint       DEFAULT NULL COMMENT '场景ID',
+    `status`       tinyint      NOT NULL DEFAULT 0 COMMENT '0运行中 1成功 2失败',
+    `total_steps`  int          DEFAULT 0 COMMENT '总步骤数',
+    `passed_steps` int          DEFAULT 0 COMMENT '通过步骤数',
+    `failed_steps` int          DEFAULT 0 COMMENT '失败步骤数',
+    `score`        int          DEFAULT 0 COMMENT '得分0-100',
+    `report_json`  longtext     DEFAULT NULL COMMENT '详细报告JSON',
+    `error_msg`    varchar(500) 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_run_id` (`run_id`),
+    KEY `idx_company_workflow` (`company_id`,`workflow_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='龙虾引擎E2E测试运行记录';
+
+-- 10. 测试场景剧本表
+DROP TABLE IF EXISTS `company_workflow_lobster_scenario`;
+CREATE TABLE `company_workflow_lobster_scenario` (
+    `id`               bigint       NOT NULL AUTO_INCREMENT,
+    `company_id`       bigint       NOT NULL COMMENT '公司ID',
+    `name`             varchar(128) NOT NULL COMMENT '场景名称',
+    `description`      varchar(500) DEFAULT NULL COMMENT '场景描述',
+    `workflow_id`      bigint       NOT NULL COMMENT '工作流ID',
+    `steps_json`       longtext     DEFAULT NULL COMMENT '测试步骤JSON',
+    `expected_result`  text         DEFAULT NULL COMMENT '预期结果JSON',
+    `status`           tinyint      NOT NULL DEFAULT 0 COMMENT '0草稿 1启用 2停用',
+    `last_score`       int          DEFAULT NULL COMMENT '最后运行得分',
+    `cron_expression`  varchar(64)  DEFAULT NULL COMMENT '执行频率cron',
+    `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_workflow` (`company_id`,`workflow_id`),
+    KEY `idx_company_status` (`company_id`,`status`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='龙虾引擎测试场景剧本';
+
+-- 11. 合规规则表
+DROP TABLE IF EXISTS `company_workflow_lobster_compliance_rule`;
+CREATE TABLE `company_workflow_lobster_compliance_rule` (
+    `id`           bigint       NOT NULL AUTO_INCREMENT,
+    `company_id`   bigint       NOT NULL COMMENT '公司ID',
+    `rule_name`    varchar(128) NOT NULL COMMENT '规则名称',
+    `rule_type`    varchar(32)  NOT NULL COMMENT '规则类型:keyword/regex/sentiment',
+    `rule_content` text         NOT NULL COMMENT '规则内容',
+    `action`       varchar(16)  DEFAULT 'warn' COMMENT '动作:block/warn/log',
+    `scope`        varchar(16)  DEFAULT 'all' COMMENT '范围:all/specified',
+    `workflow_ids` varchar(500) DEFAULT NULL COMMENT '指定工作流ID(逗号分隔)',
+    `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_type` (`company_id`,`rule_type`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='龙虾引擎合规规则';
+
+-- 12. 动态节点学习实现表
+DROP TABLE IF EXISTS `company_workflow_lobster_dynamic_impl`;
+CREATE TABLE `company_workflow_lobster_dynamic_impl` (
+    `id`                 bigint       NOT NULL AUTO_INCREMENT,
+    `company_id`         bigint       NOT NULL COMMENT '公司ID',
+    `node_id`            bigint       DEFAULT NULL COMMENT '节点ID',
+    `node_code`          varchar(64)  NOT NULL COMMENT '节点编码',
+    `impl_type`          varchar(32)  NOT NULL COMMENT '实现类型:response/code/condition',
+    `impl_content`       text         NOT NULL COMMENT '实现代码/内容',
+    `trigger_condition`  text         DEFAULT NULL COMMENT '触发条件JSON',
+    `source_instance_id` bigint       DEFAULT NULL COMMENT '学习来源实例ID',
+    `confidence`         int          DEFAULT 0 COMMENT '信心度0-100',
+    `status`             tinyint      NOT NULL DEFAULT 0 COMMENT '0待审核 1已通过 2已拒绝',
+    `reject_reason`      varchar(500) 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_node` (`node_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='龙虾引擎动态节点学习实现';