CREATE TABLE `fire_alarm_meeting_room` (
  `id` bigint NOT NULL COMMENT '主键',
  `fire_alarm_meeting_room_id` varchar(64) NOT NULL COMMENT '业务主键',
  `room_code` varchar(64) NOT NULL COMMENT '房间编码，固定如DEFAULT_DUTY_ROOM',
  `room_name` varchar(128) NOT NULL COMMENT '房间名称',
  `third_room_id` varchar(64) DEFAULT NULL COMMENT '三方会议室ID',
  `third_room_no` varchar(64) DEFAULT NULL COMMENT '三方会议室号',
  `room_password_cipher` varchar(256) DEFAULT NULL COMMENT '会议室密码密文或配置标识',
  `room_status` int DEFAULT NULL COMMENT '房间状态，1:正常，2:作废，3:禁用',
  `last_check_time` datetime DEFAULT NULL COMMENT '最近校验时间',
  `last_check_status` int DEFAULT NULL COMMENT '最近校验状态，0:校验中，1:成功，2:失败',
  `last_check_msg` varchar(500) DEFAULT NULL COMMENT '最近校验结果',
  `last_rebuild_time` datetime DEFAULT NULL COMMENT '最近重建时间',
  `last_rebuild_status` int DEFAULT NULL COMMENT '最近重建状态，0:重建中，1:成功，2:失败',
  `last_rebuild_msg` varchar(500) DEFAULT NULL COMMENT '最近重建结果',
  `rebuild_count` int DEFAULT '0' COMMENT '重建次数',
  `version` int DEFAULT '0' COMMENT '版本号',
  `create_id` bigint DEFAULT NULL COMMENT '创建人ID',
  `create_name` varchar(64) DEFAULT NULL COMMENT '创建人名称',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_id` bigint DEFAULT NULL COMMENT '更新人ID',
  `update_name` varchar(64) DEFAULT NULL COMMENT '更新人名称',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `remarks` varchar(500) DEFAULT NULL COMMENT '备注',
  `delete_enum` varchar(8) NOT NULL DEFAULT 'FALSE' COMMENT '逻辑删除',
  `tenant_id` bigint NOT NULL COMMENT '租户ID',
  `org_id` bigint DEFAULT NULL COMMENT '组织ID',
  `env` varchar(32) DEFAULT NULL COMMENT '环境',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_meeting_room_code` (`tenant_id`,`room_code`,`delete_enum`),
  UNIQUE KEY `uk_meeting_room_third_room` (`tenant_id`,`third_room_id`,`delete_enum`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='消防报警固定会议室配置表';

CREATE TABLE `fire_alarm_meeting_user` (
  `id` bigint NOT NULL COMMENT '主键',
  `fire_alarm_meeting_user_id` varchar(64) NOT NULL COMMENT '业务主键',
  `local_user_id` bigint NOT NULL COMMENT '本地用户ID',
  `local_user_name` varchar(64) NOT NULL COMMENT '本地用户名称',
  `local_phone` varchar(32) DEFAULT NULL COMMENT '本地手机号',
  `user_type` int NOT NULL COMMENT '用户类型，1:消防队用户，2:APP用户',
  `fire_brigade_id` varchar(64) DEFAULT NULL COMMENT '消防队业务ID',
  `fire_brigade_name` varchar(128) DEFAULT NULL COMMENT '消防队名称',
  `third_user_id` varchar(64) DEFAULT NULL COMMENT '三方用户ID',
  `third_user_name` varchar(64) DEFAULT NULL COMMENT '三方登录账号',
  `third_nick_name` varchar(128) DEFAULT NULL COMMENT '三方显示名称',
  `third_depart_id` varchar(64) DEFAULT NULL COMMENT '三方部门ID',
  `third_depart_name` varchar(128) DEFAULT NULL COMMENT '三方部门名称',
  `auth_room_id` varchar(64) DEFAULT NULL COMMENT '最近授权会议室ID',
  `auth_room_name` varchar(128) DEFAULT NULL COMMENT '最近授权会议室名称',
  `auth_status` int DEFAULT NULL COMMENT '授权状态，0:进行中，1:成功，2:失败',
  `auth_time` datetime DEFAULT NULL COMMENT '最近授权时间',
  `sync_status` int DEFAULT NULL COMMENT '同步状态，0:进行中，1:成功，2:失败',
  `sync_msg` varchar(500) DEFAULT NULL COMMENT '同步结果',
  `last_sync_time` datetime DEFAULT NULL COMMENT '最近同步时间',
  `version` int DEFAULT '0' COMMENT '版本号',
  `create_id` bigint DEFAULT NULL COMMENT '创建人ID',
  `create_name` varchar(64) DEFAULT NULL COMMENT '创建人名称',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_id` bigint DEFAULT NULL COMMENT '更新人ID',
  `update_name` varchar(64) DEFAULT NULL COMMENT '更新人名称',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `remarks` varchar(500) DEFAULT NULL COMMENT '备注',
  `delete_enum` varchar(8) NOT NULL DEFAULT 'FALSE' COMMENT '逻辑删除',
  `tenant_id` bigint NOT NULL COMMENT '租户ID',
  `org_id` bigint DEFAULT NULL COMMENT '组织ID',
  `env` varchar(32) DEFAULT NULL COMMENT '环境',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_fire_alarm_meeting_user_id` (`fire_alarm_meeting_user_id`),
  UNIQUE KEY `uk_fire_alarm_meeting_user_local` (`tenant_id`,`local_user_id`,`delete_enum`),
  UNIQUE KEY `uk_fire_alarm_meeting_user_third` (`tenant_id`,`third_user_id`,`delete_enum`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='消防报警三方会议用户映射表';

CREATE TABLE `fire_alarm_info` (
  `id` bigint NOT NULL COMMENT '主键',
  `fire_alarm_info_id` varchar(32) DEFAULT NULL COMMENT '业务主键ID',
  `alarm_mode` int DEFAULT NULL COMMENT '接报方式，1:电话接报，2:APP',
  `alarm_user_id` bigint DEFAULT NULL COMMENT '报警人用户ID，APP报警时可用',
  `alarm_user_name` varchar(64) DEFAULT NULL COMMENT '报警人',
  `alarm_phone` varchar(32) DEFAULT NULL COMMENT '报警人电话',
  `corpinfo_id` bigint DEFAULT NULL COMMENT '所属单位ID',
  `corpinfo_name` varchar(128) DEFAULT NULL COMMENT '所属单位名称',
  `fire_location` varchar(255) DEFAULT NULL COMMENT '火警位置',
  `location_address` varchar(255) DEFAULT NULL COMMENT '定位地址',
  `longitude` decimal(10,6) DEFAULT NULL COMMENT '经度',
  `latitude` decimal(10,6) DEFAULT NULL COMMENT '纬度',
  `fire_brigade_id` varchar(32) DEFAULT NULL COMMENT '处置队伍业务主键ID',
  `fire_brigade_name` varchar(128) DEFAULT NULL COMMENT '处置队伍名称',
  `alarm_status` int DEFAULT NULL COMMENT '报警状态，1:报警中，2:处置中，3:已消警',
  `record_time` datetime DEFAULT NULL COMMENT '记录时间',
  `handle_user_id` bigint DEFAULT NULL COMMENT '处置人ID',
  `handle_user_name` varchar(64) DEFAULT NULL COMMENT '处置人姓名',
  `handle_time` datetime DEFAULT NULL COMMENT '处置时间',
  `clear_time` datetime DEFAULT NULL COMMENT '消警时间',
  `clear_id` bigint DEFAULT NULL COMMENT '消警人ID',
  `clear_name` varchar(64) DEFAULT NULL COMMENT '消警人姓名',
  `clear_reason` varchar(1000) DEFAULT NULL COMMENT '消警说明',
  `clear_photos` varchar(2000) DEFAULT NULL COMMENT '消警现场照片路径，JSON数组',
  `meeting_room_id` varchar(64) DEFAULT NULL COMMENT '会议室ID',
  `meeting_room_name` varchar(128) DEFAULT NULL COMMENT '会议室名称',
  `meeting_apply_user_id` bigint DEFAULT NULL COMMENT '申请入会本地用户ID',
  `meeting_apply_user_name` varchar(64) DEFAULT NULL COMMENT '申请入会本地用户名称',
  `meeting_apply_third_user_id` varchar(64) DEFAULT NULL COMMENT '申请入会三方用户ID',
  `meeting_apply_third_user_name` varchar(64) DEFAULT NULL COMMENT '申请入会三方账号',
  `meeting_notice_status` varchar(32) DEFAULT NULL COMMENT '会议提醒状态，INIT或SUCCESS或FAIL',
  `meeting_notice_time` datetime DEFAULT NULL COMMENT '会议提醒时间',
  `meeting_auth_status` int DEFAULT NULL COMMENT '会议授权状态，0:进行中，1:成功，2:失败',
  `meeting_approve_status` int DEFAULT NULL COMMENT '审批状态，0:审批中，1:同意，2:拒绝，3:超时',
  `meeting_approve_id` bigint DEFAULT NULL COMMENT '审批人ID',
  `meeting_approve_name` varchar(64) DEFAULT NULL COMMENT '审批人名称',
  `meeting_approve_time` datetime DEFAULT NULL COMMENT '审批时间',
  `meeting_join_status` int DEFAULT NULL COMMENT '入会状态，0:等待，1:进入，2:离开',
  `meeting_join_time` datetime DEFAULT NULL COMMENT '入会时间',
  `meeting_leave_time` datetime DEFAULT NULL COMMENT '离会时间',
  `meeting_result_msg` varchar(500) DEFAULT NULL COMMENT '会议处理结果',
  `version` int DEFAULT NULL COMMENT '乐观锁',
  `create_id` bigint DEFAULT NULL COMMENT '创建人ID',
  `create_name` varchar(64) DEFAULT NULL COMMENT '创建人姓名',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_id` bigint DEFAULT NULL COMMENT '更新人ID',
  `update_name` varchar(64) DEFAULT NULL COMMENT '更新人名称',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `remarks` varchar(512) DEFAULT NULL COMMENT '描述',
  `delete_enum` varchar(64) DEFAULT NULL COMMENT '是否删除',
  `tenant_id` bigint DEFAULT NULL COMMENT '租户ID',
  `org_id` bigint DEFAULT NULL COMMENT '机构ID',
  `env` varchar(32) DEFAULT NULL COMMENT '环境',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `uk_fire_alarm_id` (`fire_alarm_info_id`) USING BTREE,
  KEY `idx_corpinfo_id` (`corpinfo_id`) USING BTREE,
  KEY `idx_brigade_status_time` (`fire_brigade_name`,`alarm_status`,`record_time`) USING BTREE,
  KEY `idx_fire_alarm_meeting_room` (`tenant_id`,`meeting_room_id`,`delete_enum`),
  KEY `idx_fire_alarm_meeting_apply` (`tenant_id`,`meeting_apply_user_id`,`delete_enum`),
  KEY `idx_fire_alarm_meeting_status` (`tenant_id`,`meeting_approve_status`,`meeting_join_status`,`delete_enum`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='消防报警信息表';

CREATE TABLE `fire_brigade` (
  `id` bigint NOT NULL COMMENT '主键',
  `fire_brigade_id` varchar(32) DEFAULT NULL COMMENT '业务主键ID',
  `brigade_name` varchar(128) DEFAULT NULL COMMENT '消防队伍名称',
  `leader_user_id` bigint DEFAULT NULL COMMENT '负责人用户ID',
  `leader_name` varchar(64) DEFAULT NULL COMMENT '负责人姓名',
  `leader_phone` varchar(32) DEFAULT NULL COMMENT '负责人电话',
  `leader_dept_name` varchar(128) DEFAULT NULL COMMENT '负责人部门名称',
  `org_name` varchar(128) DEFAULT NULL COMMENT '所属机构',
  `address` varchar(255) DEFAULT NULL COMMENT '地址',
  `duty_phone` varchar(32) DEFAULT NULL COMMENT '应急值班电话',
  `establish_date` date DEFAULT NULL COMMENT '成立日期',
  `vehicle_count` int DEFAULT NULL COMMENT '车辆数',
  `brigade_info` varchar(1000) DEFAULT NULL COMMENT '队伍信息',
  `third_depart_id` varchar(64) DEFAULT NULL COMMENT '三方部门ID',
  `third_depart_name` varchar(128) DEFAULT NULL COMMENT '三方部门名称',
  `third_parent_depart_id` varchar(64) DEFAULT NULL COMMENT '三方父部门ID',
  `third_sync_status` int DEFAULT NULL COMMENT '三方同步状态，0:进行中，1:成功，2:失败',
  `third_sync_msg` varchar(500) DEFAULT NULL COMMENT '三方同步结果',
  `third_sync_time` datetime DEFAULT NULL COMMENT '最近同步时间',
  `version` int DEFAULT NULL COMMENT '乐观锁',
  `create_id` bigint DEFAULT NULL COMMENT '创建人ID',
  `create_name` varchar(64) DEFAULT NULL COMMENT '创建人姓名',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_id` bigint DEFAULT NULL COMMENT '更新人ID',
  `update_name` varchar(64) DEFAULT NULL COMMENT '更新人名称',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `remarks` varchar(512) DEFAULT NULL COMMENT '描述',
  `delete_enum` varchar(64) DEFAULT NULL COMMENT '是否删除',
  `tenant_id` bigint DEFAULT NULL COMMENT '租户ID',
  `org_id` bigint DEFAULT NULL COMMENT '机构ID',
  `env` varchar(32) DEFAULT NULL COMMENT '环境',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `uk_fire_brigade_id` (`fire_brigade_id`) USING BTREE,
  KEY `idx_brigade_name` (`brigade_name`) USING BTREE,
  KEY `idx_leader_user_id` (`leader_user_id`) USING BTREE,
  UNIQUE KEY `uk_fire_brigade_third_depart` (`tenant_id`,`third_depart_id`,`delete_enum`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='消防队伍表';

CREATE TABLE `fire_brigade_user` (
  `id` bigint NOT NULL COMMENT '主键',
  `fire_brigade_user_id` varchar(32) DEFAULT NULL COMMENT '业务主键ID',
  `fire_brigade_id` varchar(32) DEFAULT NULL COMMENT '消防队伍业务ID',
  `user_id` bigint DEFAULT NULL COMMENT '用户ID',
  `user_name` varchar(64) DEFAULT NULL COMMENT '用户名称',
  `gender` varchar(16) DEFAULT NULL COMMENT '性别',
  `id_no` varchar(64) DEFAULT NULL COMMENT '身份证号',
  `phone` varchar(32) DEFAULT NULL COMMENT '手机号',
  `duty_id` varchar(64) DEFAULT NULL COMMENT '职务ID',
  `duty_name` varchar(128) DEFAULT NULL COMMENT '职务名称',
  `corp_id` varchar(64) DEFAULT NULL COMMENT '机构ID',
  `org_name` varchar(128) DEFAULT NULL COMMENT '机构名称',
  `version` int DEFAULT NULL COMMENT '乐观锁',
  `create_id` bigint DEFAULT NULL COMMENT '创建人ID',
  `create_name` varchar(64) DEFAULT NULL COMMENT '创建人姓名',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_id` bigint DEFAULT NULL COMMENT '更新人ID',
  `update_name` varchar(64) DEFAULT NULL COMMENT '更新人名称',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `remarks` varchar(512) DEFAULT NULL COMMENT '描述',
  `delete_enum` varchar(64) DEFAULT NULL COMMENT '是否删除',
  `tenant_id` bigint DEFAULT NULL COMMENT '租户ID',
  `org_id` bigint DEFAULT NULL COMMENT '机构ID',
  `env` varchar(32) DEFAULT NULL COMMENT '环境',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `uk_fire_brigade_user_id` (`fire_brigade_user_id`) USING BTREE,
  UNIQUE KEY `uk_fire_brigade_user_rel` (`fire_brigade_id`,`user_id`,`delete_enum`) USING BTREE,
  KEY `idx_fire_brigade_id` (`fire_brigade_id`) USING BTREE,
  KEY `idx_user_id` (`user_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='消防队伍人员表';
