SET NAMES utf8mb4;

drop table if exists ai_service;
/*==============================================================*/
/* Table: ai_service                                            */
/*==============================================================*/
create table ai_service
(
    service_id           bigint(20) not null comment '服务主键id',
    service_name         varchar(30) comment '服务名称',
    service_descrip      varchar(100) comment '服务描述',
    create_by            varchar(64) not null comment '创建者',
    create_time          datetime default NULL comment '创建时间',
    update_by            varchar(64) not null comment '更新者',
    update_time          datetime default NULL comment '更新时间',
    del_flag             char(1) comment '是否删除(0代表存在 2代表删除)',
    primary key (service_id)
)engine=innodb comment = '服务表';
insert into ai_service values(1,  '身份证识别', '身份证识别', 'admin',  sysdate(), '', null ,'0');
insert into ai_service values(2,  '发票识别', '发票识别', 'admin',  sysdate(), '', null,'0');
insert into ai_service values(3,  '文本识别', '文本识别', 'admin',  sysdate(), '', null,'0');
insert into ai_service values(4,  '人脸识别', '人脸识别', 'admin',  sysdate(), '', null,'0');
insert into ai_service values(5,  '违章识别', '违章识别', 'admin',  sysdate(), '',null ,'0');;


drop table if exists ai_idcardrecognize_result;

/*==============================================================*/
/* Table: ai_idcardrecognize_result                          */
/*==============================================================*/
create table ai_idcardrecognize_result
(
    result_id            bigint(20) not null auto_increment comment '结果id',
    service_id           bigint(20) comment '服务主键id',
    name                 varchar(60) comment '姓名',
    sex                  char(2) default '男' comment '性别(男，女，其他)',
    enthnic              varchar(20) comment '名族',
    birthday             varchar(30) comment '出生',
    address              varchar(100) comment '住址',
    idcard_number        varchar(20) comment '身份证号',
    issuing_authority    varchar(60) comment '签发机关',
    idcard_validity      varchar(60) comment '有效期',
    if_complete          char(2) default '是' comment '识别是否完整（是或否）',
    frontImge_address    varchar(100) comment '正面原始图片路径',
    backImg_address      varchar(100) comment '反面原始图片路径',
    recognize_time       datetime comment '识别时间',
    response_long        long comment '响应时长(单位秒)',
    invoke_ip            varchar(60) comment '调用服务IP',
    update_by            varchar(30) not null comment '更新者',
    update_time          datetime default NULL comment '更新时间',
    del_flag             char(1) default '0' comment '是否删除(0代表存在,2代表删除)',
    result_type          char(1) default '0' comment '结果类型(0用户登录，1服务注册)',
    result_status        char(1) default '0' comment '识别状态(0成功，1失败)',
    failure_reason       varchar(100) comment '识别失败原因',
    primary key (result_id)
)engine=innodb comment = '身份证识别结果表';

drop table if exists ai_facerecognize_result;

/*==============================================================*/
/* Table: ocr_facerecognize_result                              */
/*==============================================================*/
create table ai_facerecognize_result
(
    result_id            bigint(20) not null auto_increment comment '结果主键id',
    face_id              bigint(20) comment '人脸库表id',
    service_id           bigint(20) comment '服务id',
    result_it            varchar(64) comment '识别结果',
    face_address         varchar(100) comment '人脸路径',
    recognize_time       datetime comment '识别时间',
    response_long        long comment '响应时长',
    invoke_ip            varchar(60) comment '调用服务IP',
    update_by            varchar(60) not null comment '更新者',
    update_time          datetime default NULL comment '更新时间',
    del_flag             char(1) default '0' comment '是否删除',
    result_type          char(1) default '0' comment '结果类型(0用户登录，1服务注册)',
    result_status        char(1) default '0' comment '识别状态(0成功，1失败)',
    failure_reason       varchar(100) comment '识别失败原因',
    primary key (result_id)
)engine=innodb comment = '人脸识别结果表';

drop table if exists ai_face_databse;

/*==============================================================*/
/* Table: ai_face_databse                                       */
/*==============================================================*/
create table ai_face_databse
(
    face_id              bigint(20) not null auto_increment comment '主键id',
    name                 varchar(10) comment '姓名',
    sex                  char(2) default '男' comment '性别',
    phone                varchar(11) default NULL comment '电话号码',
    idcard_number        varchar(20) default null comment '身份证',
    face_address         varchar(100) default null comment '人脸图片路径',
    create_by            varchar(60) default null comment '创建者',
    create_time          datetime default NULL comment '创建时间',
    update_by            varchar(60) not null comment '更新者',
    update_time          datetime default NULL comment '更新时间',
    del_flag             char(1) default '0' comment '是否删除',
    primary key (face_id)
)engine=innodb comment = '人脸库表';


drop table if exists ai_invoicerecognize_result;
/*==============================================================*/
/* Table: ai_invoicerecognize_result                            */
/*==============================================================*/
create table ai_invoicerecognize_result
(
    result_id            bigint(20) not null auto_increment comment '结果主键id',
    service_id           bigint(20) comment '服务id',
    rec_encoding         varchar(20) comment '机器编码',
    invoice_code         varchar(20) comment '发票代码',
    invoice_number       varchar(20) comment '发票号码',
    invoice_date         varchar(20) comment '发票日期',
    invoice_check        varchar(30) comment '效验码',
    invoice_model        varchar(30) comment '规格新号',
    invoice_unit         char(5) comment '单位',
    invoice_amount       varchar(10) comment '金额',
    invoice_rate         varchar(10) comment '税率',
    invoice_pay          varchar(10) comment '税额',
    unit_name            varchar(60) comment '单位名称',
    invoice_ident_num    varchar(60) comment '纳税人识别号',
    address_telep        varchar(60) comment '地址电话',
    bank_account         varchar(60) comment '开户行及账号',
    recognize_time       datetime comment '识别时间',
    invoice_total        varchar(30) comment '加税合计',
    response_long        long comment '响应时长',
    invoke_ip            varchar(60) comment '调用服务IP',
    update_by            varchar(64) not null comment '更新者',
    update_time          datetime default NULL comment '更新时间',
    del_flag             char(1) default '0' comment '是否删除',
    result_type          char(1) default '0' comment '结果类型(0用户登录，1服务注册)',
    result_status        char(1) default '0' comment '识别状态(0成功，1失败)',
    failure_reason       varchar(100) comment '识别失败原因',
    primary key (result_id)
)engine=innodb comment = '发票识别结果表';


drop table if exists ai_text_recognize_result;

/*==============================================================*/
/* Table: ai_text_recognize_result                              */
/*==============================================================*/
create table ai_text_recognize_result
(
    result_id            bigint(20) not null auto_increment comment '结果主键id',
    service_id           bigint(20) comment '服务id',
    recognize_result     longtext comment '识别结果',
    recognize_time       datetime comment '识别时间',
    response_long        long comment '响应时长',
    invoke_ip            varchar(60) comment '调用服务IP',
    update_by            varchar(64) not null comment '更新者',
    update_time          datetime default NULL comment '更新时间',
    del_flag             char(1) comment '是否删除',
    result_type          char(1) default '0' comment '结果类型(0用户登录，1服务注册)',
    result_status        char(1) default '0' comment '识别状态(0成功，1失败)',
    failure_reason       varchar(100) comment '识别失败原因',
    primary key (result_id)
)engine=innodb comment = '文本证识别结果表';

drop table if exists ai_user_service;

/*==============================================================*/
/* Table: ai_user_service                                       */
/*==============================================================*/
create table ai_user_service
(
    service_id           bigint(20) not null comment '服务id',
    user_id              bigint(20) not null comment '用户id',
    service_key          varchar(64) not null comment '服务key',
    create_by            varchar(60) comment '创建者',
    create_time          datetime default NULL comment '创建时间',
    update_by            varchar(60) not null comment '更新者',
    update_time          datetime default NULL comment '更新时间',
    del_flag             char(1) default '0' comment '是否删除',
    primary key (service_id, user_id, service_key)
)engine=innodb comment = '用户和服务注册关系表';

