wecom-dashboards/excel-handle/sql/schema.sql

132 lines
8.1 KiB
MySQL
Raw Normal View History

2026-02-07 15:55:56 +00:00
-- ========================================
-- 企业微信表格数据处理系统 - 数据库表结构
-- ========================================
-- 1. 客户数据表
DROP TABLE IF EXISTS `customer_data`;
CREATE TABLE `customer_data` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`customer_name` varchar(100) DEFAULT NULL COMMENT '客户名称',
`description` varchar(500) DEFAULT NULL COMMENT '描述',
`add_person` varchar(50) DEFAULT NULL COMMENT '添加人',
`add_person_account` varchar(50) DEFAULT NULL COMMENT '添加人账号',
`add_person_dept` varchar(100) DEFAULT NULL COMMENT '添加人所属部门',
`add_time` datetime DEFAULT NULL COMMENT '添加时间',
`add_date` date DEFAULT NULL COMMENT '添加日期',
`source` varchar(50) DEFAULT NULL COMMENT '来源',
`mobile` varchar(20) DEFAULT NULL COMMENT '手机',
`enterprise` varchar(100) DEFAULT NULL COMMENT '企业',
`email` varchar(100) DEFAULT NULL COMMENT '邮箱',
`address` varchar(200) DEFAULT NULL COMMENT '地址',
`position` varchar(50) DEFAULT NULL COMMENT '职务',
`phone` varchar(20) DEFAULT NULL COMMENT '电话',
`tag_group_1` varchar(50) DEFAULT NULL COMMENT '标签组1(投放)',
`tag_group_2` varchar(50) DEFAULT NULL COMMENT '标签组2(公司孵化)',
`tag_group_3` varchar(50) DEFAULT NULL COMMENT '标签组3(商务)',
`tag_group_4` varchar(50) DEFAULT NULL COMMENT '标签组4(成交日期)',
`tag_group_5` varchar(50) DEFAULT NULL COMMENT '标签组5(年级组)',
`tag_group_6` varchar(50) DEFAULT NULL COMMENT '标签组6(客户属性)',
`tag_group_7` varchar(50) DEFAULT NULL COMMENT '标签组7(成交)',
`tag_group_8` varchar(50) DEFAULT NULL COMMENT '标签组8(成交品牌)',
`tag_group_9` varchar(50) DEFAULT NULL COMMENT '标签组9(线索通标签)',
`tag_group_10` varchar(50) DEFAULT NULL COMMENT '标签组10(A1组)',
`tag_group_11` varchar(50) DEFAULT NULL COMMENT '标签组11(B1组)',
`tag_group_12` varchar(50) DEFAULT NULL COMMENT '标签组12(C1组)',
`tag_group_13` varchar(50) DEFAULT NULL COMMENT '标签组13(D1组)',
`tag_group_14` varchar(50) DEFAULT NULL COMMENT '标签组14(E1组)',
`tag_group_15` varchar(50) DEFAULT NULL COMMENT '标签组15(意向度)',
`tag_group_16` varchar(50) DEFAULT NULL COMMENT '标签组16(自然流)',
`tag_group_17` varchar(50) DEFAULT NULL COMMENT '标签组17(F1组)',
`tag_group_18` varchar(50) DEFAULT NULL COMMENT '标签组18(G1组)',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_customer_name` (`customer_name`),
KEY `idx_add_person_account` (`add_person_account`),
KEY `idx_add_time` (`add_time`),
KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='客户数据表';
-- 2. 已处理数据记录表(用于去重)
DROP TABLE IF EXISTS `processed_data_record`;
CREATE TABLE `processed_data_record` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`customer_name` varchar(100) NOT NULL COMMENT '客户名称',
`add_person_account` varchar(50) NOT NULL COMMENT '添加人账号',
`data_hash` varchar(64) NOT NULL COMMENT '数据哈希值(MD5)',
`processing_status` varchar(20) DEFAULT 'PROCESSED' COMMENT '处理状态',
`process_time` datetime DEFAULT NULL COMMENT '处理时间',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_customer_account_hash` (`customer_name`, `add_person_account`, `data_hash`),
KEY `idx_process_time` (`process_time`),
KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='已处理数据记录表';
-- 3. 客户标签统计表
DROP TABLE IF EXISTS `customer_tag_statistics`;
CREATE TABLE `customer_tag_statistics` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`stat_date` varchar(10) NOT NULL COMMENT '统计日期(yyyy-MM-dd)',
`tag_name` varchar(100) NOT NULL COMMENT '标签名称',
`tag_count` int(11) DEFAULT 0 COMMENT '标签数量',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_date_tag` (`stat_date`, `tag_name`),
KEY `idx_stat_date` (`stat_date`),
KEY `idx_tag_name` (`tag_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='客户标签统计表';
-- 4. 客户统计数据表(标签组维度)
DROP TABLE IF EXISTS `customer_statistics_data`;
CREATE TABLE `customer_statistics_data` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`cur_date` date NULL DEFAULT NULL COMMENT '统计日期',
`indicator_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '重要指标',
`ntf_group` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'N组',
`ofh_group` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'O组(公司孵化)',
`psw_group` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'P组(商务)',
`wa1_group` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'W组(A1组)',
`xb1_group` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'X组(B1组)',
`yc1_group` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'Y组(C1组)',
`zd1_group` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'Z组(D1组)',
`aa_group` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'AA组(E1组)',
`ac_group` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'AC组(自然流)',
`ad_group` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'AD组(F1组)',
`ae_group` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'AE组(G1组)',
`sort_no` int NULL DEFAULT NULL COMMENT '排序',
`create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_date_indicator`(`cur_date` ASC, `indicator_name` ASC) USING BTREE,
INDEX `idx_cur_date`(`cur_date` ASC) USING BTREE,
INDEX `idx_indicator_name`(`indicator_name` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2301 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '客户统计数据表(标签组维度)' ROW_FORMAT = Dynamic;
-- 5. 部门统计数据表
DROP TABLE IF EXISTS `department_statistics_data`;
CREATE TABLE `department_statistics_data` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`stat_date` date NOT NULL COMMENT '统计日期',
`department_path` varchar(200) NOT NULL COMMENT '部门路径(如:苏州曼普/销售部/一组 或 苏州曼普/销售部/一组/盛宇婷)',
`indicator_name` varchar(100) NOT NULL COMMENT '指标名称',
`indicator_value` varchar(50) DEFAULT NULL COMMENT '指标值',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_date_dept_indicator` (`stat_date`, `department_path`, `indicator_name`),
KEY `idx_stat_date` (`stat_date`),
KEY `idx_department_path` (`department_path`),
KEY `idx_indicator_name` (`indicator_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='部门统计数据表';
-- ========================================
-- 初始化数据(可选)
-- ========================================
-- 插入测试数据示例(可根据需要删除)
-- INSERT INTO `customer_data` (`customer_name`, `add_person_account`, `add_time`)
-- VALUES ('测试客户', 'test_account', NOW());