/*
 * 复诊记录表
 * 遵循项目数据库表设计规范：
 * 1. 使用't_'前缀命名
 * 2. 主键为BIGINT类型
 * 3. 包含create_user、create_time、update_user、update_time、version、remark等标准审计字段
 * 4. 字符集为utf8mb4，排序规则为utf8mb4_unicode_ci，引擎为InnoDB
 * 5. create_time字段应设置DEFAULT CURRENT_TIMESTAMP
 * 6. update_time字段应设置DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
 */

CREATE TABLE `t_follow_up` (
  `id` bigint(20) NOT NULL COMMENT '主键ID',
  `patient_user_id` bigint(20) NOT NULL COMMENT '患者用户ID',
  `doctor_user_id` bigint(20) NOT NULL COMMENT '医生用户ID',
  `appointment_time` datetime NOT NULL COMMENT '预约时间',
  `actual_time` datetime DEFAULT NULL COMMENT '医生主动确认已完成的时间记录',
  `status` varchar(20) NOT NULL COMMENT '复诊状态 (PENDING-待确认, CONFIRMED-已确认, CANCELLED-已取消, COMPLETED-已完成)',
  `reason` text COMMENT '复诊原因',
  `notes` text COMMENT '备注',
  `version` int(11) DEFAULT '0' COMMENT '版本号（乐观锁）',
  `create_user` bigint(20) DEFAULT NULL COMMENT '创建者ID',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_user` bigint(20) DEFAULT NULL COMMENT '更新者ID',
  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `remark` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`id`),
  KEY `idx_patient_user_id` (`patient_user_id`),
  KEY `idx_doctor_user_id` (`doctor_user_id`),
  KEY `idx_appointment_time` (`appointment_time`),
  KEY `idx_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='复诊记录表';