# 客户满意度评价功能说明 ## 功能概述 客户满意度评价功能允许客户通过扫描二维码进入评价界面,对服务进行多维度评价。支持微信环境下的用户信息获取和评价提交。 ## 主要功能 ### 1. 二维码生成 - 为每辆车生成唯一的评价二维码 - 二维码包含车牌号信息,用于关联具体车辆服务 - 支持批量生成二维码 ### 2. 微信集成 - 自动检测微信浏览器环境 - 获取微信用户信息(OpenID、昵称、头像等) - 支持微信网页授权流程 ### 3. 评价界面 - 响应式设计,适配移动端和微信浏览器 - 支持多种评价类型:星级评价、选择评价、文本评价 - 客户信息收集(姓名、手机号必填) - 评价维度可配置 ### 4. 评价提交 - 数据验证和完整性检查 - 根据评分显示不同的反馈信息 - 评价数据存储和统计 ## 数据库表结构 ### 1. evaluation_dimension(评价维度配置表) - 配置评价维度名称、类型、是否必填等 - 支持星级评价、选择评价、文本评价三种类型 ### 2. customer_evaluation(客户评价表) - 存储客户基本信息和评价结果 - 包含微信用户信息 - 记录评价时间和IP地址 ### 3. evaluation_detail(评价详情表) - 存储每个维度的具体评分 - 关联评价维度和客户评价 ### 4. vehicle_evaluation_qrcode(车辆评价二维码表) - 存储每辆车的二维码信息 - 包含二维码URL和图片路径 ## API接口 ### 公开接口(无需认证) - `GET /evaluation/dimensions` - 获取评价维度配置 - `POST /evaluation/submit` - 提交客户评价 - `GET /evaluation/wechat/userinfo` - 获取微信用户信息 ### 管理接口(需要认证) - `GET /evaluation/list` - 查询客户评价列表 - `GET /evaluation/{id}` - 获取评价详情 - `POST /evaluation/qrcode/{vehicleNo}` - 生成车辆二维码 - `POST /evaluation/qrcode/batch` - 批量生成二维码 ## 部署说明 ### 1. 数据库初始化 ```sql -- 执行 sql/customer_evaluation_tables.sql 文件 -- 创建相关表和初始数据 ``` ### 2. 配置文件 在 `application.yml` 中配置: ```yaml # 微信配置 wechat: appId: your_wechat_appid appSecret: your_wechat_appsecret # 文件上传路径 ruoyi: profile: /path/to/upload ``` ### 3. 前端路由配置 在 `router/index.js` 中添加评价页面路由: ```javascript { path: '/evaluation', component: () => import('@/views/evaluation/index'), name: 'Evaluation' } ``` ## 使用流程 ### 1. 管理员操作 1. 配置评价维度(服务态度、收费情况、车辆卫生等) 2. 为车辆生成评价二维码 3. 将二维码打印并贴在车辆上 ### 2. 客户评价流程 1. 客户扫描车辆上的二维码 2. 系统解析二维码,获取车牌号 3. 进入评价页面,获取微信用户信息(如果在微信环境中) 4. 客户填写个人信息和评价内容 5. 提交评价,显示结果页面 ## 测试功能 访问 `/evaluation/test` 页面可以测试以下功能: - 二维码生成 - 评价维度加载 - 评价提交 - 直接访问评价页面 ## 注意事项 1. **微信配置**:需要配置正确的微信AppID和AppSecret 2. **文件权限**:确保上传目录有写入权限 3. **HTTPS**:微信授权需要HTTPS环境 4. **域名配置**:在微信公众平台配置授权域名 ## 扩展功能 1. **评价统计**:可以基于现有数据开发评价统计分析功能 2. **消息通知**:评价提交后可以发送通知给相关人员 3. **评价导出**:支持评价数据的Excel导出 4. **多语言支持**:可以扩展多语言评价界面 ## 技术栈 - 后端:Spring Boot + MyBatis + MySQL - 前端:Vue.js + Element UI - 二维码:ZXing - 微信:微信网页授权API