# 文件系统

## 数据结构

### 1.文件信息表(dt_file_info)

| 字段          | 字段说明        | 数据类型    | 备注                 |
| ------------- | --------------- | ----------- | -------------------- |
| id            | 主键            | varchar(40) | 32位UUID             |
| group_code    | 集团编码        | varchar(40) |                      |
| file_name     | 文件名称        | varchar(50) |                      |
| file_md5      | 文件内容的md5值 | varchar(50) |                      |
| business_id   | 关联业务Id      | varchar(50) |                      |
| expire_date   | 保留期限        | char(14)    | 格式为yyyyMMddHHmmss |
| creator       | 创建人账号id    | varchar(32) |                      |
| creation_time | 创建时间        | char(14)    | 格式为yyyyMMddHHmmss |
| modified_time | 最后更新时间    | char(14)    | 格式为yyyyMMddHHmmss |
| modifier      | 最后更新账号id  | varchar(32) |                      |
| valid         | 合法标识        | tinyint(4)  | 0-无效,1-有效        |
| ts            | 乐观锁          | timestamp   |                      |



### 2.文件的MD5信息(dt_file_md5)

| 字段          | 字段说明        | 数据类型     | 备注                          |
| ------------- | --------------- | ------------ | ----------------------------- |
| id            | 主键            | varchar(40)  | 32位UUID                      |
| file_type     | 文件类型        | varchar(2)   | 0-文件,1-目录                |
| file_bucket   | 文件分组        | varchar(40)  | 默认为应用名                  |
| file_path     | 文件路径        | varchar(200) | 含文件名称 - 对应文件存储路径 |
| file_size     | 文件大小        | varchar(40)  |                               |
| file_md5      | 文件内容的md5值 | varchar(50)  |                               |
| creator       | 创建人账号id    | varchar(32)  |                               |
| creation_time | 创建时间        | char(14)     | 格式为yyyyMMddHHmmss          |
| modified_time | 最后更新时间    | char(14)     | 格式为yyyyMMddHHmmss          |
| modifier      | 最后更新账号id  | varchar(32)  |                               |
| valid         | 合法标识        | tinyint(4)   | 0-无效,1-有效                 |
| ts            | 乐观锁          | timestamp    |                               |



## DDL语句

### 文件信息表

```sql
CREATE TABLE IF NOT EXISTS `dt_file_info` (
`id` varchar(40) NOT NULL COMMENT '主键',
`group_code` varchar(40) NOT NULL COMMENT '集团编码',
`file_name` varchar(128) NOT NULL COMMENT '文件名称',
`business_id` varchar(32) NULL DEFAULT NULL COMMENT '关联业务Id',
`expire_date` char(8) NULL DEFAULT NULL COMMENT '保留期限',
`creator` varchar(32) DEFAULT NULL COMMENT '创建人',
`creation_time` char(14) NULL DEFAULT NULL COMMENT '创建时间',
`modifier` varchar(32) DEFAULT NULL COMMENT '最后修改人',
`modified_time` char(14) NULL DEFAULT NULL COMMENT '最后修改时间',
`valid` tinyint DEFAULT 1 COMMENT '合法标识',
`ts` timestamp default current_timestamp on update current_timestamp NOT NULL COMMENT '乐观锁',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='文件信息';
```



### 文件MD5信息表

```sql
CREATE TABLE IF NOT EXISTS `dt_file_md5` (
`id` varchar(40) NOT NULL COMMENT '主键',
`file_type` varchar(2) NOT NULL DEFAULT '0' COMMENT '文件类型:0-文件,1-目录',
`file_bucket` varchar(64) NOT NULL DEFAULT '0' COMMENT '文件分组:默认为应用名',
`file_path` varchar(512) NULL DEFAULT NULL COMMENT '文件路径含文件名称-对应文件存储路径',
`file_size` int(10) NOT NULL DEFAULT 0 COMMENT '文件大小',
`file_md5` varchar(64) NULL DEFAULT NULL COMMENT '文件的md5值',
`upload_status` tinyint NOT NULL DEFAULT 0 COMMENT '文件上传状态,0.上传完成,1.已上传部分',
`creator` varchar(32) DEFAULT NULL COMMENT '创建人',
`creation_time` char(14) NULL DEFAULT NULL COMMENT '创建时间',
`modifier` varchar(32) DEFAULT NULL COMMENT '最后修改人',
`modified_time` char(14) NULL DEFAULT NULL COMMENT '最后修改时间',
`valid` tinyint DEFAULT 1 COMMENT '合法标识',
`ts` timestamp default current_timestamp on update current_timestamp NOT NULL COMMENT '乐观锁',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='文件的MD5信息';
```