create table sys_dept_recharge ( id int auto_increment comment '主键id' primary key, dept_id int null comment '组织机构ID', score int default 0 not null comment '积分余额', balance decimal(10, 2) default 0.00 not null comment '余额(元)', permissions varchar(64) null comment '权限,多个逗号分隔', service_charge decimal(5, 2) default 0.00 not null comment '服务费率', overdraw_amount decimal(10, 2) default 0.00 not null comment '可透支金额', overdraw_score int default 0 not null comment '可透支积分', del_flag varchar(10) default '0' not null comment '是否删除', create_time datetime default CURRENT_TIMESTAMP null comment '创建时间', create_user int null comment '创建人', update_time datetime null comment '更新时间', update_user int null comment '更新人', version int default 0 null, constraint sys_dept_recharge_dept_id_uindex unique (dept_id) ) comment '积分充值表' charset = utf8mb4; create table sys_dept_recharge_record ( id int auto_increment comment '主键id' primary key, recharge_id int null comment '积分充值表ID', dept_id int null comment '组织机构ID', relation_dept_id int null comment '关联组织机构ID(关联操作对象)', change_score int not null comment '充值积分', change_amount decimal(10, 2) default 0.00 not null comment '充值金额(元)', type char(25) not null comment '操作类型', current_score int not null comment '充值后积分余额', current_balance decimal(10, 2) default 0.00 not null comment '充值后积分余额(元)', package_id int null comment '积分包id', package_type varchar(32) null comment '积分包类型', del_flag varchar(10) default '0' not null comment '是否删除', create_time datetime default CURRENT_TIMESTAMP null comment '创建时间', create_user int null comment '创建人' ) comment '积分充值/使用记录表' charset = utf8mb4; create index sys_dept_recharge_record_dept_id_index on sys_dept_recharge_record (dept_id); create table sys_dept_invoice ( id int auto_increment comment '主键id' primary key, dept_id int null comment '组织机构ID', invoice_amount decimal(10, 2) default 0.00 not null comment '开票金额(元)', relation_package_score int default 0 not null comment '关联积分值', relation_package_number int default 0 not null comment '关联积分包个数', approval_status varchar(10) default 'PENDING' not null comment '审核状态', approval_time datetime null comment '审核时间', invoice_type char(10) not null comment '发票类型', address varchar(64) null comment '邮寄地址', addressee_name varchar(32) null comment '收件人姓名', addressee_phone varchar(20) null comment '收件人手机号', del_flag varchar(10) default '0' not null comment '是否删除', create_time datetime default CURRENT_TIMESTAMP null comment '创建时间', create_user int null comment '创建人', update_time datetime null comment '更新时间', update_user int null comment '更新人' ) comment '企业开票表' charset = utf8mb4; create index sys_dept_invoice_dept_id_index on sys_dept_invoice (dept_id); create table sys_dept_invoice_relation ( id int auto_increment comment '主键id' primary key, invoice_id int null comment '企业开票表ID', dept_id int not null comment '发包企业id', package_id int not null comment '积分包id', invoice_status varchar(10) default 'PENDING' not null comment '开票状态', invoice_time datetime null comment '开票时间', del_flag varchar(10) default '0' not null comment '是否删除', create_time datetime default CURRENT_TIMESTAMP null comment '创建/申请时间', create_user int null comment '创建人', update_time datetime null comment '更新时间', update_user int null comment '更新人', constraint sys_dept_invoice_relation_invoice_id_package_id_uindex unique (invoice_id, package_id) ) comment '企业开票关联表' charset = utf8mb4;