-- 客户满意度评价功能数据库表结构
|
-- 创建时间: 2025-01-27
|
|
-- 1. 评价维度配置表
|
DROP TABLE IF EXISTS `evaluation_dimension`;
|
CREATE TABLE `evaluation_dimension` (
|
`dimension_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '维度ID',
|
`dimension_name` varchar(100) NOT NULL COMMENT '维度名称',
|
`dimension_desc` varchar(500) DEFAULT NULL COMMENT '维度描述',
|
`dimension_type` varchar(20) NOT NULL DEFAULT 'star' COMMENT '维度类型:star-星级评价,select-选择评价,text-文本评价',
|
`options` text COMMENT '选项配置(JSON格式,用于选择类型)',
|
`sort_order` int(11) DEFAULT 0 COMMENT '排序',
|
`is_required` char(1) DEFAULT '1' COMMENT '是否必填(0否 1是)',
|
`status` char(1) 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 '更新时间',
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
PRIMARY KEY (`dimension_id`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='评价维度配置表';
|
|
-- 2. 客户评价表
|
DROP TABLE IF EXISTS `customer_evaluation`;
|
CREATE TABLE `customer_evaluation` (
|
`evaluation_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '评价ID',
|
`vehicle_no` varchar(20) NOT NULL COMMENT '车牌号',
|
`customer_name` varchar(50) NOT NULL COMMENT '客户姓名',
|
`customer_phone` varchar(20) NOT NULL COMMENT '客户手机号',
|
`wechat_openid` varchar(100) DEFAULT NULL COMMENT '微信OpenID',
|
`wechat_nickname` varchar(100) DEFAULT NULL COMMENT '微信昵称',
|
`wechat_avatar` varchar(500) DEFAULT NULL COMMENT '微信头像',
|
`wechat_phone` varchar(20) DEFAULT NULL COMMENT '微信绑定手机号',
|
`total_score` decimal(3,1) DEFAULT NULL COMMENT '总评分',
|
`evaluation_status` char(1) DEFAULT '0' COMMENT '评价状态(0待评价 1已评价)',
|
`evaluation_time` datetime DEFAULT NULL COMMENT '评价时间',
|
`ip_address` varchar(128) DEFAULT NULL COMMENT 'IP地址',
|
`user_agent` varchar(500) DEFAULT NULL COMMENT '用户代理',
|
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
PRIMARY KEY (`evaluation_id`),
|
KEY `idx_vehicle_no` (`vehicle_no`),
|
KEY `idx_customer_phone` (`customer_phone`),
|
KEY `idx_wechat_openid` (`wechat_openid`),
|
KEY `idx_evaluation_time` (`evaluation_time`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='客户评价表';
|
|
-- 3. 评价详情表
|
DROP TABLE IF EXISTS `evaluation_detail`;
|
CREATE TABLE `evaluation_detail` (
|
`detail_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '详情ID',
|
`evaluation_id` bigint(20) NOT NULL COMMENT '评价ID',
|
`dimension_id` bigint(20) NOT NULL COMMENT '维度ID',
|
`score` int(11) DEFAULT NULL COMMENT '评分(1-5星)',
|
`option_value` varchar(100) DEFAULT NULL COMMENT '选项值(选择类型时使用)',
|
`text_content` text COMMENT '文本内容(文本类型时使用)',
|
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
PRIMARY KEY (`detail_id`),
|
KEY `idx_evaluation_id` (`evaluation_id`),
|
KEY `idx_dimension_id` (`dimension_id`),
|
CONSTRAINT `fk_evaluation_detail_evaluation` FOREIGN KEY (`evaluation_id`) REFERENCES `customer_evaluation` (`evaluation_id`) ON DELETE CASCADE,
|
CONSTRAINT `fk_evaluation_detail_dimension` FOREIGN KEY (`dimension_id`) REFERENCES `evaluation_dimension` (`dimension_id`) ON DELETE CASCADE
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='评价详情表';
|
|
-- 4. 车辆评价二维码表
|
DROP TABLE IF EXISTS `vehicle_evaluation_qrcode`;
|
CREATE TABLE `vehicle_evaluation_qrcode` (
|
`qrcode_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '二维码ID',
|
`vehicle_no` varchar(20) NOT NULL COMMENT '车牌号',
|
`qrcode_url` varchar(500) NOT NULL COMMENT '二维码URL',
|
`qrcode_content` varchar(500) NOT NULL COMMENT '二维码内容',
|
`qrcode_image` varchar(8000) DEFAULT NULL COMMENT '二维码图片(base64格式)',
|
`status` char(1) 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 '更新时间',
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
PRIMARY KEY (`qrcode_id`),
|
UNIQUE KEY `uk_vehicle_no` (`vehicle_no`),
|
KEY `idx_status` (`status`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='车辆评价二维码表';
|
|
-- 插入默认评价维度数据
|
INSERT INTO `evaluation_dimension` (`dimension_name`, `dimension_desc`, `dimension_type`, `sort_order`, `is_required`, `status`, `create_by`, `create_time`, `remark`) VALUES
|
('服务态度', '司机服务态度评价', 'star', 1, '1', '0', 'admin', NOW(), '司机服务态度是否友好、专业'),
|
('收费情况', '收费是否合理透明', 'star', 2, '1', '0', 'admin', NOW(), '收费是否合理、透明,有无乱收费现象'),
|
('车辆卫生状况', '车辆内部卫生情况', 'star', 3, '1', '0', 'admin', NOW(), '车辆内部是否干净整洁'),
|
('整体满意度', '整体服务满意度', 'star', 4, '1', '0', 'admin', NOW(), '对整体服务的满意度评价'),
|
('其他建议', '其他意见或建议', 'text', 5, '0', '0', 'admin', NOW(), '客户的其他意见或建议');
|
|
-- 为现有车辆生成评价二维码(示例数据)
|
-- 注意:实际使用时需要根据真实的车辆数据来生成
|
-- INSERT INTO `vehicle_evaluation_qrcode` (`vehicle_no`, `qrcode_url`, `qrcode_content`, `status`, `create_by`, `create_time`)
|
-- SELECT vehicle_no, CONCAT('https://yourdomain.com/evaluation?vehicle=', vehicle_no), CONCAT('EVAL:', vehicle_no), '0', 'admin', NOW()
|
-- FROM tb_vehicle_info WHERE status = '0';
|
|
-- 修改qrcode_image字段长度以支持base64格式存储
|
ALTER TABLE `vehicle_evaluation_qrcode` MODIFY COLUMN `qrcode_image` varchar(8000) DEFAULT NULL COMMENT '二维码图片(base64格式)';
|