Files
pj_service_cloud/pjcloud-canteen/sql/table_booking_system_modified.sql
T
2025-08-13 15:42:37 +08:00

65 lines
3.3 KiB
SQL

-- 餐桌预定系统数据库建表脚本(基于现有包厢表结构修改)
-- 1. 修改现有包厢信息表,添加餐桌相关字段
ALTER TABLE `boxes_info`
ADD COLUMN `table_number` varchar(50) DEFAULT NULL COMMENT '餐桌编号' AFTER `name`,
ADD COLUMN `table_type` int DEFAULT NULL COMMENT '餐桌类型 1-小桌(2-4人) 2-中桌(4-6人) 3-大桌(6-8人) 4-包间(8人以上)' AFTER `status`,
ADD UNIQUE KEY `uk_table_number` (`table_number`);
-- 2. 修改现有包厢可用时间段表,添加餐次类型字段
ALTER TABLE `boxes_availability`
ADD COLUMN `meal_type` int DEFAULT NULL COMMENT '餐次类型 1-早餐 2-中餐 3-晚餐' AFTER `bx_date`,
ADD COLUMN `meal_name` varchar(50) DEFAULT NULL COMMENT '餐次名称' AFTER `meal_type`,
ADD KEY `idx_meal_type` (`meal_type`);
-- 3. 修改现有包厢预约记录表,添加餐次类型和预约人数字段
ALTER TABLE `boxes_booking`
ADD COLUMN `meal_type` int DEFAULT NULL COMMENT '餐次类型 1-早餐 2-中餐 3-晚餐' AFTER `status`,
ADD COLUMN `people_count` int DEFAULT NULL COMMENT '预约人数' AFTER `meal_type`,
ADD COLUMN `remark` varchar(500) DEFAULT NULL COMMENT '备注信息' AFTER `people_count`,
ADD KEY `idx_meal_type` (`meal_type`);
-- 4. 创建时间段配置表(新增)
CREATE TABLE `time_slot_config` (
`id` bigint NOT NULL COMMENT '主键id',
`meal_type` int NOT NULL COMMENT '餐次类型 1-早餐 2-中餐 3-晚餐',
`meal_name` varchar(50) NOT NULL COMMENT '餐次名称',
`start_time` time NOT NULL COMMENT '开始时间',
`end_time` time NOT NULL COMMENT '结束时间',
`time_slot_name` varchar(100) DEFAULT NULL COMMENT '时间段名称',
`is_enabled` int NOT NULL DEFAULT '1' COMMENT '是否启用 0-禁用 1-启用',
`sort` int DEFAULT '0' COMMENT '排序',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`dept_id` bigint DEFAULT NULL COMMENT '部门id',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`del_flag` char(1) DEFAULT '0' COMMENT '是否删除',
PRIMARY KEY (`id`),
KEY `idx_meal_type` (`meal_type`),
KEY `idx_is_enabled` (`is_enabled`)
) COMMENT='时间段配置表';
-- 插入默认时间段配置数据
INSERT INTO `time_slot_config` (`id`, `meal_type`, `meal_name`, `start_time`, `end_time`, `time_slot_name`, `is_enabled`, `sort`, `remark`, `create_time`) VALUES
(1, 1, '早餐', '07:00:00', '09:00:00', '早餐时段', 1, 1, '早餐时间段', NOW()),
(2, 2, '中餐', '11:30:00', '13:30:00', '中餐时段', 1, 2, '中餐时间段', NOW()),
(3, 3, '晚餐', '17:30:00', '19:30:00', '晚餐时段', 1, 3, '晚餐时间段', NOW());
-- 更新现有包厢信息为餐桌信息(示例)
UPDATE `boxes_info` SET
`name` = CONCAT('餐桌', `name`),
`table_number` = CONCAT('T', LPAD(id, 3, '0')),
`table_type` = CASE
WHEN `capacity` <= 4 THEN 1
WHEN `capacity` <= 6 THEN 2
WHEN `capacity` <= 8 THEN 3
ELSE 4
END
WHERE `table_number` IS NULL;
-- 更新表注释
ALTER TABLE `boxes_info` COMMENT = '餐桌信息表';
ALTER TABLE `boxes_availability` COMMENT = '餐桌可用时间段表';
ALTER TABLE `boxes_booking` COMMENT = '餐桌预约记录表';