合并SQL文件并移除webhook中的建表代码
This commit is contained in:
+114
@@ -0,0 +1,114 @@
|
|||||||
|
-- carwash_db.sql - 数据库创建脚本
|
||||||
|
CREATE DATABASE IF NOT EXISTS carwash_booking;
|
||||||
|
USE carwash_booking;
|
||||||
|
|
||||||
|
-- 创建VIP客户表
|
||||||
|
CREATE TABLE IF NOT EXISTS 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
|
||||||
|
);
|
||||||
|
|
||||||
|
-- 更新VIP客户表的索引结构
|
||||||
|
-- 1. 移除phone字段的UNIQUE约束(如果存在)
|
||||||
|
ALTER TABLE vip_customers DROP INDEX IF EXISTS phone;
|
||||||
|
|
||||||
|
-- 2. 添加phone和car_number的复合唯一索引
|
||||||
|
ALTER TABLE vip_customers ADD UNIQUE INDEX idx_phone_car_number (phone, car_number);
|
||||||
|
|
||||||
|
-- 3. 验证索引添加成功
|
||||||
|
SHOW INDEX FROM vip_customers;
|
||||||
|
|
||||||
|
-- 创建套餐表
|
||||||
|
CREATE TABLE IF NOT EXISTS 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
|
||||||
|
);
|
||||||
|
|
||||||
|
-- 修改预约表支持时间段、会员类型和来源
|
||||||
|
DROP TABLE IF EXISTS bookings;
|
||||||
|
CREATE TABLE IF NOT EXISTS 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
|
||||||
|
);
|
||||||
|
|
||||||
|
-- 创建WPS表单数据表
|
||||||
|
CREATE TABLE IF NOT EXISTS wps_form_submissions (
|
||||||
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||||
|
rid VARCHAR(50) NOT NULL COMMENT '表单提交ID',
|
||||||
|
form_id VARCHAR(50) NOT NULL COMMENT '表单ID',
|
||||||
|
form_title VARCHAR(255) NOT NULL COMMENT '表单标题',
|
||||||
|
creator_id VARCHAR(50) NOT NULL COMMENT '创建者ID',
|
||||||
|
create_time DATETIME NOT NULL COMMENT '创建时间',
|
||||||
|
update_time DATETIME NOT NULL COMMENT '更新时间',
|
||||||
|
mobile VARCHAR(20) COMMENT '请输入手机号',
|
||||||
|
name VARCHAR(255) COMMENT '怎么称呼您',
|
||||||
|
license_plate VARCHAR(20) COMMENT '车牌号',
|
||||||
|
date DATE COMMENT '日期',
|
||||||
|
time_slot VARCHAR(20) COMMENT '时间段',
|
||||||
|
car_type VARCHAR(50) COMMENT '车型',
|
||||||
|
has_car_coat VARCHAR(10) COMMENT '是否有车衣',
|
||||||
|
car_wash_habit VARCHAR(10) COMMENT '有无自己撸车习惯',
|
||||||
|
car_wash_experience VARCHAR(50) COMMENT '撸车经验',
|
||||||
|
wash_frequency VARCHAR(50) COMMENT '洗车频率',
|
||||||
|
age_group VARCHAR(20) COMMENT '请选择年龄段',
|
||||||
|
remarks TEXT COMMENT '备注内容',
|
||||||
|
auto_number VARCHAR(50) COMMENT '自动编号',
|
||||||
|
status VARCHAR(20) DEFAULT 'pending' COMMENT '状态',
|
||||||
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
|
||||||
|
updated_at DATETIME NOT NULL COMMENT '记录更新时间',
|
||||||
|
INDEX idx_rid (rid),
|
||||||
|
INDEX idx_license_plate (license_plate),
|
||||||
|
INDEX idx_date (date),
|
||||||
|
INDEX idx_mobile (mobile)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- 插入示例套餐数据
|
||||||
|
INSERT INTO packages (package_name, description, base_duration, price, services) VALUES
|
||||||
|
('基础洗车', '基础外观清洗', 30, 50.00, '外观冲洗,泡沫清洁,内饰吸尘'),
|
||||||
|
('精洗套餐', '全面深度清洗', 90, 150.00, '外观精洗,内饰深度清洁,轮胎清洁,打蜡'),
|
||||||
|
('VIP套餐', '顶级豪华洗护', 180, 300.00, '全套精洗,抛光打蜡,内饰护理,发动机清洁,真皮护理');
|
||||||
|
|
||||||
|
-- 插入示例预约数据(包含会员类型和来源)
|
||||||
|
INSERT INTO bookings (customer_name, phone, car_model, car_number, package_id, start_time, end_time, duration, total_price, notes, member_type, source) VALUES
|
||||||
|
('张三', '13800138001', '大众朗逸', '京A12345', 1, '2024-12-20 09:00:00', '2024-12-20 09:30:00', 30, 50.00, '第一次来', '普通客户', '抖音'),
|
||||||
|
('李四', '13800138002', '丰田凯美瑞', '京B67890', 2, '2024-12-20 10:30:00', '2024-12-20 12:00:00', 90, 150.00, '需要特别清洗内饰', 'VIP会员', '朋友介绍'),
|
||||||
|
('王五', '13800138003', '宝马X3', '沪C88888', 3, '2024-12-21 14:00:00', '2024-12-21 17:00:00', 180, 300.00, 'VIP客户,定期保养', 'VIP会员', '微信'),
|
||||||
|
('赵六', '13800138004', '本田雅阁', '粤A66666', 1, '2024-12-21 09:30:00', '2024-12-21 10:00:00', 30, 50.00, '快手看到广告来的', '普通客户', '快手');
|
||||||
|
|
||||||
|
-- 插入示例VIP客户数据
|
||||||
|
INSERT INTO vip_customers (customer_name, phone, car_model, car_number, email, birthday, notes) VALUES
|
||||||
|
('张总', '13900139001', '奔驰S500', '京V88888', 'zhang@example.com', '1980-05-15', '长期VIP客户,商务人士'),
|
||||||
|
('王女士', '13900139002', '奥迪A6L', '京A66666', 'wang@example.com', '1985-03-20', '女企业家,每月定期保养'),
|
||||||
|
('李先生', '13900139003', 'BMW X5', '沪B99999', 'li@example.com', '1978-11-10', '房地产公司老板,对服务要求较高');
|
||||||
+1
-63
@@ -248,9 +248,6 @@ function store_form_data_to_db($form_data) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 创建表(如果不存在)
|
|
||||||
create_wps_form_table($pdo);
|
|
||||||
|
|
||||||
// 准备SQL语句(只包含实际WPS表单存在的字段)
|
// 准备SQL语句(只包含实际WPS表单存在的字段)
|
||||||
$sql = "INSERT INTO wps_form_submissions (
|
$sql = "INSERT INTO wps_form_submissions (
|
||||||
rid, form_id, form_title, creator_id, create_time, update_time,
|
rid, form_id, form_title, creator_id, create_time, update_time,
|
||||||
@@ -313,64 +310,5 @@ function store_form_data_to_db($form_data) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 创建WPS表单数据表(只包含实际需要的字段)
|
|
||||||
function create_wps_form_table($pdo) {
|
|
||||||
try {
|
|
||||||
// 先检查表是否存在
|
|
||||||
$check_sql = "SHOW TABLES LIKE 'wps_form_submissions'";
|
|
||||||
$result = $pdo->query($check_sql);
|
|
||||||
if ($result->rowCount() > 0) {
|
|
||||||
log_message("表wps_form_submissions已存在");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
$sql = "CREATE TABLE IF NOT EXISTS wps_form_submissions (
|
|
||||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
||||||
rid VARCHAR(50) NOT NULL COMMENT '表单提交ID',
|
|
||||||
form_id VARCHAR(50) NOT NULL COMMENT '表单ID',
|
|
||||||
form_title VARCHAR(255) NOT NULL COMMENT '表单标题',
|
|
||||||
creator_id VARCHAR(50) NOT NULL COMMENT '创建者ID',
|
|
||||||
create_time DATETIME NOT NULL COMMENT '创建时间',
|
|
||||||
update_time DATETIME NOT NULL COMMENT '更新时间',
|
|
||||||
mobile VARCHAR(20) COMMENT '请输入手机号',
|
|
||||||
name VARCHAR(255) COMMENT '怎么称呼您',
|
|
||||||
license_plate VARCHAR(20) COMMENT '车牌号',
|
|
||||||
date DATE COMMENT '日期',
|
|
||||||
time_slot VARCHAR(20) COMMENT '时间段',
|
|
||||||
car_type VARCHAR(50) COMMENT '车型',
|
|
||||||
has_car_coat VARCHAR(10) COMMENT '是否有车衣',
|
|
||||||
car_wash_habit VARCHAR(10) COMMENT '有无自己撸车习惯',
|
|
||||||
car_wash_experience VARCHAR(50) COMMENT '撸车经验',
|
|
||||||
wash_frequency VARCHAR(50) COMMENT '洗车频率',
|
|
||||||
age_group VARCHAR(20) COMMENT '请选择年龄段',
|
|
||||||
remarks TEXT COMMENT '备注内容',
|
|
||||||
auto_number VARCHAR(50) COMMENT '自动编号',
|
|
||||||
status VARCHAR(20) DEFAULT 'pending' COMMENT '状态',
|
|
||||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
|
|
||||||
updated_at DATETIME NOT NULL COMMENT '记录更新时间',
|
|
||||||
INDEX idx_rid (rid),
|
|
||||||
INDEX idx_license_plate (license_plate),
|
|
||||||
INDEX idx_date (date),
|
|
||||||
INDEX idx_mobile (mobile)
|
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";
|
|
||||||
|
|
||||||
log_message("开始执行创建表SQL: " . substr($sql, 0, 200) . "...");
|
|
||||||
$pdo->exec($sql);
|
|
||||||
log_message("表wps_form_submissions创建成功");
|
|
||||||
|
|
||||||
// 再次检查表是否真的存在
|
|
||||||
$result = $pdo->query($check_sql);
|
|
||||||
if ($result->rowCount() > 0) {
|
|
||||||
log_message("表wps_form_submissions确实存在");
|
|
||||||
} else {
|
|
||||||
log_message("表wps_form_submissions创建后仍不存在", 'error');
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
} catch (Exception $e) {
|
|
||||||
log_message("创建表失败: " . $e->getMessage(), 'error');
|
|
||||||
log_message("错误代码: " . $e->getCode(), 'error');
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
?>
|
||||||
Reference in New Issue
Block a user