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表示当天）',
  `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"]',
  `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;
