-- 村庄概况信息表
CREATE TABLE village_profile (
  id int  PRIMARY KEY AUTO_INCREMENT COMMENT 'ID',
  name varchar(100) NOT NULL COMMENT '村庄名称',
  region_id int(11) NOT NULL COMMENT '所属区域ID',
  introduction varchar(1024) COMMENT '村庄简介',
  images varchar(512) COMMENT '村庄图片',
  create_time      datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
  update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
  del_flag         char default '0' null comment '删除标志',
  KEY `idx_name` (`village_name`),
  KEY `idx_region_id` (`region_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='村庄概况信息表';


-- 人员信息表
CREATE TABLE person_info (
    id                  INT PRIMARY KEY AUTO_INCREMENT COMMENT 'ID',
    realname            VARCHAR(50) NOT NULL        COMMENT '姓名',
    id_card             CHAR(64) UNIQUE          COMMENT '身份证号',
    ethnic              VARCHAR(30)                 COMMENT '民族',
    age                 TINYINT                     COMMENT '年龄',
    gender              TINYINT NOT NULL            COMMENT '性别: 1-男, 2-女, 0-未知',
    birth_date          DATE                        COMMENT '出生日期',
    population_category TINYINT                     COMMENT '人口类别：0-本村户籍 ，1-非本村户籍',
    phone               VARCHAR(20)                 COMMENT '电话',
    population_tags     VARCHAR(1024)               COMMENT '人口标签(标签 json 列表)',
    occupation          VARCHAR(50)                 COMMENT '职业',
    grid                VARCHAR(30)                 COMMENT '所属网格',
    education_level     VARCHAR(20)                 COMMENT '文化程度',
    marital_status      TINYINT                     COMMENT '婚姻状况: 0-未婚, 1-已婚, 2-丧偶, 3-离婚',
    political_status    VARCHAR(20)                 COMMENT '政治面貌',
    religion            VARCHAR(30)                 COMMENT '宗教信仰',
    photo_url           VARCHAR(255)                COMMENT '照片URL',
    household_id        INT                         COMMENT '所属户籍ID',
    household_relation  VARCHAR(30)                 COMMENT '户籍关系',
    special_identity    VARCHAR(4)                COMMENT '特殊身份 0-无,1-特困人员,2-低保人员,3-高龄老人,4-空巢老人,5-留守儿童,6-残疾人',
    create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
    create_by           varchar(64)      null comment '创建人',
    update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    update_by           varchar(64)      null comment '修改人',
    del_flag            char default '0' null comment '删除标志',
    INDEX idx_realname (realname),
    INDEX idx_ethnic (ethnic),
    INDEX idx_id_card (id_card),
    INDEX idx_household (household_id),
    INDEX idx_special_identity (special_identity)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='人员信息表';

-- 户籍信息表
CREATE TABLE household_info (
    id                    INT PRIMARY KEY AUTO_INCREMENT    COMMENT '户籍ID',
    household_code        VARCHAR(50) UNIQUE  NOT NULL      COMMENT '户籍编号',
    household_head_id        int                      COMMENT '户主id',
    household_type          TINYINT     NOT NULL            COMMENT '户籍类型: 0-农业户口, 1-非农业户口',
    household_address       VARCHAR(200)                    COMMENT '户籍地址',
    belonging_area          VARCHAR(200)                    COMMENT '归属地区',
    house_code            VARCHAR(50)                       COMMENT '房屋编号',
  create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
     update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    del_flag            char default '0' null comment '删除标志',
    INDEX idx_household_number (household_code),
    INDEX idx_house_code (house_code)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='户籍信息表';

-- 房屋信息表
CREATE TABLE house_info (
    id          INT    PRIMARY KEY  AUTO_INCREMENT COMMENT '房屋ID',
    house_code     VARCHAR(20) UNIQUE NOT NULL COMMENT '房屋编号(如FW0000580689)',
    doorplate_number  VARCHAR(50)           COMMENT '门牌号',
    house_address     VARCHAR(200)          COMMENT '房屋详细地址',
    house_owner_id    INT                   COMMENT '房主人员ID',
    total_points      INT DEFAULT 0         COMMENT '总积分',
    remaining_points  INT DEFAULT 0         COMMENT '剩余积分',
    house_category    TINYINT               COMMENT '房屋类别:0-修缮,1-原址重建,2-集中安置',
    building_area     DECIMAL(10,2)         COMMENT '宅基地面积(㎡)',
    grid             INT                    COMMENT '所属网格',
    photo_url         VARCHAR(256)          COMMENT '照片URL',
    house_tags        VARCHAR(1024)         COMMENT '家庭标签(JSON数组)',
  create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
     update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    del_flag          char default '0' null comment '删除标志',
    -- 索引
    INDEX idx_house_code (house_code),
    INDEX idx_doorplate (doorplate_number),
    INDEX idx_owner (house_owner_id),
    INDEX idx_house_category (house_category),
    INDEX idx_address (house_address)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='房屋信息表';

-- 人员-房屋 关联表
CREATE TABLE person_house_relation (
    id INT PRIMARY KEY AUTO_INCREMENT COMMENT 'ID',
    person_id INT NOT NULL COMMENT '人员ID',
    house_id INT NOT NULL COMMENT '房屋ID',
    create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
       update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    del_flag          char default '0' null comment '删除标志',
    -- 联合唯一约束（防止重复关联）
    UNIQUE KEY uk_person_house (person_id, house_id)
) ENGINE=InnoDB COMMENT='人员房屋关系表';

-- 项目表
CREATE TABLE projects (
    id                  INT PRIMARY KEY AUTO_INCREMENT COMMENT '项目ID',
    project_name        VARCHAR(100) NOT NULL   COMMENT '项目名称',
    project_description VARCHAR(256)            COMMENT '项目内容',
    investment_amount   DECIMAL(15,2)           COMMENT '投资金额(元)',
    estimated_completion_date   DATE            COMMENT '预计建成日期',
    actual_completion_date      DATE            COMMENT '实际建成日期',
    progress                    TINYINT DEFAULT 0 COMMENT '项目进度(0-建设中 1-已建成)',
    create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
    update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    del_flag          char default '0' null comment '删除标志',
    INDEX idx_progress (progress),
    INDEX idx_name (project_name),
    INDEX idx_dates (start_date, estimated_completion_date)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='项目表';

-- 补贴（项目管理）
CREATE TABLE subsidy_projects (
    id  INT PRIMARY KEY AUTO_INCREMENT                  COMMENT '序号ID',
    project_name VARCHAR(100) NOT NULL                  COMMENT '项目名称',
    category VARCHAR(100) NOT NULL                  COMMENT '补贴类别',
    name            VARCHAR(50) NOT NULL            COMMENT '姓名',
    id_card        CHAR(64) UNIQUE                   COMMENT '身份证号',
    money DECIMAL(20,2)                        COMMENT '实发金额(元)',
    bank_card CHAR(64) NOT NULL                 COMMENT '银行账号SHA-256哈希（加密存储）',
    date DATE NOT NULL                          COMMENT '兑现时间',
    status VARCHAR(20)      NOT NULL                    COMMENT '状态',
  create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
     update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    del_flag        char default '0' null               comment '删除标志',
    INDEX idx_type (category),
    INDEX idx_name (name),
    INDEX idx_payment_date (date),
    INDEX idx_status (status),
    INDEX idx_type_status (category, status),
    INDEX idx_type_name_date (category, name, date)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='补贴项目管理表';


-- 设施数据管理
CREATE TABLE facility_management (
    id                  INT PRIMARY KEY AUTO_INCREMENT        COMMENT 'ID',
    facility_type       VARCHAR(4) NOT NULL                  COMMENT '设施类型',
    facility_name       VARCHAR(100) NOT NULL                 COMMENT '设施名称',
    location           VARCHAR(200)                           COMMENT '位置描述',
    extent             VARCHAR(20)                           COMMENT '长度(米)',
    breadth            VARCHAR(20)                           COMMENT '宽度(米)',
    car_num            INT                                    COMMENT '车道数量',
    surface            VARCHAR(50)                            COMMENT '路面类型',
    line_length        VARCHAR(20)                           COMMENT '线路长度',
    electric   varchar(1024)                          COMMENT '电气与安全参数',
    coverage_area      VARCHAR(50)                           COMMENT '覆盖范围',
    power              VARCHAR(50)                            COMMENT '发射功率',
    operator           VARCHAR(50)                           COMMENT '运营商',
    area               VARCHAR(20)                          COMMENT '占地面积',
    year                 date null                           comment '建成年份';
    class_num          INT                                    COMMENT '班级数量',
    teacher_num        INT                                    COMMENT '教师人数',
    student_num        INT                                    COMMENT '学生人数',
    phone              VARCHAR(20)                            COMMENT '联系电话',
  create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
     update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    del_flag        char default '0' null               comment '删除标志',
    INDEX idx_facility_type (facility_type),
    INDEX idx_facility_name (facility_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='设施数据管理表';


-- 当地政策数据表
CREATE TABLE local_policy (
    id              INT PRIMARY KEY AUTO_INCREMENT         COMMENT 'ID',
    name            VARCHAR(100) NOT NULL                  COMMENT '政策名称',
    label           VARCHAR(512)                           COMMENT '政策描述',
    file            VARCHAR(255) NOT NULL                  COMMENT '政策文件路径',
  create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
     update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    del_flag        char default '0' null               comment '删除标志',
    INDEX idx_name (name),
    INDEX idx_label (label)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='当地政策数据表';


-- 产业数据收集
create table industry_data
(
    id       int auto_increment primary key,
    year    varchar(11)  null comment '年份',
    category int          null comment '产业类别：0-种植业/1-养殖业/2-保安腰刀产业/3-农家乐产业/4-民宿产业',
    scale    varchar(255) null comment '产业规模',
    yield    varchar(255) null comment '产量',
    value    varchar(255) null comment '产值',
    create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
    update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    del_flag        char default '0' null               comment '删除标志',
    INDEX idx_category (category),
    INDEX idx_year (year)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 comment '产业数据收集';


--  就业数据收集
create table employment_data
    (
        id               int auto_increment primary key,
        months           varchar(11)   null comment '月份',
        position_number  int           null comment '提供岗位数量',
        hire_number      int           null comment '录用人数',
        month_pay_low    varchar(255)  null comment '月薪范围下限',
        month_pay_high   varchar(255)  null comment '月薪资范围上限',
        shorage_position varchar(255)  null comment '当前缺口岗位',
        skill_training   int default 1 null comment '技能培训情况 1为是 0为否',
        create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
        update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
        del_flag        char default '0' null               comment '删除标志'
    )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 comment '就业数据收集';

-- 乡村振兴传统产业数据
create table village_tradition
(
    id                int auto_increment primary key,
    category varchar(10)          null          comment '产业类别（0-种植业、1-养殖业）',
    name         varchar(255) null      comment '基地名称',
    location     varchar(255) null      comment '位置',
    area     varchar(255) null          comment '种植面积/养殖规模',
    variety           varchar(255) null comment '品种',
    promotion        varchar(255) null  comment '技术推广/应用情况',
    create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
    update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    del_flag        char default '0' null               comment '删除标志',
    INDEX idx_category (category),
    INDEX idx_name (name)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 comment '乡村振兴传统产业数据';


-- 乡村特色产业
create table village_special
(
    id                int auto_increment primary key,
    category varchar(10)          null comment '产业类别（0-保安腰刀产业、1-农家乐产业、2-民宿产业）',
    name        varchar(255) null comment '产业名称',
    location          varchar(255) null comment '位置',
    people_num        varchar(255) null comment '传承人数',
    produce_num        varchar(255) null comment '产品人数',
    feature        varchar(255) null comment '经营特色',
    vegetable   varchar(255) null comment '菜品数量',
    room_num        varchar(255) null comment '房间数量',
    bed        varchar(255) null comment '床位数',
    ids               varchar(255) null comment '批量多项产品或菜品',
    create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
    update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    del_flag        char default '0' null               comment '删除标志',
    INDEX idx_category (category),
    INDEX idx_name (name)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 comment '乡村特色产业';

-- 乡村特色产业产品
create table production_data
(
    id               int auto_increment primary key,
    name  varchar(11)   null comment '产品名称/菜品名称',
    img   varchar(1000) null comment '产品图片/菜品图片',
    price varchar(11)   null comment '产品价格/菜品价格'
     create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
        update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
        del_flag        char default '0' null               comment '删除标志',
) comment '乡村特色产业产品';


-- 乡村振兴产业服务与支持
create table village_service
(
    id      int auto_increment primary key,
    title   varchar(50)   null comment '标题',
    tag   varchar(10)   null   comment '标签 0-技术培训/1-产业扶持政策',
    type   varchar(10) default 0 null comment '类型 0-图文,1-视频',
    content text  null comment '内容',
    photo_url varchar(255)  null comment '封面图',
    source varchar(255)  null   comment '来源',
    status  int default 0 null comment '发布状态 0-未发布 1-已发布 2-下架',
    date datetime      null     comment '发布日期',
    issuer_id  int  null     comment '发布人id',
    create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
    update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    del_flag        char default '0' null               comment '删除标志',
    INDEX idx_tag (tag),
    INDEX idx_title (title),
    INDEX idx_date (date),
    INDEX idx_status (status)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 comment '乡村振兴产业服务与支持';


-- 民族团结活动表
CREATE TABLE ethnic_activities (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(100) NOT NULL COMMENT '活动名称',
    date DATE NOT NULL COMMENT '活动日期',
    location VARCHAR(100) NOT NULL COMMENT '活动地点',
    category varchar(10) NOT NULL COMMENT '活动类别 0-传统节日 1-风俗习惯 2-语言文字 3-服饰艺术 4-其他',
    ethnic VARCHAR(255) NOT NULL COMMENT '参与民族',
    content VARCHAR(1024) COMMENT '活动内容',
    count INT DEFAULT 0 COMMENT '参与人数',
    status int NOT NULL DEFAULT 0 COMMENT '状态：0-未完成/1-已完成',
    create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
    update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    del_flag        char default '0' null               comment '删除标志',
    INDEX idx_date (date),
    INDEX idx_category (category),
    INDEX idx_ethnic (ethnic),
    INDEX idx_status (status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='民族团结活动表';

-- 灾情共度管理
CREATE TABLE disaster_relief (
  id INT PRIMARY KEY AUTO_INCREMENT COMMENT 'ID',
  person_id INT NOT NULL COMMENT '村民ID',
  date datetime NOT NULL COMMENT '发生日期',
  location varchar(100) NOT NULL COMMENT '发生地点',
  event_content text COMMENT '事迹内容',
  create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间',
  update_time datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
  del_flag char default '0' null comment '删除标志',
  INDEX idx_date (date),
  INDEX idx_person_id (person_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='灾情共度管理';

-- 媒体宣传内容收集表
CREATE TABLE media_propaganda (
  id INT PRIMARY KEY AUTO_INCREMENT COMMENT 'ID',
  title varchar(255) NOT NULL COMMENT '标题',
  type   varchar(10) default "0" NOT NULL comment '类型 0-图文,1-视频',
  content varchar(512) NOT NULL COMMENT '内容',
  image varchar(512)  COMMENT '封面图URL',
  extract_date date NOT NULL COMMENT '摘录日期（默认当天）',
  publish_date date NOT NULL  COMMENT '发布日期',
  source varchar(200)  NOT NULL COMMENT '来源',
  create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间',
  update_time datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
  del_flag char default '0' null comment '删除标志',
  INDEX idx_title (title),
  INDEX idx_content (content),
  INDEX idx_publish_date (publish_date),
  INDEX idx_extract_date (extract_date)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='媒体宣传内容收集表';

-- 事件表
CREATE TABLE event (
  id int PRIMARY KEY AUTO_INCREMENT COMMENT '事件ID',
  occur_time datetime NOT NULL COMMENT '事发时间',
  type int NOT NULL COMMENT '事件类别,0-矛盾纠纷类/1-消防隐患类/2-安全隐患类/3-社会治安类/4-环境治理类/5-反诈宣传类',
  location varchar(200) NOT NULL COMMENT '事发地点',
  description varchar(512)  COMMENT '事件描述',
  photo_url    VARCHAR(255)     COMMENT '照片',
  status char(1) DEFAULT '0' COMMENT '状态（0-未完结 1-已完结）',
  submitter_id int NOT NULL COMMENT '填报人ID(村民id)',
  process_result  VARCHAR(512) COMMENT '处理结果',
  process_time datetime COMMENT '处理时间',
  create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间',
  update_time datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
  del_flag char default '0' null comment '删除标志',
  KEY idx_type (`type`),
  KEY idx_status (`status`),
  KEY idx_submitter (`submitter_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='事件主表';

-- 事件负责人分配表
CREATE TABLE event_assign (
  id int PRIMARY KEY AUTO_INCREMENT COMMENT '分配ID',
  event_id int NOT NULL COMMENT '事件ID',
  user_id int NOT NULL COMMENT '负责人ID',
  status char(1) DEFAULT '0' COMMENT '状态（0未完结 1本人已完结 2其他人已完结）',
  is_reassign char(1) DEFAULT '0' COMMENT '是否重新分配（0否 1是）',
  create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间',
  update_time datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
  UNIQUE KEY `uk_event_user` (`event_id`, `user_id`),  -- 联合唯一索引
  KEY `idx_event_status` (`event_id`, `status`),
  KEY `idx_user_status` (`user_id`, `status`)
) ENGINE=InnoDB COMMENT='事件负责人分配表';

-- 某个事件的处理人 只需要在  查询时 查询 事件id 且 状态为1的即可 因为其他负责人的数据状态为2


-- 事件类型负责人表
CREATE TABLE event_type_assignee (
  id int PRIMARY KEY AUTO_INCREMENT COMMENT 'ID',
  type int NOT NULL COMMENT '事件类型(0-5,表示对应类型的负责人)',
  user_id int NOT NULL COMMENT '负责人ID',
  create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间',
  update_time datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
  UNIQUE KEY `uk_type_person` (`type`, `user_id`),
  KEY `idx_type` (`type`),
  KEY `idx_person` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='事件类型负责人配置表';


-- 政务信息管理
create table government_info
(
    id      int auto_increment primary key,
    title   varchar(50)   null comment '标题',
    tag   varchar(10)   null   comment '标签 0-政务通知/1-政策解读/2-公共服务',
    type   varchar(10) default 0 null comment '类型 0-图文,1-视频',
    content text  null comment '内容',
    photo_url varchar(255)  null comment '封面图',
    source varchar(255)  null   comment '来源',
    status  int default 0 null comment '发布状态 0-未发布 1-已发布 2-下架',
    date datetime      null     comment '发布日期',
    issuer_id  int  null     comment '发布人id',
    create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
    update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    del_flag        char default '0' null               comment '删除标志',
    INDEX idx_tag (tag),
    INDEX idx_title (title), status int(1) not null comment '状态：0-启用 1-关闭',
    INDEX idx_date (date),
    INDEX idx_status (status)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 comment '政务信息管理表';

-- 村委角色表
create table village_committee_role
(
    id      int auto_increment primary key,
    type   varchar(100) not null comment '村委类型',

    create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
    update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    del_flag        char default '0' null               comment '删除标志',
    INDEX idx_type (type)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 comment '村委角色表';

-- 村委用户关联表
create table village_committee_role_user
(
    id      int auto_increment primary key,
    role_id int not null comment '村委类型id',
    user_id int not null comment '用户id',
    create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
    update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    del_flag        char default '0' null               comment '删除标志',
    INDEX idx_role_id (role_id),
    INDEX idx_user_id (user_id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 comment '村委用户关联表';

-- 应急指令负责人表
CREATE TABLE emergency_user (
  id int PRIMARY KEY AUTO_INCREMENT COMMENT 'ID',
  user_id int NOT NULL COMMENT '负责人ID',
  create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间',
  update_time datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
  del_flag        char default '0' null      comment '删除标志',
  UNIQUE KEY `idx_user_id` (`user_id`)
) ENGINE=InnoDB COMMENT='应急指令负责人表';

-- 应急指令下达表
create table emergency
(
    id      int auto_increment primary key,
    occur_time datetime NOT NULL COMMENT '事发时间',
    name   varchar(100) not null comment '事件名称',
    location varchar(200) NOT NULL COMMENT '事发地点',
    requirement varchar(200) NOT NULL COMMENT '调度要求',
    receive_user_id varchar(200) NOT NULL COMMENT '接收对象user_id',
    user_id int NOT NULL COMMENT '负责人ID(默认本用户)',
    status  int default 0 null comment '发布状态 0-未下达 1-已下达',
    date datetime      null     comment '下达日期',
    issuer_id  int  null     comment '下达人id',
    create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
    update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    del_flag        char default '0' null      comment '删除标志',
    INDEX idx_name (name),
    INDEX idx_requirement (requirement),
    INDEX idx_receive_type (receive_user_id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 comment '应急指令下达表';


-- 物联网平台产品管理
create table lot_platform_products
(
    id      int auto_increment primary key,
    category   varchar(20) not null comment '类别',
    remark   varchar(100)  null comment '备注',
    create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
    update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    del_flag        char default '0' null               comment '删除标志',
    INDEX idx_category (category)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 comment '物联网平台产品管理表';


-- 物联网平台设备联动管理
create table lot_platform_device
(
    id      int auto_increment primary key,
    code varchar(30) not null comment '设备编号',
    name varchar(20) not null comment '设备名称',
    category   varchar(20) not null comment '设备类别',
    location   varchar(100)  null comment '安装位置',
    information varchar(255)  null comment '上报信息',
    status  varchar(100)  null comment '状态信息',
    log_information varchar(512)  null comment '日志记录信息',
    operational_information varchar(512)  null comment '操作信息',
    create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
    update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    del_flag        char default '0' null               comment '删除标志',
    INDEX idx_code (code),
    INDEX idx_name (name),
    INDEX idx_category (category),
    INDEX idx_location (location)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 comment '物联网平台设备联动管理表';


-- 物联网实时数据视频监控管理表
create table lot_video
(
    id      int auto_increment primary key,
    name varchar(20) not null comment '监控名称',
    location   varchar(100)  null comment '安装位置',
    ip   varchar(100)  null comment 'IP',
    monitoring_range  varchar(100)  null comment '监控范围',
    scenarios   varchar(20) not null comment '应用场景 0-安防监控/1-交通监控/2-防溺水监控/3-其他',
    create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
    update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    del_flag        char default '0' null               comment '删除标志',
    INDEX idx_name (name),
    INDEX idx_category (scenarios),
    INDEX idx_location (location)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 comment '物联网实时数据视频监控管理表';

-- 物联网实时数据环境监测管理表
create table lot_environment
(
    id      int auto_increment primary key,
    water_level varchar(100)  null comment '水位',
    temperature   varchar(100)  null comment '温度',
    humidity   varchar(100)  null comment '湿度',
    rainfall  varchar(100)  null comment '降雨量',
    wind_speed   varchar(100)  null comment '风速',
    wind_direction   varchar(100)  null comment '风向',
    date date NOT NULL  COMMENT '预警日期',
    create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
    update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    del_flag        char default '0' null               comment '删除标志',
    INDEX idx_date (date)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 comment '物联网实时数据环境监测管理表';


-- 地震监测预警管理表
create table earthquake_warning
(
    id      int auto_increment primary key,
    location   varchar(100)  null comment '位置',
    content varchar(100)  null comment '具体内容',
    date date NOT NULL  COMMENT '预警日期',
    create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
    update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    del_flag        char default '0' null               comment '删除标志',
    INDEX idx_date (date)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 comment '地震监测预警管理表';

-- 人居环境预警管理表
create table environment_warning
(
    id      int auto_increment primary key,
    location   varchar(100)  null comment '位置',
    content varchar(100)  null comment '具体内容',
    date date NOT NULL  COMMENT '预警日期',
    create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
    update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    del_flag        char default '0' null               comment '删除标志',
    INDEX idx_date (date)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 comment '人居环境预警管理表';

-- 联动云广播管理表
create table cloud_broadcasting
(
    id      int auto_increment primary key,
    theme   varchar(100)  null comment '主题',
    date date NOT NULL  COMMENT '呼叫日期',
    create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
    update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    del_flag        char default '0' null               comment '删除标志',
    INDEX idx_date (date)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 comment '联动云广播管理表';


-- 防溺水预警管理表
create table drowning_warning
(
    id      int auto_increment primary key,
    location   varchar(100)  null comment '位置',
    content varchar(100)  null comment '具体内容',
    date date NOT NULL  COMMENT '预警时间',
    create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
    update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    del_flag        char default '0' null               comment '删除标志',
    INDEX idx_date (date)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 comment '防溺水预警管理表';

-- 人居环境预警阈值管理表
create table environment_warning_threshold
(
    id      int auto_increment primary key,
    type_id varchar(10)  null comment '环境类型id',
    level TINYINT NOT NULL COMMENT '预警等级：1-一级/2-二级/3-三级/4-四级',
    low    varchar(255)  null comment '下限',
    high   varchar(255)  null comment '上限',
    create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
    update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    del_flag        char default '0' null               comment '删除标志',
    INDEX idx_type (type_id),
    INDEX idx_type_level (type_id, level),
     INDEX idx_level (level)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 comment '人居环境预警阈值管理表';

-- 人居环境预警阈值负责人关联表
create table environment_warning_threshold_user
(
    id      int auto_increment primary key,
    type_id varchar(100) NOT NULL COMMENT '环境类型id',
    user_id int NOT NULL COMMENT '负责人ID',
    create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
    update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    del_flag        char default '0' null               comment '删除标志',
    INDEX idx_threshold_type (type_id),
    INDEX idx_user_id (user_id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 comment '人居环境预警阈值负责人关联表';

-- 人居环境预警阈值负责人角色表
create table environment_warning_threshold_role
(
    id      int auto_increment primary key,
    type   varchar(100) not null comment '环境类型(负责人)名称',
    create_time        datetime     default CURRENT_TIMESTAMP not null comment '创建时间',
    update_time      datetime     default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    del_flag        char default '0' null               comment '删除标志',
    INDEX idx_type (type)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 comment '人居环境预警阈值负责人角色表';




