DROP TABLE IF EXISTS `appointment_config`; CREATE TABLE `appointment_config` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', `enabled` tinyint(1) NOT NULL DEFAULT 0 COMMENT '预约总开关:0-关闭,1-开启', `total_monthly_limit` int(11) NULL DEFAULT NULL COMMENT '总名额-每月限制(如100)', `total_weekly_limit` int(11) NULL DEFAULT NULL COMMENT '总名额-每周限制(如50)', `total_daily_limit` int(11) NULL DEFAULT NULL COMMENT '总名额-每日限制(如10)', `person_monthly_limit` int(11) NULL DEFAULT NULL COMMENT '单人名额-每月限制(如100)', `person_weekly_limit` int(11) NULL DEFAULT NULL COMMENT '单人名额-每周限制(如50)', `person_daily_limit` int(11) NULL DEFAULT NULL COMMENT '单人名额-每日限制(如10)', `begin_book_days` int(11) NULL DEFAULT 0 COMMENT '开始预约日(0表示当天)', `advance_days` int(11) NULL DEFAULT 0 COMMENT '提前预约天数(0表示当天)', `open_time_slot` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '开放时间段(逗号分隔,如"08:00-12:00,14:00-18:00",为空表示不限制)', `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `creator` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', `updater` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新人', `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '机构id', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '预约配置表' ROW_FORMAT = Dynamic; DROP TABLE IF EXISTS `appointment_group`; CREATE TABLE `appointment_group` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', `date_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '日期类型:DAILY-每天, WEEKLY-每周, MONTHLY-每月, CUSTOM-自定义', `week_days` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '当date_type=WEEKLY时,存储周几,用逗号分隔,如"1,3,5"(1=周一)', `month_days` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '当date_type=MONTHLY时,存储几号,如"1,15"(可包含负数表示倒数日)', `custom_dates` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '当date_type=CUSTOM时,存储具体日期数组,如["2026-07-15","2026-07-20"]', `limit_count` int(11) NULL DEFAULT NULL COMMENT '限制人数(null 表示不限制)', `begin_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '可预约开始时间(HH:mm),null 表示不限', `end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '可预约结束时间(HH:mm),null 表示不限', `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `creator` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', `updater` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新人', `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '机构id', `enable` tinyint(1) NOT NULL DEFAULT 1 COMMENT '使用状态:0-禁用,1-启用', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '预约组表' ROW_FORMAT = Dynamic;