From 43a43929cc9ada0a80dc05b5628eed67d050b230 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E5=B1=95=E9=B9=8F?= Date: Wed, 19 Nov 2025 18:56:05 +0800 Subject: [PATCH] =?UTF-8?q?readme=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 527 +++++++++++++++++++----------------------------------- 1 file changed, 182 insertions(+), 345 deletions(-) diff --git a/README.md b/README.md index c5ac457..944851b 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # 🚗 洗车店订单管理系统 -一个功能完整的洗车店订单管理系统,支持VIP客户管理、订单处理、套餐管理等功能。 +一个功能完整的洗车店订单管理系统,支持VIP客户管理、预约处理、套餐管理等功能。 ## 📋 目录 @@ -11,49 +11,49 @@ - [安装指南](#-安装指南) - [项目结构](#-项目结构) - [功能模块](#-功能模块) -- [使用指南](#-使用指南) +- [数据库结构](#-数据库结构) - [API接口](#-api接口) +- [使用指南](#-使用指南) - [调试工具](#-调试工具) - [常见问题](#-常见问题) - [版本历史](#-版本历史) ## 🎯 系统概述 -本系统是一个专为洗车店设计的现代化订单管理平台,提供完整的客户管理、订单处理、VIP服务等功能。系统采用PHP + MySQL架构,界面简洁易用,功能完善稳定。 +本系统是一个专为洗车店设计的现代化订单管理平台,提供完整的客户管理、预约处理、VIP服务等功能。系统采用PHP + MySQL架构,界面简洁易用,功能完善稳定。 ### 核心特性 -- 🏆 **VIP客户管理** - 完整的VIP客户信息管理和搜索功能 -- 📝 **订单管理** - 完整的洗车订单生命周期管理 +- 🏆 **VIP客户管理** - 完整的VIP客户信息管理和历史预约查询功能 +- 📝 **预约管理** - 完整的洗车预约生命周期管理 - 📦 **套餐管理** - 灵活的洗车服务套餐配置 - 💾 **数据持久化** - 可靠的MySQL数据库存储 -- 🔍 **搜索功能** - 强大的客户和订单搜索功能 -- 📊 **报表统计** - 业务数据统计和报表功能 -- 🛠️ **调试工具** - 完善的开发调试和监控工具 +- 🔍 **搜索功能** - 强大的客户搜索功能 +- ️ **调试工具** - 完善的开发调试和监控工具 ## 🚀 主要功能 ### 1. 客户管理 -- **客户信息录入** - 姓名、手机号、地址等基本信息 +- **客户信息录入** - 姓名、手机号、车型、车牌号等基本信息 - **VIP客户管理** - 专门的VIP客户管理功能 - **客户搜索** - 支持姓名、手机号模糊搜索 -- **客户分类** - 普通客户、VIP客户自动分类 +- **VIP客户预约记录** - 自动显示VIP客户最近一次预约信息 -### 2. 订单管理 -- **订单创建** - 快速创建洗车订单 -- **订单状态** - 待处理、进行中、已完成等状态管理 -- **订单详情** - 完整的订单信息记录 -- **订单搜索** - 多条件订单搜索功能 +### 2. 预约管理 +- **预约创建** - 快速创建洗车预约 +- **预约状态** - 待确认、已确认、进行中、已完成、已取消等状态管理 +- **预约详情** - 完整的预约信息记录 +- **VIP客户特殊处理** - 自动关联VIP客户信息和历史记录 ### 3. 套餐管理 - **服务套餐** - 预设洗车服务套餐 - **价格管理** - 灵活的价格设置 - **套餐配置** - 服务项目和时长配置 -### 4. VIP服务 -- **VIP专享** - 专门的VIP客户服务界面 -- **优先处理** - VIP订单优先级处理 -- **积分系统** - VIP积分管理和兑换 +### 4. VIP专享功能 +- **VIP预约历史查询** - 自动显示VIP客户最近一次预约详情 +- **首次到店提示** - 为首次预约的VIP客户提供特别提示 +- **客户信息自动填充** - 选择VIP客户后自动填充相关信息 ## 🏗️ 技术架构 @@ -72,8 +72,8 @@ ### 核心组件 - **数据库连接** (`db_connect.php`) - 统一的数据库连接管理 - **配置管理** (`config.php`) - 系统配置参数 -- **VIP管理** (`vip.php`, `get_vip_customers.php`) - VIP客户相关功能 -- **订单管理** (`bookings.php`) - 订单处理逻辑 +- **主页面** (`index.php`) - 系统主入口和预约创建页面 +- **VIP管理** (`get_vip_customers.php`, `get_vip_last_booking.php`) - VIP客户相关功能 ## 💻 系统要求 @@ -106,7 +106,7 @@ ### 2. 项目部署 -#### 克隆项目 +#### 项目文件放置 ```bash # 将项目文件复制到Web服务器根目录 # Windows (XAMPP): C:\xampp\htdocs\carwash_order\ @@ -160,308 +160,197 @@ http://localhost/carwash_order/ ``` carwash_order/ ├── README.md # 项目说明文档 -├── SOLUTIONS.md # 解决方案文档 -├── VIP_Function_Fix_Report.md # VIP功能修复报告 -├── VIP_Search_Fix_Report.md # VIP搜索修复报告 +├── carwash_db.sql # 数据库结构和初始数据 +├── config.php # 系统配置文件 +├── db_connect.php # 数据库连接文件 +├── index.php # 主页面入口 +├── style.css # 样式文件 │ -├── 核心文件/ -│ ├── index.php # 主页面入口 -│ ├── config.php # 数据库配置 -│ ├── db_connect.php # 数据库连接 -│ └── style.css # 样式文件 -│ -├── 功能模块/ -│ ├── vip.php # VIP客户管理 -│ ├── bookings.php # 订单管理 -│ ├── packages.php # 套餐管理 -│ ├── get_vip_customers.php # VIP数据API -│ └── get_vip_customer.php # 单个VIP客户API -│ -├── 数据库/ -│ └── carwash_db.sql # 数据库结构和初始数据 +├── API文件/ +│ ├── get_vip_customers.php # 获取VIP客户列表API +│ ├── get_vip_customer.php # 获取单个VIP客户信息API +│ ├── get_vip_last_booking.php # 获取VIP客户最近预约记录API +│ └── bookings.php # 预约管理相关API │ ├── 测试工具/ -│ ├── test.php # 基础测试文件 -│ ├── test_vip.php # VIP功能测试 -│ ├── test_vip_loading.php # VIP数据加载测试 -│ ├── verify_vip_data.php # VIP数据验证 -│ ├── debug_vip.php # VIP调试工具 -│ ├── vip_functionality_test.html # VIP功能测试页面 -│ └── vip_search_debug.html # VIP搜索调试页面 +│ ├── test_vip_booking_history.php # VIP预约历史测试 +│ ├── test_vip.php # VIP功能测试 +│ ├── verify_vip_data.php # VIP数据验证 +│ ├── debug_vip.php # VIP调试工具 +│ └── vip_search_debug.html # VIP搜索调试页面 │ -└── 文档/ - ├── VIP_Function_Fix_Report.md - └── VIP_Search_Fix_Report.md +└── 报告文件/ + ├── VIP_Function_Fix_Report.md # VIP功能修复报告 + └── VIP_Search_Fix_Report.md # VIP搜索修复报告 ``` -## 🧩 功能模块 +## 🗄️ 数据库结构 -### 主系统模块 +### 主要数据表 -#### 1. 客户管理系统 -- **文件**: `index.php`, `vip.php` -- **功能**: 客户信息录入、编辑、查询 -- **特性**: - - 支持VIP客户特殊标识 - - 客户信息实时验证 - - 搜索结果高亮显示 - -#### 2. 订单处理系统 -- **文件**: `bookings.php` -- **功能**: 订单创建、状态管理、查询 -- **特性**: - - 订单状态自动更新 - - 服务套餐自动关联 - - 订单历史记录 - -#### 3. 套餐管理系统 -- **文件**: `packages.php` -- **功能**: 服务套餐配置、价格管理 -- **特性**: - - 灵活的套餐配置 - - 价格区间管理 - - 套餐使用统计 - -### API接口模块 - -#### VIP客户接口 -- **文件**: `get_vip_customers.php` -- **方法**: GET -- **返回**: JSON格式的VIP客户列表 -- **参数**: 无 - -```json -{ - "success": true, - "data": [ - { - "id": 1, - "customer_name": "张总", - "phone": "13900139001", - "is_active": 1, - "created_at": "2024-01-01 10:00:00" - } - ] -} +#### 1. vip_customers(VIP客户表) +```sql +CREATE TABLE vip_customers ( + id INT AUTO_INCREMENT PRIMARY KEY, + customer_name VARCHAR(100) NOT NULL COMMENT '客户姓名', + phone VARCHAR(20) NOT NULL UNIQUE COMMENT '联系电话(唯一)', + car_model VARCHAR(50) COMMENT '车型', + car_number VARCHAR(20) COMMENT '车牌号', + email VARCHAR(100) COMMENT '邮箱地址', + birthday DATE COMMENT '生日', + notes TEXT COMMENT '备注信息', + is_active BOOLEAN DEFAULT TRUE, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NULL +); ``` -### 工具和调试模块 - -#### 1. 数据验证工具 -- **文件**: `verify_vip_data.php` -- **功能**: 数据库连接测试、数据完整性验证 -- **使用**: 浏览器访问或命令行执行 - -#### 2. 调试工具 -- **文件**: `vip_search_debug.html` -- **功能**: 实时调试VIP搜索功能 -- **特性**: - - 详细的调试日志 - - 数据加载状态监控 - - 搜索过程可视化 - -#### 3. 功能测试工具 -- **文件**: `vip_functionality_test.html` -- **功能**: VIP功能完整性测试 -- **特性**: - - 自动化测试流程 - - 错误检测和报告 - - 性能监控 - -## 📖 使用指南 - -### 基础操作流程 - -#### 1. 客户管理 -``` -1. 打开系统主页 (index.php) -2. 选择客户类型: - - 普通客户:直接填写基本信息 - - VIP客户:选择VIP客户搜索或新增 -3. 填写客户信息(姓名、手机号等) -4. 提交订单 +#### 2. bookings(预约表) +```sql +CREATE TABLE bookings ( + id INT AUTO_INCREMENT PRIMARY KEY, + customer_name VARCHAR(100) NOT NULL, + phone VARCHAR(20) NOT NULL, + car_model VARCHAR(50) NOT NULL, + car_number VARCHAR(20) NOT NULL, + package_id INT, + custom_services TEXT COMMENT '自定义服务内容', + start_time DATETIME NOT NULL, + end_time DATETIME NOT NULL, + duration INT NOT NULL COMMENT '实际服务时长(分钟)', + total_price DECIMAL(10,2) NOT NULL, + notes TEXT, + status ENUM('待确认', '已确认', '进行中', '已完成', '已取消') DEFAULT '待确认', + member_type ENUM('普通客户', 'VIP会员') DEFAULT '普通客户' COMMENT '会员类型', + source ENUM('抖音', '微信', '快手', '朋友介绍', '其他') DEFAULT '其他' COMMENT '客户来源', + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NULL, + FOREIGN KEY (package_id) REFERENCES packages(id) ON DELETE SET NULL +); ``` -#### 2. VIP客户操作 +#### 3. packages(套餐表) +```sql +CREATE TABLE packages ( + id INT AUTO_INCREMENT PRIMARY KEY, + package_name VARCHAR(100) NOT NULL, + description TEXT, + base_duration INT NOT NULL COMMENT '基础服务时长(分钟)', + price DECIMAL(10,2) NOT NULL, + services TEXT NOT NULL COMMENT '包含的服务项目(用逗号分隔)', + is_active BOOLEAN DEFAULT TRUE, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NULL +); ``` -VIP客户搜索: -1. 选择"VIP客户"类型 -2. 在VIP搜索框中输入关键词: - - 客户姓名(如:张、王、总) - - 手机号(如:13900139001) - - 号段(如:139、138) -3. 查看搜索结果 -4. 选择目标客户 - -VIP客户管理: -1. 通过VIP搜索找到客户 -2. 查看客户详细信息 -3. 编辑客户信息(如需要) -4. 确认客户选择 -``` - -#### 3. 订单创建 -``` -1. 选择客户类型(普通/VIP) -2. 选择或搜索客户 -3. 选择服务套餐 -4. 确认订单信息 -5. 提交订单 -6. 查看订单状态 -``` - -### 高级功能 - -#### 1. 数据导出 -- 客户数据导出 -- 订单记录导出 -- 统计报表导出 - -#### 2. 系统监控 -- 数据库连接状态 -- API响应时间 -- 错误日志查看 - -#### 3. 批量操作 -- 批量客户导入 -- 批量订单处理 -- 批量数据清理 ## 🔌 API接口 -### VIP客户接口 +### VIP客户相关接口 -#### 获取所有VIP客户 +#### 1. 获取VIP客户列表 ```http GET /get_vip_customers.php ``` -**响应示例**: -```json -{ - "success": true, - "data": [ - { - "id": 1, - "customer_name": "张总", - "phone": "13900139001", - "is_active": 1, - "created_at": "2024-01-01 10:00:00" - } - ], - "count": 1 -} -``` - -#### 获取单个VIP客户 -```http -GET /get_vip_customer.php?id=1 -``` +**参数**: 无 +**返回**: JSON格式的VIP客户列表 **响应示例**: ```json -{ - "success": true, - "data": { +[ + { "id": 1, "customer_name": "张总", "phone": "13900139001", - "is_active": 1, - "created_at": "2024-01-01 10:00:00" + "car_model": "奔驰S500", + "car_number": "京V88888", + "email": "zhang@example.com", + "birthday": "1980-05-15", + "is_active": 1 } -} +] ``` -### 订单接口 - -#### 创建订单 +#### 2. 获取VIP客户最近预约记录 ```http -POST /bookings.php -Content-Type: application/json - -{ - "customer_id": 1, - "package_id": 1, - "booking_date": "2024-01-15", - "booking_time": "14:00", - "notes": "VIP客户预约" -} +GET /get_vip_last_booking.php?vip_id=1 ``` -#### 获取订单列表 -```http -GET /bookings.php?status=all&limit=50 -``` +**参数**: +- `vip_id`: VIP客户ID -### 套餐接口 +**返回**: JSON格式的最近预约信息或首次到店标识 -#### 获取套餐列表 -```http -GET /packages.php -``` - -**响应示例**: +**响应示例** (有预约记录): ```json { - "success": true, - "data": [ - { - "id": 1, - "package_name": "基础洗车", - "price": 30.00, - "description": "基础洗车服务", - "duration": 30 - } - ] + "has_booking": true, + "appointment_date": "2024-12-21", + "appointment_time": "14:00", + "package_name": "VIP套餐", + "duration": 180 } ``` +**响应示例** (首次到店): +```json +{ + "has_booking": false +} +``` + +## � 使用指南 + +### 基础操作流程 + +#### 1. VIP客户预约 +``` +1. 打开系统主页 (index.php) +2. 选择客户类型为"VIP客户" +3. 在VIP搜索框中输入关键词搜索客户 +4. 选择目标VIP客户 +5. 系统自动显示客户信息和最近一次预约记录(如有) +6. 选择服务套餐和预约时间 +7. 提交预约 +``` + +#### 2. 普通客户预约 +``` +1. 打开系统主页 (index.php) +2. 选择客户类型为"普通客户" +3. 填写客户基本信息 +4. 选择服务套餐和预约时间 +5. 提交预约 +``` + +### VIP客户特殊功能 + +#### VIP客户最近预约显示 +当选择VIP客户后,系统会自动查询并显示该客户的最近一次预约信息,包括: +- 预约日期 +- 预约时间 +- 选择的套餐 +- 服务时长 + +如果是首次预约,则显示"该VIP首次到店"的提示信息。 + ## 🛠️ 调试工具 -### 1. 调试页面 -- **VIP搜索调试**: `vip_search_debug.html` -- **VIP功能测试**: `vip_functionality_test.html` -- **数据验证**: `verify_vip_data.php` +### 1. VIP预约历史测试 +- **文件**: `test_vip_booking_history.php` +- **功能**: 测试VIP客户预约历史查询功能 +- **使用**: 浏览器访问或命令行执行 -### 2. 调试命令 +### 2. VIP功能测试 +- **文件**: `test_vip.php` +- **功能**: 测试VIP客户管理相关功能 +- **使用**: 浏览器访问 -#### 验证数据库连接 -```bash -# 命令行执行 -php verify_vip_data.php -``` - -#### 测试VIP功能 -```bash -# 浏览器访问 -http://localhost/carwash_order/vip_functionality_test.html -``` - -#### 调试搜索功能 -```bash -# 浏览器访问 -http://localhost/carwash_order/vip_search_debug.html -``` - -### 3. 日志查看 - -#### PHP错误日志 -- **位置**: PHP错误日志文件 -- **查看**: 浏览器开发者工具控制台 - -#### JavaScript调试 -- 打开浏览器开发者工具 (F12) -- 查看Console标签页 -- 监控网络请求 (Network标签) - -#### 数据库日志 -```sql --- 查看MySQL错误日志 -SHOW VARIABLES LIKE 'log_error'; - --- 查看查询日志 -SHOW VARIABLES LIKE 'general_log'; -``` +### 3. 数据库连接测试 +- **文件**: `test_db_connection.php` +- **功能**: 测试数据库连接是否正常 +- **使用**: 命令行执行 ## ❓ 常见问题 @@ -473,9 +362,6 @@ A: 确保使用PHP 7.4或更高版本,检查php.ini配置是否启用PDO扩展 #### Q: 数据库连接失败? A: 检查config.php中的数据库配置,确保MySQL服务正在运行,用户权限正确。 -#### Q: 页面显示空白? -A: 检查PHP错误日志,查看是否有致命错误或语法错误。 - ### 功能问题 #### Q: VIP客户搜索不到? @@ -484,86 +370,37 @@ A: 2. 查看浏览器控制台是否有JavaScript错误 3. 使用调试工具验证数据加载 -#### Q: 订单提交失败? -A: -1. 验证必填字段是否完整 -2. 检查客户信息是否正确 -3. 查看服务器错误日志 +#### Q: VIP客户预约记录不显示? +A: +1. 确认该VIP客户已有预约记录 +2. 检查get_vip_last_booking.php是否正常工作 +3. 查看数据库中bookings表与vip_customers表的phone字段是否匹配 -#### Q: 页面加载缓慢? -A: -1. 检查数据库查询性能 -2. 优化SQL查询语句 -3. 考虑添加数据库索引 - -### 性能问题 - -#### Q: 如何优化查询性能? -A: -1. 添加适当的数据库索引 -2. 使用数据库连接池 -3. 实现查询结果缓存 - -#### Q: 如何处理大量数据? -A: -1. 实现分页查询 -2. 使用数据压缩 -3. 考虑数据库分区 +#### Q: 页面显示错误"SQLSTATE[42S22]: Column not found"? +A: 确保数据库结构与代码中的表结构一致,特别是bookings表使用start_time字段而不是appointment_date字段。 ## 📝 版本历史 +### v3.0.0 (最新版) +- ✨ **新增**: VIP客户最近预约记录显示功能 +- 🐛 **修复**: 数据库查询错误,优化表结构匹配 +- 🔧 **改进**: VIP客户与预约记录的关联逻辑 +- � **增强**: 首次到店提示功能 + ### v2.1.0 (2024-01-15) - ✨ **新增**: VIP客户搜索功能优化 - 🐛 **修复**: VIP客户数据加载时序问题 - 🔧 **改进**: 异步处理机制优化 -- 📊 **增强**: 调试和监控功能 ### v2.0.0 (2024-01-10) - ✨ **新增**: VIP客户管理系统 - ✨ **新增**: 订单状态管理 - ✨ **新增**: 套餐配置功能 -- 🔧 **改进**: 用户界面优化 -- 📊 **新增**: 业务统计功能 ### v1.0.0 (2024-01-01) - 🎉 **初始版本**: 基础订单管理功能 - ✨ **新增**: 客户信息管理 - ✨ **新增**: 订单创建和处理 -- 🔧 **建立**: 基础架构 - -## 🤝 贡献指南 - -### 开发规范 -1. 遵循PSR编码规范 -2. 使用有意义的变量和函数名 -3. 添加必要的注释和文档 -4. 进行充分的测试 - -### 提交流程 -1. Fork项目仓库 -2. 创建功能分支 -3. 编写代码和测试 -4. 提交Pull Request -5. 代码审查和合并 - -### 问题反馈 -- 使用GitHub Issues报告Bug -- 提供详细的复现步骤 -- 包含环境信息和错误日志 - -## 📞 技术支持 - -### 联系方式 -- **项目维护者**: [Your Name] -- **技术支持**: [Your Email] -- **项目地址**: [GitHub Repository URL] - -### 文档资源 -- **API文档**: `/docs/api/` -- **用户手册**: `/docs/user-guide/` -- **开发者文档**: `/docs/developer-guide/` - ---- ## 📄 许可证