This repository has been archived on 2026-06-20. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
carwash_order/example_template_usage.php
wsh5485 b963c2b513 feat: 新增预约系统功能及优化
- 添加获取每日预约时长的API接口
- 实现0元订单自动标记为已付款功能
- 优化预约信息复制功能,增加服务时长和备注
- 新增预约信息模板系统
- 在待处理预约页面添加时长提示功能
- 优化移动端触摸反馈和倒计时显示
2025-12-06 05:05:15 +08:00

213 lines
7.0 KiB
PHP

<?php
/**
* 预约信息模板使用示例
* 此文件展示如何使用 booking_template.php 来生成预约信息
*/
// 包含模板文件
require_once 'booking_template.php';
// 示例1:使用基本模板
function example_basic_template() {
echo "=== 示例1:使用基本模板 ===\n\n";
// 准备预约数据
$booking_data = [
'customer_name' => '张三',
'phone' => '138-0013-8000',
'car_number' => '京A12345',
'car_model' => '特斯拉 Model 3',
'start_time' => '2023-10-01 10:00:00',
'package_name' => '精致洗车套餐',
'duration' => 60,
'total_price' => '128.00'
];
// 生成预约信息
$message = generateBookingMessage($booking_data, 'basic');
// 输出结果
echo "模板标题:" . getTemplateTitle('basic') . "\n";
echo "模板内容:\n" . $message . "\n\n";
}
// 示例2:使用详细模板
function example_detailed_template() {
echo "=== 示例2:使用详细模板 ===\n\n";
// 准备完整的预约数据
$booking_data = [
'customer_name' => '李四',
'phone' => '139-0013-9000',
'car_model' => '宝马 5系',
'car_number' => '沪B67890',
'member_type' => 'VIP会员',
'package_name' => '深度清洁套餐',
'custom_services' => '内饰消毒 + 轮胎养护',
'start_time' => '2023-10-02 14:30:00',
'end_time' => '2023-10-02 16:00:00',
'duration' => 90,
'total_price' => '298.00',
'notes' => '车辆右前门有轻微划痕,清洗时请注意',
'status' => '已确认',
'payment_status' => '已付款',
'source' => '抖音'
];
// 生成预约信息
$message = generateBookingMessage($booking_data, 'detailed');
// 输出结果
echo "模板标题:" . getTemplateTitle('detailed') . "\n";
echo "模板内容:\n" . $message . "\n\n";
}
// 示例3:使用简洁模板
function example_simple_template() {
echo "=== 示例3:使用简洁模板 ===\n\n";
// 准备简约的预约数据
$booking_data = [
'customer_name' => '王五',
'phone' => '137-0013-7000',
'car_number' => '粤C54321',
'car_model' => '本田 CR-V',
'start_time' => '2023-10-03 09:30:00',
'package_name' => '快速洗车',
'duration' => 30,
'total_price' => '38.00'
];
// 生成预约信息
$message = generateBookingMessage($booking_data, 'simple');
// 输出结果
echo "模板标题:" . getTemplateTitle('simple') . "\n";
echo "模板内容:\n" . $message . "\n\n";
}
// 示例4:自定义模板数据
function example_custom_data() {
echo "=== 示例4:自定义模板数据 ===\n\n";
// 从数据库获取的示例预约数据
$db_booking_data = [
'id' => 123,
'customer_name' => '赵六',
'phone' => '136-0013-6000',
'car_model' => '丰田 凯美瑞',
'car_number' => '苏D98765',
'member_type' => '普通会员',
'package_id' => 2,
'package_name' => '打蜡套餐',
'custom_services' => '',
'start_time' => '2023-10-04 16:00:00',
'end_time' => '2023-10-04 17:30:00',
'duration' => 90,
'total_price' => '198.00',
'notes' => '',
'status' => '已确认',
'payment_status' => '未付款',
'source' => '朋友介绍',
'created_at' => '2023-09-25 14:20:00',
'updated_at' => '2023-09-25 14:20:00'
];
// 生成预约信息
$message = generateBookingMessage($db_booking_data, 'detailed');
// 输出结果
echo "模板标题:" . getTemplateTitle('detailed') . "\n";
echo "模板内容:\n" . $message . "\n\n";
}
// 示例5:将模板集成到现有系统中
function example_integration() {
echo "=== 示例5:将模板集成到现有系统中 ===\n\n";
// 模拟从数据库获取预约数据
function getBookingFromDatabase($booking_id) {
// 这里应该是实际的数据库查询
return [
'id' => $booking_id,
'customer_name' => '孙七',
'phone' => '135-0013-5000',
'car_model' => '大众 帕萨特',
'car_number' => '浙E34567',
'member_type' => '普通客户',
'package_name' => '普通洗车',
'start_time' => '2023-10-05 11:00:00',
'end_time' => '2023-10-05 11:30:00',
'duration' => 30,
'total_price' => '58.00',
'notes' => '',
'status' => '已确认',
'payment_status' => '已付款',
'source' => '其他'
];
}
// 模拟发送预约确认信息
function sendBookingConfirmation($booking_id) {
// 获取预约数据
$booking = getBookingFromDatabase($booking_id);
// 生成预约信息
$template_name = $booking['member_type'] == 'VIP会员' ? 'detailed' : 'basic';
$message = generateBookingMessage($booking, $template_name);
$title = getTemplateTitle($template_name);
// 这里应该是实际的发送逻辑(短信、微信等)
echo "{$booking['phone']} 发送信息:\n";
echo "标题:{$title}\n";
echo "内容:\n{$message}\n";
return true;
}
// 使用示例
$booking_id = 456;
sendBookingConfirmation($booking_id);
}
// 运行所有示例
example_basic_template();
example_detailed_template();
example_simple_template();
example_custom_data();
example_integration();
// 显示可用模板
echo "\n=== 可用模板列表 ===\n";
echo "当前系统中可用的预约信息模板:\n";
$templates = getAvailableTemplates();
foreach ($templates as $template) {
echo "- {$template} (标题:" . getTemplateTitle($template) . ")\n";
}
// 如何自定义模板的说明
echo "\n=== 如何自定义模板 ===\n";
echo "1. 打开 booking_template.php 文件\n";
echo "2. 在 \$booking_templates 数组中添加新的模板或修改现有模板\n";
echo "3. 每个模板包含 title 和 message 两个字段\n";
echo "4. 使用 {字段名} 作为占位符,系统会自动替换为实际数据\n";
echo "5. 可使用的占位符包括:\n";
echo " - {customer_name}:客户姓名\n";
echo " - {phone}:手机号\n";
echo " - {car_model}:车型\n";
echo " - {car_number}:车牌号\n";
echo " - {member_type}:会员类型\n";
echo " - {package_name}:服务项目\n";
echo " - {custom_services}:自定义服务\n";
echo " - {start_time}:预约开始时间\n";
echo " - {end_time}:预约结束时间\n";
echo " - {date}:预约日期\n";
echo " - {time_range}:时间范围\n";
echo " - {duration}:服务时长\n";
echo " - {total_price}:总价\n";
echo " - {notes}:备注\n";
echo " - {status}:预约状态\n";
echo " - {payment_status}:支付状态\n";
echo " - {source}:来源渠道\n";
echo " - {created_at}:创建时间\n";
?>