61 lines
4.3 KiB
SQL
61 lines
4.3 KiB
SQL
-- 客户分类表 - 支持多级分类
|
||
DROP TABLE IF EXISTS `jsh_customer_category`;
|
||
CREATE TABLE `jsh_customer_category` (
|
||
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||
`category_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '分类名称',
|
||
`parent_id` bigint(20) DEFAULT 0 COMMENT '父级ID,0表示顶级分类',
|
||
`level` int(11) DEFAULT 1 COMMENT '层级,从1开始',
|
||
`sort` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '排序',
|
||
`description` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '描述',
|
||
`enabled` bit(1) DEFAULT b'1' COMMENT '启用状态',
|
||
`creator` bigint(20) DEFAULT NULL COMMENT '创建人',
|
||
`tenant_id` bigint(20) DEFAULT NULL COMMENT '租户ID',
|
||
`delete_flag` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '0' COMMENT '删除标记,0未删除,1删除',
|
||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
PRIMARY KEY (`id`) USING BTREE,
|
||
INDEX `idx_parent_id`(`parent_id`) USING BTREE,
|
||
INDEX `idx_tenant_id`(`tenant_id`) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '客户分类表' ROW_FORMAT = Dynamic;
|
||
|
||
-- 客户联系人表 - 支持多个联系人
|
||
DROP TABLE IF EXISTS `jsh_customer_contact`;
|
||
CREATE TABLE `jsh_customer_contact` (
|
||
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||
`customer_id` bigint(20) NOT NULL COMMENT '客户ID',
|
||
`contact_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '联系人姓名',
|
||
`position` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '岗位/职位',
|
||
`phone` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '手机号码',
|
||
`telephone` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '联系电话',
|
||
`email` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '电子邮箱',
|
||
`wechat` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '微信号',
|
||
`qq` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 'QQ号',
|
||
`is_primary` bit(1) DEFAULT b'0' COMMENT '是否主要联系人,0否,1是',
|
||
`remark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '备注',
|
||
`creator` bigint(20) DEFAULT NULL COMMENT '创建人',
|
||
`tenant_id` bigint(20) DEFAULT NULL COMMENT '租户ID',
|
||
`delete_flag` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '0' COMMENT '删除标记,0未删除,1删除',
|
||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
PRIMARY KEY (`id`) USING BTREE,
|
||
INDEX `idx_customer_id`(`customer_id`) USING BTREE,
|
||
INDEX `idx_tenant_id`(`tenant_id`) USING BTREE
|
||
) ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '客户联系人表' ROW_FORMAT = Dynamic;
|
||
|
||
-- 为供应商表(jsh_supplier)添加分类ID字段
|
||
ALTER TABLE `jsh_supplier` ADD COLUMN `category_id` bigint(20) DEFAULT NULL COMMENT '客户分类ID' AFTER `type`;
|
||
ALTER TABLE `jsh_supplier` ADD INDEX `idx_category_id`(`category_id`) USING BTREE;
|
||
|
||
-- 插入示例数据:客户分类
|
||
INSERT INTO `jsh_customer_category` VALUES
|
||
(1, '企业客户', 0, 1, '1', '大型企业、中小企业等', b'1', 63, 63, '0', NOW(), NOW()),
|
||
(2, '个人客户', 0, 1, '2', '个人消费者', b'1', 63, 63, '0', NOW(), NOW()),
|
||
(3, '政府机构', 0, 1, '3', '政府部门、事业单位', b'1', 63, 63, '0', NOW(), NOW()),
|
||
(4, '大型企业', 1, 2, '1', '大型企业客户', b'1', 63, 63, '0', NOW(), NOW()),
|
||
(5, '中小企业', 1, 2, '2', '中小型企业客户', b'1', 63, 63, '0', NOW(), NOW());
|
||
|
||
-- 插入示例数据:客户联系人(假设客户ID为58的客户1)
|
||
INSERT INTO `jsh_customer_contact` VALUES
|
||
(1, 58, '张三', '采购经理', '13800138001', '', 'zhangsan@example.com', '', '', b'1', '主要负责采购事务', 63, 63, '0', NOW(), NOW()),
|
||
(2, 58, '李四', '财务主管', '13800138002', '', 'lisi@example.com', '', '', b'0', '负责财务结算', 63, 63, '0', NOW(), NOW());
|