b963c2b513
- 添加获取每日预约时长的API接口 - 实现0元订单自动标记为已付款功能 - 优化预约信息复制功能,增加服务时长和备注 - 新增预约信息模板系统 - 在待处理预约页面添加时长提示功能 - 优化移动端触摸反馈和倒计时显示
161 lines
6.4 KiB
PHP
161 lines
6.4 KiB
PHP
<?php
|
|
/**
|
|
* 预约信息模板文件
|
|
* 此文件用于定义预约成功后发送给客户的信息模板
|
|
* 用户可以根据自己的需求修改此模板
|
|
*/
|
|
|
|
// 预约成功信息模板配置
|
|
$booking_templates = [
|
|
// 基本模板
|
|
'basic' => [
|
|
'title' => '预约成功!',
|
|
'message' => "预约成功!\n\n" .
|
|
"客户:{customer_name}\n" .
|
|
"手机号:{phone}\n" .
|
|
"车牌号:{car_number}\n" .
|
|
"车型:{car_model}\n" .
|
|
"\n" .
|
|
"预约时间:{start_time}\n" .
|
|
"服务项目:{package_name}\n" .
|
|
"服务时长:{duration}分钟\n" .
|
|
"总价:{total_price}元\n" .
|
|
"\n" .
|
|
"感谢您的预约!"
|
|
],
|
|
// 详细模板
|
|
'detailed' => [
|
|
'title' => '【张老师撸车工作室】预约确认',
|
|
'message' => "尊敬的 {customer_name} 先生/女士:\n\n" .
|
|
"恭喜您,您的洗车预约已成功确认!\n\n" .
|
|
"🔹 客户信息:\n" .
|
|
" - 姓名:{customer_name}\n" .
|
|
" - 手机号:{phone}\n" .
|
|
" - 车牌号:{car_number}\n" .
|
|
" - 车型:{car_model}\n" .
|
|
" - 会员类型:{member_type}\n" .
|
|
"\n" .
|
|
"🔹 预约详情:\n" .
|
|
" - 预约时间:{date} {time_range}\n" .
|
|
" - 服务项目:{package_name}\n" .
|
|
" - 自定义服务:{custom_services}\n" .
|
|
" - 服务时长:{duration}分钟\n" .
|
|
" - 总价:¥{total_price}\n" .
|
|
" - 支付状态:{payment_status}\n" .
|
|
"\n" .
|
|
"🔹 备注信息:\n" .
|
|
" {notes}\n" .
|
|
"\n" .
|
|
"🔹 温馨提示:\n" .
|
|
" 1. 请提前10分钟到达洗车地点\n" .
|
|
" 2. 如需改期或取消,请至少提前2小时联系我们\n" .
|
|
" 3. 联系电话:138-0013-8000\n" .
|
|
"\n" .
|
|
"感谢您选择张老师撸车工作室!\n" .
|
|
"祝您用车愉快!🚗✨"
|
|
],
|
|
// 简洁模板
|
|
'simple' => [
|
|
'title' => '预约确认',
|
|
'message' => "{customer_name},您的洗车预约已确认:\n" .
|
|
"时间:{start_time}\n" .
|
|
"项目:{package_name}\n" .
|
|
"总价:{total_price}元\n" .
|
|
"如需调整请联系我们。"
|
|
]
|
|
];
|
|
|
|
/**
|
|
* 生成预约信息
|
|
* @param array $booking_data 预约数据数组
|
|
* @param string $template_name 使用的模板名称
|
|
* @return string 生成的预约信息
|
|
*/
|
|
function generateBookingMessage($booking_data, $template_name = 'basic') {
|
|
global $booking_templates;
|
|
|
|
// 检查模板是否存在
|
|
if (!isset($booking_templates[$template_name])) {
|
|
$template_name = 'basic'; // 默认使用基本模板
|
|
}
|
|
|
|
$template = $booking_templates[$template_name]['message'];
|
|
|
|
// 定义替换字段
|
|
$replacements = [
|
|
'{customer_name}' => $booking_data['customer_name'] ?? '未知客户',
|
|
'{phone}' => $booking_data['phone'] ?? '未提供',
|
|
'{car_model}' => $booking_data['car_model'] ?? '未提供',
|
|
'{car_number}' => $booking_data['car_number'] ?? '未提供',
|
|
'{member_type}' => $booking_data['member_type'] ?? '普通客户',
|
|
'{package_name}' => $booking_data['package_name'] ?? '未选择套餐',
|
|
'{custom_services}' => $booking_data['custom_services'] ?? '无',
|
|
'{start_time}' => $booking_data['start_time'] ?? '未设置',
|
|
'{end_time}' => $booking_data['end_time'] ?? '未设置',
|
|
'{date}' => $booking_data['date'] ?? (isset($booking_data['start_time']) ? date('Y年m月d日', strtotime($booking_data['start_time'])) : '未设置'),
|
|
'{time_range}' => $booking_data['time_range'] ?? (isset($booking_data['start_time'], $booking_data['end_time']) ? date('H:i', strtotime($booking_data['start_time'])) . ' - ' . date('H:i', strtotime($booking_data['end_time'])) : '未设置'),
|
|
'{duration}' => $booking_data['duration'] ?? '未设置',
|
|
'{total_price}' => $booking_data['total_price'] ?? '0.00',
|
|
'{notes}' => $booking_data['notes'] ?? '无',
|
|
'{status}' => $booking_data['status'] ?? '未确认',
|
|
'{payment_status}' => $booking_data['payment_status'] ?? '未支付',
|
|
'{source}' => $booking_data['source'] ?? '未知',
|
|
'{created_at}' => $booking_data['created_at'] ?? date('Y-m-d H:i:s')
|
|
];
|
|
|
|
// 替换模板中的占位符
|
|
$message = str_replace(array_keys($replacements), array_values($replacements), $template);
|
|
|
|
return $message;
|
|
}
|
|
|
|
/**
|
|
* 获取指定模板的标题
|
|
* @param string $template_name 模板名称
|
|
* @return string 模板标题
|
|
*/
|
|
function getTemplateTitle($template_name = 'basic') {
|
|
global $booking_templates;
|
|
|
|
if (isset($booking_templates[$template_name])) {
|
|
return $booking_templates[$template_name]['title'];
|
|
}
|
|
|
|
return $booking_templates['basic']['title'];
|
|
}
|
|
|
|
/**
|
|
* 获取所有可用的模板名称
|
|
* @return array 模板名称数组
|
|
*/
|
|
function getAvailableTemplates() {
|
|
global $booking_templates;
|
|
return array_keys($booking_templates);
|
|
}
|
|
|
|
/**
|
|
* 示例用法:
|
|
* 1. 包含此文件:require_once 'booking_template.php';
|
|
* 2. 准备预约数据:
|
|
* $booking_data = [
|
|
* 'customer_name' => '张三',
|
|
* 'phone' => '138-0013-8000',
|
|
* 'car_model' => '特斯拉 Model 3',
|
|
* 'car_number' => '京A12345',
|
|
* 'member_type' => 'VIP会员',
|
|
* 'package_name' => '精致洗车套餐',
|
|
* 'start_time' => '2023-10-01 10:00:00',
|
|
* 'end_time' => '2023-10-01 11:00:00',
|
|
* 'duration' => 60,
|
|
* 'total_price' => '128.00',
|
|
* 'notes' => '车顶上有行李架,请小心清洗',
|
|
* 'status' => '已确认',
|
|
* 'payment_status' => '已付款',
|
|
* 'source' => '微信'
|
|
* ];
|
|
* 3. 生成预约信息:
|
|
* $message = generateBookingMessage($booking_data, 'detailed');
|
|
* 4. 输出或使用生成的信息:
|
|
* echo $message;
|
|
*/
|
|
?>
|