From 6906d8da2a87fc2a2570203732239ff0c846ef6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E5=B1=95=E9=B9=8F?= Date: Sat, 6 Dec 2025 03:04:34 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E9=87=8D=E6=9E=84README=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E4=BD=BF=E5=85=B6=E6=9B=B4=E7=AE=80=E6=B4=81=E6=B8=85?= =?UTF-8?q?=E6=99=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 简化项目描述和功能说明 - 优化目录结构和内容组织 - 移除冗余的技术细节和安装步骤 - 更新项目结构说明 - 改进使用指南部分 --- README.md | 526 ++++++------------------------------------------------ 1 file changed, 55 insertions(+), 471 deletions(-) diff --git a/README.md b/README.md index 127cd15..fdf79a4 100644 --- a/README.md +++ b/README.md @@ -1,497 +1,81 @@ -# 🚗 洗车店订单管理系统 +# 张老师撸车工作室 - 洗车预约管理系统 -一个功能完整的洗车店订单管理系统,支持VIP客户管理、预约处理、套餐管理等功能。 +一个专为洗车店设计的现代化预约管理系统,支持客户预约、套餐管理、VIP服务等功能。 -## 📋 目录 +## 主要功能 -- [系统概述](#-系统概述) -- [主要功能](#-主要功能) -- [技术架构](#-技术架构) -- [系统要求](#-系统要求) -- [安装指南](#-安装指南) -- [项目结构](#-项目结构) -- [功能模块](#-功能模块) -- [数据库结构](#-数据库结构) -- [API接口](#-api接口) -- [使用指南](#-使用指南) -- [调试工具](#-调试工具) -- [常见问题](#-常见问题) -- [版本历史](#-版本历史) +- **预约管理**:洗车预约创建、状态管理、历史记录查询 +- **套餐管理**:洗车服务套餐配置、价格和时长设置 +- **VIP客户管理**:VIP客户信息管理、历史预约记录查询 +- **数据持久化**:基于MySQL的可靠数据存储 +- **响应式设计**:适配各种设备屏幕 -## 🎯 系统概述 +## 技术栈 -本系统是一个专为洗车店设计的现代化订单管理平台,提供完整的客户管理、预约处理、VIP服务等功能。系统采用PHP + MySQL架构,界面简洁易用,功能完善稳定。 +- **前端**:HTML5, CSS3, JavaScript (jQuery) +- **后端**:PHP 7.4+ +- **数据库**:MySQL 5.7+ +- **架构**:MVC模式,PDO数据库连接 -### 核心特性 +## 快速安装 -- 🏆 **VIP客户管理** - 完整的VIP客户信息管理和历史预约查询功能 -- 📝 **预约管理** - 完整的洗车预约生命周期管理 -- 📦 **套餐管理** - 灵活的洗车服务套餐配置 -- 💾 **数据持久化** - 可靠的MySQL数据库存储 -- 🔍 **搜索功能** - 强大的客户搜索功能 -- ️ **调试工具** - 完善的开发调试和监控工具 +### 1. 环境要求 -## 🚀 主要功能 +- PHP 7.4+ (启用PDO扩展) +- MySQL 5.7+ +- Apache/Nginx Web服务器 -### 1. 客户管理 -- **客户信息录入** - 姓名、手机号、车型、车牌号等基本信息 -- **VIP客户管理** - 专门的VIP客户管理功能 -- **客户搜索** - 支持姓名、手机号模糊搜索 -- **VIP客户预约记录** - 自动显示VIP客户最近一次预约信息 +### 2. 部署步骤 -### 2. 预约管理 -- **预约创建** - 快速创建洗车预约 -- **预约状态** - 待确认、已确认、进行中、已完成、已取消等状态管理 -- **预约详情** - 完整的预约信息记录 -- **VIP客户特殊处理** - 自动关联VIP客户信息和历史记录 +1. **克隆/上传代码**到Web服务器根目录 +2. **导入数据库**: + - 创建数据库 `carwash_booking` + - 导入 `merged_db.sql` 文件 +3. **配置数据库连接**: + - 复制 `config.php.env` 为 `config.php` + - 修改数据库连接参数 -### 3. 套餐管理 -- **服务套餐** - 预设洗车服务套餐 -- **价格管理** - 灵活的价格设置 -- **套餐配置** - 服务项目和时长配置 +### 3. 访问系统 -### 4. VIP专享功能 -- **VIP预约历史查询** - 自动显示VIP客户最近一次预约详情 -- **首次到店提示** - 为首次预约的VIP客户提供特别提示 -- **客户信息自动填充** - 选择VIP客户后自动填充相关信息 +打开浏览器访问:`http://localhost/carwash_order/` -## 🏗️ 技术架构 - -### 前端技术 -- **HTML5** - 现代化的页面结构 -- **CSS3** - 响应式样式设计 -- **JavaScript** - 动态交互和AJAX请求 -- **Bootstrap** - UI组件库(可选) - -### 后端技术 -- **PHP 7.4+** - 服务器端脚本语言 -- **MySQL 5.7+** - 关系型数据库 -- **PDO** - 数据库抽象层 -- **RESTful API** - 标准API设计 - -### 核心组件 -- **数据库连接** (`db_connect.php`) - 统一的数据库连接管理 -- **配置管理** (`config.php`) - 系统配置参数 -- **主页面** (`index.php`) - 系统主入口和预约创建页面 -- **VIP管理** (`get_vip_customers.php`, `get_vip_last_booking.php`) - VIP客户相关功能 - -## 💻 系统要求 - -### 服务器环境 -- **PHP**: 7.4 或更高版本 -- **MySQL**: 5.7 或更高版本 -- **Web服务器**: Apache 2.4+ 或 Nginx 1.18+ -- **PHP扩展**: PDO, PDO_MySQL, JSON - -### 开发环境 -- **操作系统**: Windows 10+, macOS 10.14+, Linux Ubuntu 18+ -- **推荐工具**: XAMPP, WAMP, LAMP 或 Docker -- **浏览器**: Chrome 80+, Firefox 75+, Safari 13+ - -## 🔧 安装指南 - -### 1. 环境准备 - -#### 使用XAMPP(推荐) -```bash -# 下载并安装XAMPP -# 启动Apache和MySQL服务 -``` - -#### 使用WAMP(Windows用户) -```bash -# 下载并安装WAMP -# 启动WAMP服务 -``` - -### 2. 项目部署 - -#### 项目文件放置 -```bash -# 将项目文件复制到Web服务器根目录 -# Windows (XAMPP): C:\xampp\htdocs\carwash_order\ -# Linux/macOS: /var/www/html/carwash_order/ -``` - -#### 数据库配置 -```sql --- 1. 创建数据库 -CREATE DATABASE carwash_booking CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - --- 2. 导入数据库结构 -SOURCE carwash_db.sql; - --- 3. 验证表创建 -SHOW TABLES; -``` - -#### 配置文件设置 -编辑 `config.php`: -```php - -``` - -### 3. 权限设置 - -#### Linux/macOS权限 -```bash -# 设置目录权限 -chmod -R 755 /var/www/html/carwash_order/ -chown -R www-data:www-data /var/www/html/carwash_order/ -``` - -#### Windows权限 -确保IIS或Apache用户有读取项目文件的权限。 - -### 4. 访问测试 - -打开浏览器访问: -``` -http://localhost/carwash_order/ -``` - -## 📁 项目结构 +## 项目结构 ``` carwash_order/ -├── README.md # 项目说明文档 -├── carwash_db.sql # 数据库结构和初始数据 -├── config.php # 系统配置文件 -├── db_connect.php # 数据库连接文件 -├── index.php # 主页面入口 -├── style.css # 样式文件 -├── announcement.php # 预约公告页面 -├── bookings.php # 预约管理页面 -├── packages.php # 套餐管理页面 -├── vip.php # VIP客户管理页面 -├── process_booking.php # 预约处理API -├── get_bookings.php # 获取预约列表API -├── get_vip_customers.php # 获取VIP客户列表API -├── get_vip_customer.php # 获取单个VIP客户信息API -├── get_vip_last_booking.php # 获取VIP客户最近预约记录API -├── add_payment_status.php # 支付状态添加API -├── update_booking.php # 预约更新API -│ -├── test/ # 测试文件目录 -│ ├── SOLUTIONS.md # 解决方案文档 -│ ├── VIP_Function_Fix_Report.md # VIP功能修复报告 -│ ├── VIP_Search_Fix_Report.md # VIP搜索修复报告 -│ ├── debug_vip.php # VIP调试工具 -│ ├── debug_vip_db.php # VIP数据库调试工具 -│ ├── test.php # 基础测试文件 -│ ├── test_24hour_booking.php # 24小时预约测试 -│ ├── test_db_connection.php # 数据库连接测试 -│ ├── test_filters.php # 过滤器测试 -│ ├── test_update_booking.php # 预约更新测试 -│ ├── test_vip.php # VIP功能测试 -│ ├── test_vip_ajax.html # VIP AJAX测试 -│ ├── test_vip_booking_history.php # VIP预约历史测试 -│ ├── test_vip_debug_panel.html # VIP调试面板 -│ ├── test_vip_entries.php # VIP条目测试 -│ ├── test_vip_fix.html # VIP修复测试 -│ ├── test_vip_loading.php # VIP加载测试 -│ ├── test_vip_search.html # VIP搜索测试 -│ ├── test_vip_search_simple.html # VIP简单搜索测试 -│ ├── verify_vip_data.php # VIP数据验证 -│ ├── vip_debug_page.html # VIP调试页面 -│ ├── vip_functionality_test.html # VIP功能测试 -│ └── vip_search_debug.html # VIP搜索调试页面 +├── index.php # 预约页面入口 +├── bookings.php # 预约管理页面 +├── packages.php # 套餐管理页面 +├── vip.php # VIP客户管理页面 +├── announcement.php # 今日待办页面 +├── db_connect.php # 数据库连接 +├── style.css # 样式文件 +├── merged_db.sql # 数据库结构 +└── test/ # 测试工具目录 ``` -## 🗄️ 数据库结构 +## 使用说明 -### 主要数据表 +### 客户预约 +1. 访问主页面,选择客户类型(普通/VIP) +2. 填写客户信息或搜索VIP客户 +3. 选择服务套餐和预约时间 +4. 提交预约 -#### 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 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, - -- 复合唯一索引:确保手机号和车牌号组合唯一 - UNIQUE INDEX idx_phone_car_number (phone, car_number) -); -``` +### 套餐管理 +1. 进入套餐管理页面 +2. 创建新套餐或编辑现有套餐 +3. 配置套餐名称、价格、时长和服务项目 -#### 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 -); -``` +### VIP管理 +1. 进入VIP管理页面 +2. 添加或编辑VIP客户信息 +3. 查询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 -); -``` +## 许可证 -## 🔌 API接口 - -### VIP客户相关接口 - -#### 1. 获取VIP客户列表 -```http -GET /get_vip_customers.php -``` - -**参数**: 无 -**返回**: JSON格式的VIP客户列表 - -**响应示例**: -```json -[ - { - "id": 1, - "customer_name": "张总", - "phone": "13900139001", - "car_model": "奔驰S500", - "car_number": "京V88888", - "email": "zhang@example.com", - "birthday": "1980-05-15", - "is_active": 1 - } -] -``` - -#### 2. 获取单个VIP客户信息 -```http -GET /get_vip_customer.php?id=1 -``` - -**参数**: -- `id`: VIP客户ID - -**返回**: JSON格式的单个VIP客户信息 - -#### 3. 获取VIP客户最近预约记录 -```http -GET /get_vip_last_booking.php?vip_id=1 -``` - -**参数**: -- `vip_id`: VIP客户ID - -**返回**: JSON格式的最近预约信息或首次到店标识 - -**响应示例** (有预约记录): -```json -{ - "has_booking": true, - "appointment_date": "2024-12-21", - "appointment_time": "14:00", - "package_name": "VIP套餐", - "duration": 180 -} -``` - -**响应示例** (首次到店): -```json -{ - "has_booking": false -} -``` - -### 预约管理相关接口 - -#### 4. 获取预约列表 -```http -GET /get_bookings.php -``` - -**参数**: 无 -**返回**: JSON格式的预约列表 - -#### 5. 处理预约创建 -```http -POST /process_booking.php -``` - -**参数**: -- 客户信息(姓名、手机号、车型等) -- 预约日期和时间 -- 选择的套餐 - -**返回**: JSON格式的预约处理结果 - -#### 6. 更新预约信息 -```http -POST /update_booking.php -``` - -**参数**: -- `id`: 预约ID -- 其他需要更新的预约信息 - -**返回**: JSON格式的预约更新结果 - -#### 7. 添加支付状态 -```http -POST /add_payment_status.php -``` - -**参数**: -- `booking_id`: 预约ID -- `status`: 支付状态 -- `amount`: 支付金额 - -**返回**: JSON格式的支付状态添加结果 - -## 使用指南 - -### 基础操作流程 - -#### 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预约历史测试 -- **文件**: `test/test_vip_booking_history.php` -- **功能**: 测试VIP客户预约历史查询功能 -- **使用**: 浏览器访问或命令行执行 - -### 2. VIP功能测试 -- **文件**: `test/test_vip.php` -- **功能**: 测试VIP客户管理相关功能 -- **使用**: 浏览器访问 - -### 3. 数据库连接测试 -- **文件**: `test/test_db_connection.php` -- **功能**: 测试数据库连接是否正常 -- **使用**: 命令行执行 - -### 4. 其他测试工具 -- **VIP调试工具**: `test/debug_vip.php` -- **VIP搜索调试**: `test/vip_search_debug.html` -- **数据验证工具**: `test/verify_vip_data.php` -- **功能测试页面**: `test/vip_functionality_test.html` - -## ❓ 常见问题 - -### 安装问题 - -#### Q: PHP版本不兼容怎么办? -A: 确保使用PHP 7.4或更高版本,检查php.ini配置是否启用PDO扩展。 - -#### Q: 数据库连接失败? -A: 检查config.php中的数据库配置,确保MySQL服务正在运行,用户权限正确。 - -### 功能问题 - -#### Q: VIP客户搜索不到? -A: -1. 检查数据库中是否有VIP客户数据 -2. 查看浏览器控制台是否有JavaScript错误 -3. 使用调试工具验证数据加载 - -#### Q: VIP客户预约记录不显示? -A: -1. 确认该VIP客户已有预约记录 -2. 检查get_vip_last_booking.php是否正常工作 -3. 查看数据库中bookings表与vip_customers表的phone字段是否匹配 - -#### 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) -- 🎉 **初始版本**: 基础订单管理功能 -- ✨ **新增**: 客户信息管理 -- ✨ **新增**: 订单创建和处理 - -## 📄 许可证 - -本项目采用 [MIT License](LICENSE) 开源协议。 - -## 🙏 致谢 - -感谢所有为这个项目贡献代码、反馈问题和提出建议的开发者们! +MIT License --- -**洗车店订单管理系统** - 让洗车店管理更简单、更高效! 🚗✨ \ No newline at end of file +**张老师撸车工作室** - 专业洗车服务预约管理系统 \ No newline at end of file