drop table if exists user;
create table user
(
    uid          bigint unsigned auto_increment comment '用户id'
        primary key,
    username     varchar(255) collate utf8mb4_general_ci             null comment '用户账户(跟accout一样)',
    password     varchar(255)                                        null comment '用户密码（跟pwd）',
    real_name    varchar(25) collate utf8mb4_general_ci default ''   null comment '真实姓名',
    birthday     DATE                                   default null null comment '生日',
    card_id      varchar(20)                            default ''   null comment '身份证号码',
    mark         varchar(255)                           default ''   null comment '用户备注',
    group_id     int                                    default 0    null comment '用户分组id',
    nickname     varchar(100) collate utf8mb4_general_ci             null comment '用户昵称',
    avatar       varchar(256)                                        null comment '用户头像',
    phone        char(15)                                            null comment '手机号码',
    add_ip       varchar(100)                           default ''   null comment '添加ip',
    create_time  datetime                                            null comment '添加时间',
    update_time  datetime                                            null comment '最后一次登录时间',
    last_ip      varchar(100)                           default ''   null comment '最后一次登录ip',
    status       tinyint(1)                             default 1    not null comment '1为正常，0为禁止',
    level        tinyint unsigned                       default '0'  not null comment '等级',
    spread_count int                                    default 0    null comment '下级人数',
    address      varchar(255)                           default ''   not null comment '详细地址',
    login_type   varchar(36)                            default ''   not null comment '用户登陆类型，h5,wechat,routine',
    is_del       tinyint(1)                             default 0    null,
    constraint username
        unique (username)
)
    comment '用户表';

create index level
    on user (level);

create index status
    on user (status);

drop table if exists calendar;
create table calendar
(
    id        bigint auto_increment primary key comment '日历表格id',
    title     varchar(255) not null comment '活动 事件',
    detail    varchar(255) null comment '详情',
    start     date         not null comment '活动 事件开始时间   2024-06-12T10:30:00为点状  2024-06-12为条状',
    end       date         not null comment '活动 事件结束时间   2024-06-12T10:30:00为点状  2024-06-12为条状',
    overlap   boolean      null default false comment '该事件是否可以与其他事件并存',
    editable  boolean      null default false comment '该事件是否允许拖动缩放',
    color     varchar(100) null comment '背景颜色',
    file      varchar(255) null comment '文件',
    file_type varchar(50)  null comment '文件类型',
    is_del    tinyint(1)        default 0 null comment '这条数据是否被删除 0未删除 1已删除'
);

drop table if exists manage;
create table manage
(
    id                       bigint auto_increment comment 'ID'
        primary key,
    avatar_id                bigint               null comment '头像',
    email                    varchar(255)         null comment '邮箱',
    enabled                  bigint               null comment '状态：1启用、0禁用',
    password                 varchar(255)         null comment '密码',
    username                 varchar(255)         null comment '用户名',
    dept_id                  bigint               null comment '部门名称',
    phone                    varchar(255)         null comment '手机号码',
    job_id                   bigint               null comment '岗位名称',
    create_time              datetime             null comment '创建日期',
    last_password_reset_time datetime             null comment '最后修改密码的日期',
    nick_name                varchar(255)         null,
    sex                      varchar(255)         null,
    update_time              datetime             null,
    is_del                   tinyint(1) default 0 null,
    constraint UK_kpubos9gc2cvtkb0thktkbkes
        unique (email),
    constraint username
        unique (username)
)
    comment '系统用户';


drop table if exists user_schedule;
create table user_schedule
(
    id          bigint auto_increment primary key comment '日历表格id',
    uid         bigint unsigned not null comment '添加日程的用户id',
    title       varchar(255)    not null comment '活动 事件',
    detail      varchar(255)    null comment '详情',
    start       datetime        not null comment '活动 事件开始时间   2024-06-12T10:30:00为点状  2024-06-12为条状',
    end         datetime        not null comment '活动 事件结束时间   2024-06-12T10:30:00为点状  2024-06-12为条状',
    overlap     boolean         null default false comment '该事件是否可以与其他事件并存',
    editable    boolean         null default false comment '该事件是否允许拖动缩放',
    color       varchar(100)    null comment '背景颜色',
    file        varchar(255)    null comment '文件',
    file_type   varchar(50)     null comment '文件类型',
    create_time datetime        null comment '创建时间',
    update_time datetime        null comment '修改时间',
    is_del      tinyint(1)           default 0 null comment '这条数据是否被删除 0未删除 1已删除'
)