# 客户满意度评价功能部署说明 ## 部署前准备 ### 1. 环境要求 - JDK 1.8+ - Maven 3.6+ - MySQL 5.7+ - Node.js 14+ - Nginx(生产环境推荐) ### 2. 配置文件修改 #### 数据库配置 修改 `ruoyi-admin/src/main/resources/application-prod.yml`: ```yaml spring: datasource: url: jdbc:mysql://your-db-host:3306/your-database?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: your-username password: your-password ``` #### 微信配置 修改 `ruoyi-admin/src/main/resources/application-prod.yml`: ```yaml wechat: appId: your_wechat_appid appSecret: your_wechat_appsecret redirectUri: https://yourdomain.com/evaluation ``` #### 文件上传路径 修改 `ruoyi-admin/src/main/resources/application-prod.yml`: ```yaml ruoyi: profile: /path/to/upload ``` ## 部署步骤 ### 1. 后端部署 #### 方式一:JAR包部署 ```bash # 编译打包 mvn clean package -Pprod # 上传JAR包到服务器 scp ruoyi-admin/target/ruoyi-admin.jar user@server:/path/to/app/ # 启动应用 java -jar ruoyi-admin.jar --spring.profiles.active=prod ``` #### 方式二:Docker部署 ```dockerfile # Dockerfile FROM openjdk:8-jre-alpine COPY ruoyi-admin.jar app.jar EXPOSE 8080 ENTRYPOINT ["java", "-jar", "/app.jar"] ``` ```bash # 构建镜像 docker build -t ruoyi-evaluation . # 运行容器 docker run -d -p 8080:8080 --name ruoyi-evaluation ruoyi-evaluation ``` ### 2. 前端部署 #### 构建生产版本 ```bash cd ruoyi-ui npm install npm run build:prod ``` #### Nginx配置 ```nginx server { listen 80; server_name yourdomain.com; # 前端静态文件 location / { root /path/to/ruoyi-ui/dist; try_files $uri $uri/ /index.html; } # 后端API代理 location /dev-api/ { proxy_pass http://localhost:8080/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } # 二维码图片访问 location /qrcode/ { alias /path/to/upload/qrcode/; } } ``` ### 3. 数据库部署 #### 执行SQL脚本 ```bash mysql -u username -p database_name < sql/customer_evaluation_tables.sql ``` #### 创建数据库用户(可选) ```sql CREATE USER 'evaluation_user'@'%' IDENTIFIED BY 'password'; GRANT SELECT, INSERT, UPDATE, DELETE ON database_name.* TO 'evaluation_user'@'%'; FLUSH PRIVILEGES; ``` ## 微信配置 ### 1. 微信公众平台配置 1. 登录微信公众平台 2. 进入"开发" -> "接口权限" 3. 配置网页授权域名:`yourdomain.com` 4. 配置JS接口安全域名:`yourdomain.com` ### 2. 测试微信功能 1. 在微信中访问:`https://yourdomain.com/evaluation?vehicle=粤A12345` 2. 确认能正常获取微信用户信息 3. 测试评价提交功能 ## 监控和维护 ### 1. 日志监控 ```bash # 查看应用日志 tail -f logs/sys-info.log # 查看错误日志 tail -f logs/sys-error.log ``` ### 2. 数据库监控 ```sql -- 查看评价统计 SELECT vehicle_no, COUNT(*) as total_count, AVG(total_score) as avg_score FROM customer_evaluation WHERE evaluation_status = '1' GROUP BY vehicle_no; -- 查看今日评价数量 SELECT COUNT(*) FROM customer_evaluation WHERE DATE(evaluation_time) = CURDATE(); ``` ### 3. 文件清理 ```bash # 清理过期的二维码文件(可选) find /path/to/upload/qrcode/ -name "*.png" -mtime +30 -delete ``` ## 性能优化 ### 1. 数据库优化 ```sql -- 添加索引 CREATE INDEX idx_evaluation_vehicle_time ON customer_evaluation(vehicle_no, evaluation_time); CREATE INDEX idx_evaluation_status ON customer_evaluation(evaluation_status); ``` ### 2. 缓存配置 ```yaml # Redis配置 spring: redis: host: your-redis-host port: 6379 database: 0 timeout: 10s ``` ### 3. 文件存储优化 - 使用CDN加速二维码图片访问 - 定期清理无用的二维码文件 - 考虑使用对象存储服务(如阿里云OSS) ## 安全配置 ### 1. HTTPS配置 ```nginx server { listen 443 ssl; server_name yourdomain.com; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; # 其他配置... } ``` ### 2. 接口安全 - 评价提交接口添加频率限制 - 敏感信息加密存储 - 定期更新微信AppSecret ### 3. 数据备份 ```bash # 数据库备份 mysqldump -u username -p database_name > backup_$(date +%Y%m%d).sql # 文件备份 tar -czf upload_backup_$(date +%Y%m%d).tar.gz /path/to/upload/ ``` ## 故障排查 ### 1. 常见问题 #### 二维码生成失败 - 检查文件路径权限 - 检查磁盘空间 - 查看应用日志 #### 微信授权失败 - 检查域名配置 - 检查HTTPS证书 - 检查AppID和AppSecret #### 评价提交失败 - 检查数据库连接 - 检查必填字段验证 - 查看错误日志 ### 2. 联系支持 如遇到问题,请提供: - 错误日志 - 操作步骤 - 环境信息 - 错误截图