Kaynağa Gözat

Merge remote-tracking branch 'origin/saas-api' into saas-api

xgb 2 hafta önce
ebeveyn
işleme
4bcd135c97

+ 203 - 0
fs-service/src/main/resources/db/tenant-initTable.sql

@@ -18003,5 +18003,208 @@ CREATE TABLE `company_ai_workflow_version`
     INDEX             `idx_workflow_version_no`(`workflow_id`, `version_no`) USING BTREE
     INDEX             `idx_workflow_version_no`(`workflow_id`, `version_no`) USING BTREE
 ) ENGINE = InnoDB AUTO_INCREMENT = 35 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
 ) ENGINE = InnoDB AUTO_INCREMENT = 35 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
 
 
+-- ----------------------------
+-- Table structure for company_lobster_tag_user_rel
+-- ----------------------------
+DROP TABLE IF EXISTS `company_lobster_tag_user_rel`;
+CREATE TABLE `company_lobster_tag_user_rel`
+(
+    `id`                  bigint       NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `company_id`          bigint       NOT NULL COMMENT '公司ID(租户隔离)',
+    `binding_id`          bigint       NOT NULL COMMENT '标签模板绑定ID(company_tag_template_binding.id)',
+    `tag_code`            varchar(128) NOT NULL COMMENT '标签编码(冗余)',
+    `template_id`         bigint       NOT NULL COMMENT '工作流模板ID(冗余)',
+    `external_contact_id` bigint       NOT NULL COMMENT '企微外部联系人ID(qw_external_contact.id)',
+    `create_by`           varchar(64)  DEFAULT NULL COMMENT '创建人',
+    `create_time`         datetime     DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+    `corp_id`             varchar(255) DEFAULT NULL COMMENT '企微主体id',
+    `company_user_id`     bigint       DEFAULT NULL COMMENT '销售id',
+    `qw_user_id`          bigint       DEFAULT NULL,
+    `del_flag`            tinyint      DEFAULT '0' COMMENT '0正常1删除',
+    `update_time`         datetime     DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+    `update_by`           varchar(64)  DEFAULT NULL COMMENT '更新人',
+    PRIMARY KEY (`id`) USING BTREE,
+    UNIQUE KEY `uk_binding_contact` (`binding_id`,`external_contact_id`) USING BTREE,
+    KEY                   `idx_company_id` (`company_id`) USING BTREE,
+    KEY                   `idx_binding_id` (`binding_id`) USING BTREE,
+    KEY                   `idx_external_contact` (`external_contact_id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='龙虾标签-企微客户关联表';
+
+-- ----------------------------
+-- Table structure for company_workflow_lobster
+-- ----------------------------
+DROP TABLE IF EXISTS `company_workflow_lobster`;
+CREATE TABLE `company_workflow_lobster`
+(
+    `id`            bigint       NOT NULL AUTO_INCREMENT,
+    `company_id`    bigint       NOT NULL COMMENT '公司ID',
+    `template_code` varchar(64)  NOT NULL COMMENT '模板编码',
+    `template_name` varchar(128) NOT NULL COMMENT '模板名称',
+    `industry_type` varchar(64)           DEFAULT 'general' COMMENT '行业类型',
+    `description`   text COMMENT '描述',
+    `canvas_data`   longtext COMMENT '画布数据JSON(包含节点位置、连线、缩放等可视化信息)',
+    `status`        tinyint      NOT NULL DEFAULT '0' COMMENT '状态:0草稿 1发布 2停用',
+    `version`       int          NOT NULL DEFAULT '1' 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_template_code` (`template_code`),
+    KEY             `idx_company_id` (`company_id`),
+    KEY             `idx_cwl_company_del_create` (`company_id`,`del_flag`,`create_time`)
+) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='工作流龙虾模板';
+
+-- ----------------------------
+-- Table structure for company_workflow_lobster_edge
+-- ----------------------------
+DROP TABLE IF EXISTS `company_workflow_lobster_edge`;
+CREATE TABLE `company_workflow_lobster_edge`
+(
+    `id`               bigint      NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `workflow_id`      bigint      NOT NULL COMMENT '工作流ID',
+    `edge_key`         varchar(64) NOT NULL COMMENT '连线唯一标识',
+    `source_node_code` varchar(64) NOT NULL COMMENT '源节点编码',
+    `target_node_code` varchar(64) NOT NULL COMMENT '目标节点编码',
+    `source_port`      varchar(32)  DEFAULT 'right' COMMENT '源节点连接点',
+    `target_port`      varchar(32)  DEFAULT 'left' COMMENT '目标节点连接点',
+    `edge_label`       varchar(128) DEFAULT NULL COMMENT '连线标签',
+    `edge_color`       varchar(32)  DEFAULT '#999' COMMENT '连线颜色',
+    `condition_expr`   text COMMENT '条件表达式(判断节点分支)',
+    `sort_no`          int          DEFAULT '0' COMMENT '排序',
+    `del_flag`         tinyint      DEFAULT '0' COMMENT '删除标志 0正常 1删除',
+    `create_by`        varchar(64)  DEFAULT '' COMMENT '创建者',
+    `create_time`      datetime     DEFAULT NULL COMMENT '创建时间',
+    `update_by`        varchar(64)  DEFAULT '' COMMENT '更新者',
+    `update_time`      datetime     DEFAULT NULL COMMENT '更新时间',
+    PRIMARY KEY (`id`),
+    KEY                `idx_workflow_del` (`workflow_id`,`del_flag`)
+) ENGINE=InnoDB AUTO_INCREMENT=149 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='工作流龙虾连线表';
+
+-- ----------------------------
+-- Table structure for company_workflow_lobster_node
+-- ----------------------------
+DROP TABLE IF EXISTS `company_workflow_lobster_node`;
+CREATE TABLE `company_workflow_lobster_node`
+(
+    `id`               bigint       NOT NULL AUTO_INCREMENT,
+    `workflow_id`      bigint       NOT NULL COMMENT '模板ID',
+    `node_code`        varchar(64)  NOT NULL COMMENT '节点编码',
+    `node_name`        varchar(128) NOT NULL COMMENT '节点名称',
+    `node_type`        tinyint      NOT NULL COMMENT '1开始 2消息 3判断 4等待 5结束 6API调用',
+    `sort_no`          int          NOT NULL DEFAULT '0' COMMENT '排序',
+    `position_x`       int                   DEFAULT '0' COMMENT '节点X坐标',
+    `position_y`       int                   DEFAULT '0' COMMENT '节点Y坐标',
+    `width`            int                   DEFAULT '200' COMMENT '节点宽度',
+    `height`           int                   DEFAULT '80' COMMENT '节点高度',
+    `next_node_code`   varchar(64)           DEFAULT NULL COMMENT '下一节点',
+    `message_template` text COMMENT '消息模板',
+    `condition_expr`   text COMMENT '条件表达式JSON',
+    `node_config`      text COMMENT '节点配置JSON',
+    `greeting_config`  text COMMENT '问候配置JSON',
+    `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',
+    `send_time`        time                  DEFAULT NULL COMMENT '发送时间',
+    PRIMARY KEY (`id`),
+    KEY                `idx_workflow_id` (`workflow_id`),
+    KEY                `idx_node_code` (`node_code`),
+    KEY                `idx_cwln_workflow_del_sort` (`workflow_id`,`del_flag`,`sort_no`)
+) ENGINE=InnoDB AUTO_INCREMENT=272 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='工作流龙虾节点';
+
+-- ----------------------------
+-- Table structure for company_workflow_lobster_record
+-- ----------------------------
+DROP TABLE IF EXISTS `company_workflow_lobster_record`;
+CREATE TABLE `company_workflow_lobster_record`
+(
+    `id`               bigint      NOT NULL AUTO_INCREMENT,
+    `company_id`       bigint      NOT NULL COMMENT '公司ID',
+    `record_no`        varchar(64) NOT NULL COMMENT '生成记录号',
+    `requirement`      text COMMENT '用户需求',
+    `selected_api_ids` varchar(500)         DEFAULT NULL COMMENT '选择的接口ID',
+    `status`           tinyint     NOT NULL DEFAULT '0' COMMENT '0生成中 1成功 2失败 3已确认',
+    `error_msg`        varchar(500)         DEFAULT NULL COMMENT '失败原因',
+    `result_json`      longtext COMMENT '生成结果JSON',
+    `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_record_no` (`record_no`),
+    KEY                `idx_company_status` (`company_id`,`status`)
+) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='工作流龙虾生成记录';
+
+-- ----------------------------
+-- Table structure for company_workflow_lobster_task
+-- ----------------------------
+DROP TABLE IF EXISTS `company_workflow_lobster_task`;
+CREATE TABLE `company_workflow_lobster_task`
+(
+    `id`                bigint       NOT NULL AUTO_INCREMENT COMMENT '主键',
+    `company_id`        bigint       NOT NULL COMMENT '公司ID(租户隔离)',
+    `template_id`       bigint       NOT NULL COMMENT '工作流模板ID(company_workflow_lobster.id)',
+    `task_name`         varchar(128) NOT NULL COMMENT '任务名称',
+    `task_type`         tinyint      NOT NULL COMMENT '任务类型1开始 2消息 3判断 4等待 5结束 6API调用',
+    `task_content`      text COMMENT '任务内容(JSON格式,存储节点配置参数)',
+    `cron_expression`   varchar(64)           DEFAULT NULL COMMENT 'Cron表达式(定时触发用)',
+    `execute_status`    tinyint      NOT NULL DEFAULT '0' COMMENT '执行状态:0-待执行, 1-执行中, 2-执行成功, 3-执行失败, 4-已取消, 5-已过期',
+    `execute_count`     int          NOT NULL DEFAULT '0' COMMENT '已执行次数',
+    `max_retry`         int          NOT NULL DEFAULT '0' COMMENT '最大重试次数(0表示不重试)',
+    `retry_count`       int          NOT NULL DEFAULT '0' COMMENT '已重试次数',
+    `last_execute_time` datetime              DEFAULT NULL COMMENT '上次执行时间',
+    `next_execute_time` datetime              DEFAULT NULL COMMENT '下次执行时间',
+    `fail_reason`       varchar(512)          DEFAULT NULL COMMENT '失败原因',
+    `sort_order`        int          NOT NULL DEFAULT '0' COMMENT '排序号',
+    `del_flag`          tinyint      NOT NULL DEFAULT '0' COMMENT '删除标志:0-正常, 1-已删除',
+    `remark`            varchar(256)          DEFAULT NULL COMMENT '备注',
+    `create_by`         varchar(64)           DEFAULT NULL COMMENT '创建人',
+    `create_time`       datetime              DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+    `update_by`         varchar(64)           DEFAULT NULL COMMENT '更新人',
+    `update_time`       datetime              DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+    `corp_id`           varchar(255)          DEFAULT NULL,
+    `company_user_id`   bigint                DEFAULT NULL,
+    `lobster_node_id`   bigint                DEFAULT NULL,
+    `send_time`         datetime              DEFAULT NULL,
+    `qw_user_id`        bigint                DEFAULT NULL,
+    `binding_id`        bigint                DEFAULT NULL,
+    `external_user_id`  varchar(255)          DEFAULT NULL,
+    PRIMARY KEY (`id`) USING BTREE,
+    KEY                 `idx_company_id` (`company_id`) USING BTREE,
+    KEY                 `idx_template_id` (`template_id`) USING BTREE,
+    KEY                 `idx_task_type` (`task_type`) USING BTREE,
+    KEY                 `idx_send_time` (`send_time`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=108 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='龙虾工作流模板自动任务表';
+
+-- ----------------------------
+-- Table structure for company_workflow_lobster_variable
+-- ----------------------------
+DROP TABLE IF EXISTS `company_workflow_lobster_variable`;
+CREATE TABLE `company_workflow_lobster_variable`
+(
+    `id`            bigint       NOT NULL AUTO_INCREMENT,
+    `workflow_id`   bigint       NOT NULL COMMENT '模板ID',
+    `var_code`      varchar(64)  NOT NULL COMMENT '变量编码',
+    `var_name`      varchar(128) NOT NULL COMMENT '变量名称',
+    `var_type`      varchar(32)  NOT NULL DEFAULT 'string' COMMENT '变量类型',
+    `source_type`   varchar(32)  NOT NULL DEFAULT 'manual' COMMENT '来源',
+    `required`      tinyint      NOT NULL DEFAULT '0' COMMENT '是否必填',
+    `default_value` varchar(255)          DEFAULT NULL COMMENT '默认值',
+    `description`   varchar(255)          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',
+    `status`        tinyint      NOT NULL DEFAULT '0' COMMENT '0正常,1禁用',
+    PRIMARY KEY (`id`),
+    KEY             `idx_workflow_var` (`workflow_id`,`var_code`),
+    KEY             `idx_cwlv_workflow_del` (`workflow_id`,`del_flag`)
+) ENGINE=InnoDB AUTO_INCREMENT=40 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='工作流龙虾变量';
+
 SET
 SET
 FOREIGN_KEY_CHECKS = 1;
 FOREIGN_KEY_CHECKS = 1;