readme更新

This commit is contained in:
2025-11-19 18:56:05 +08:00
parent c701ed25b0
commit 43a43929cc
+182 -345
View File
@@ -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_customersVIP客户表)
```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/`
---
## 📄 许可证