|
|
@@ -18621,6 +18621,209 @@ CREATE TABLE `company_extension_bind`
|
|
|
INDEX `company_extension_idx`(`company_id`, `extension_num`) USING BTREE
|
|
|
) ENGINE = InnoDB 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
|
|
|
FOREIGN_KEY_CHECKS = 1;
|
|
|
|