Browse Source

新增文件系统接口说明文档

lijie 3 years ago
parent
commit
8153558e47

+ 48 - 0
docs/file/data_structure_description.md

@@ -0,0 +1,48 @@
+# 文件系统
+
+## 数据结构
+
+### 1.文件信息表(dt_file_info)
+
+| 字段          | 字段说明       | 数据类型     | 备注                          |
+| ------------- | -------------- | ------------ | ----------------------------- |
+| id            | 主键           | varchar(40)  | 32位UUID                      |
+| group_code    | 集团编码       | varchar(40)  |                               |
+| file_name     | 文件名称       | varchar(50)  |                               |
+| file_type     | 文件类型       | varchar(2)   | 0-文件,1-目录                |
+| file_bucket   | 文件分组       | varchar(40)  | 默认为应用名                  |
+| file_path     | 文件路径       | varchar(200) | 含文件名称 - 对应文件存储路径 |
+| file_size     | 文件大小       | varchar(40)  |                               |
+| 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    |                               |
+
+## DDL语句
+
+### 文件信息表
+
+```sql
+CREATE TABLE IF NOT EXISTS `dt_file_info` (
+  `id` varchar(40) COLLATE utf8_bin NOT NULL COMMENT '主键',
+  `group_code` varchar(40) COLLATE utf8_bin NOT NULL COMMENT '集团编码',
+  `file_name` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '文件名称',
+  `file_type` varchar(2) COLLATE utf8_bin DEFAULT NULL COMMENT '0-文件,1-目录',
+  `file_bucket` varchar(40) COLLATE utf8_bin DEFAULT NULL COMMENT '文件分组',
+  `file_path` varchar(200) COLLATE utf8_bin DEFAULT NULL COMMENT '含文件名称 - 对应文件存储路径',
+  `file_size` bigint(20) DEFAULT NULL COMMENT '文件大小',
+  `business_id` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '关联业务Id',
+  `expire_date` char(14) COLLATE utf8_bin DEFAULT NULL COMMENT '保留期限,格式为yyyyMMddHHmmss',
+  `creator` varchar(32) COLLATE utf8_bin DEFAULT NULL COMMENT '创建人id',
+  `creation_time` char(14) COLLATE utf8_bin DEFAULT NULL COMMENT '创建时间,格式为yyyyMMddHHmmss',
+  `modified_time` char(14) COLLATE utf8_bin DEFAULT NULL COMMENT '最后更新时间,格式为yyyyMMddHHmmss',
+  `modifier` varchar(32) COLLATE utf8_bin DEFAULT NULL COMMENT '最后更新账号id',
+  `valid` tinyint(4) DEFAULT NULL COMMENT '合法标识,0-无效,1-有效',
+  `ts` timestamp NULL DEFAULT NULL COMMENT '乐观锁',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='文件信息表';
+```

+ 482 - 0
docs/file/file_api.md

@@ -0,0 +1,482 @@
+# dmp-file接口
+
+## 使用引导
+
+### 1.引入jar坐标(Maven方式)
+
+```
+<repository>
+	<id>persagy</id>
+	<url>http://47.93.132.139:8081/nexus/content/repositories/persagy</url>
+</repository>
+
+<dependency>
+    <groupId>com.persagy</groupId>
+	<artifactId>dmp-file-starter</artifactId>
+    <version>1.0.0</version>
+</dependency>
+```
+
+### 2.使用如下实例代码进行文件上传
+
+```java
+  FileInfo fileInfo = FileInfoCreator.of(groupCode, businessId, appName, fileName);
+  // 可对fileInfo属性额外配置。如有效期等
+  FileStorageHelper.uploadFile(fileInfo, inputStream);
+```
+
+### 3.配置说明
+
+```
+  # 使用的文件服务器,默认为MinIO。详见FileStorageEnum
+  persagy.common.file.storage=0
+  # MinIO服务地址、账号、密码
+  persagy.common.file.url=http://192.168.25.129:9000/
+  persagy.common.file.accessKey=admin
+  persagy.common.file.secretKey=********
+  # typeHandler扫描
+  mybatis-plus.typeHandlersPackage=com.persagy.**.typehandler
+```
+
+
+## 文件管理接口
+
+### 41001 保存文件信息
+
+#### 接口
+
+`http://localhost:8831/dmp-file/file/insert`
+
+#### 请求方式
+
+POST请求
+
+#### RequestHeader
+
+| key          | value            |
+| ------------ | ---------------- |
+| Content-Type | application/json |
+
+#### RequestParam(URL中的Path参数)
+
+| 字段      | 是否必须 | 字段说明 |
+| --------- | -------- | -------- |
+| userId    | 是       | 用户id   |
+| groupCode | 否       | 集团编码 |
+| projectId | 否       | 项目id   |
+| appId     | 否       | 应用id   |
+
+#### 参数例子
+
+```
+{
+  "groupCode": "PG",
+  "fileName": "major",
+  "fileType": "专业",
+  "fileBucket": "Testing",
+  "filePath":12,
+  "fileSize":"**",
+  "businessId":"20210813000000",
+  "expireDate":"***"
+}
+```
+
+| 字段       | 是否必须 | 字段说明                                |
+| ---------- | -------- | --------------------------------------- |
+| groupCode  | 是       | 集团编码:租户                          |
+| fileName   | 是       | 文件名称:显示用                         |
+| fileType   | 否       | 文件类型:0-文件,1-目录                |
+| fileBucket | 是       | 文件分组:默认为应用名                   |
+| filePath   | 否       | 文件路径:含文件名称 - 对应文件存储路径 |
+| fileSize   | 否       | 文件大小                                |
+| businessId | 否       | 关联业务Id                              |
+| expireDate | 否       | 保留期限                                |
+
+#### 成功例子
+
+```
+{
+    "result": "success",
+    "data": {
+      "id": "dev_1",
+      "groupCode": "PG",
+      "fileName": "major",
+      "fileType": "专业",
+      "fileBucket": "Testing",
+      "filePath":12,
+      "fileSize":"**",
+      "businessId":"20210813000000",
+      "expireDate":"***",
+      "creationTime": "20210813000000",
+      "creator": "wdl",
+      "modifiedTime": "20210813000000",
+      "modifier": "wdl",
+      "valid": 1
+    },
+    "count": 26
+}
+```
+
+| 字段         | 是否必有 | 字段说明                                              |
+| ------------ | -------- | ----------------------------------------------------- |
+| id           | 是       | 32位UUID                                              |
+| groupCode  | 是       | 集团编码:租户                          |
+| fileName   | 是       | 文件名称:显示用                         |
+| fileType   | 是       | 文件类型:0-文件,1-目录                |
+| fileBucket | 否       | 文件分组:默认为应用名                   |
+| filePath   | 是       | 文件路径:含文件名称 - 对应文件存储路径 |
+| fileSize   | 是       | 文件大小                                |
+| businessId | 是       | 关联业务Id                              |
+| expireDate | 否       | 保留期限                                |
+| creationTime | 否       | 创建时间,格式为yyyyMMddHHmmss                         |
+| creator      | 否       | 创建人账号id                                          |
+| modifiedTime | 否       | 最后更新时间,格式为yyyyMMddHHmmss                     |
+| modifier     | 否       | 最后更新账号id                                        |
+| valid        | 否       | 有效状态,0-无效,1-有效                                |
+
+#### 接口修改记录
+
+| 操作时间              | 操作 | 操作内容 |
+| --------------------- | ---- | -------- |
+| 2021年8月17日10:39:56 | 新增 | 新增接口 |
+
+
+
+### 41002 更新文件信息
+
+#### 接口
+
+`http://localhost:8831/dmp-file/file/update`
+
+#### 请求方式
+
+POST请求
+
+#### RequestHeader
+
+| key          | value            |
+| ------------ | ---------------- |
+| Content-Type | application/json |
+
+#### RequestParam(URL中的Path参数)
+
+| 字段      | 是否必须 | 字段说明 |
+| --------- | -------- | -------- |
+| userId    | 是       | 用户id   |
+| groupCode | 否       | 集团编码 |
+| projectId | 否       | 项目id   |
+| appId     | 否       | 应用id   |
+
+#### 参数例子
+
+```
+{
+    "id": "dev_1",
+    "groupCode": "PG",
+    "fileName": "major",
+    "fileType": "专业",
+    "fileBucket": "Testing",
+    "filePath":12,
+    "fileSize":"**",
+    "businessId":"20210813000000",
+    "expireDate":"***",
+    "creationTime": "20210813000000",
+    "creator": "wdl",
+    "modifiedTime": "20210813000000",
+    "modifier": "wdl",
+    "valid": 1
+}
+```
+
+| 字段         | 是否必须 | 字段说明                                |
+| ------------ | -------- | --------------------------------------- |
+| id           | 是       | 32位UUID                                |
+| groupCode    | 是       | 集团编码:租户                          |
+| fileName     | 是       | 文件名称:显示用                         |
+| fileType     | 否       | 文件类型:0-文件,1-目录                |
+| fileBucket   | 是       | 文件分组:默认为应用名                   |
+| filePath     | 否       | 文件路径:含文件名称 - 对应文件存储路径 |
+| fileSize     | 否       | 文件大小                                |
+| businessId   | 否       | 关联业务Id                              |
+| expireDate   | 否       | 保留期限                                |
+| creationTime | 否       | 创建时间,格式为yyyyMMddHHmmss           |
+| creator      | 否       | 创建人账号id                            |
+| modifiedTime | 否       | 最后更新时间,格式为yyyyMMddHHmmss       |
+| modifier     | 否       | 最后更新账号id                          |
+| valid        | 否       | 有效状态,0-无效,1-有效                  |
+
+#### 成功例子
+
+```
+{
+    "result": "success",
+    "data": {
+      "id": "dev_1",
+      "groupCode": "PG",
+      "fileName": "major",
+      "fileType": "专业",
+      "fileBucket": "Testing",
+      "filePath":12,
+      "fileSize":"**",
+      "businessId":"20210813000000",
+      "expireDate":"***",
+      "creationTime": "20210813000000",
+      "creator": "wdl",
+      "modifiedTime": "20210813000000",
+      "modifier": "wdl",
+      "valid": 1
+    },
+    "count": 26
+}
+```
+
+| 字段         | 是否必有 | 字段说明                                |
+| ------------ | -------- | --------------------------------------- |
+| id           | 是       | 32位UUID                                |
+| groupCode    | 是       | 集团编码:租户                          |
+| fileName     | 是       | 文件名称:显示用                         |
+| fileType     | 是       | 文件类型:0-文件,1-目录                |
+| fileBucket   | 否       | 文件分组:默认为应用名                   |
+| filePath     | 是       | 文件路径:含文件名称 - 对应文件存储路径 |
+| fileSize     | 是       | 文件大小                                |
+| businessId   | 是       | 关联业务Id                              |
+| expireDate   | 否       | 保留期限                                |
+| creationTime | 否       | 创建时间,格式为yyyyMMddHHmmss           |
+| creator      | 否       | 创建人账号id                            |
+| modifiedTime | 否       | 最后更新时间,格式为yyyyMMddHHmmss       |
+| modifier     | 否       | 最后更新账号id                          |
+| valid        | 否       | 有效状态,0-无效,1-有效                  |
+
+#### 接口修改记录
+
+| 操作时间              | 操作 | 操作内容 |
+| --------------------- | ---- | -------- |
+| 2021年8月17日10:39:56 | 新增 | 新增接口 |
+
+
+
+### 41003 删除文件信息
+
+#### 接口
+
+`http://localhost:8831/dmp-file/file/delete`
+
+#### 请求方式
+
+POST请求
+
+#### RequestHeader
+
+| key          | value            |
+| ------------ | ---------------- |
+| Content-Type | application/json |
+
+#### RequestParam(URL中的Path参数)
+
+| 字段      | 是否必须 | 字段说明 |
+| --------- | -------- | -------- |
+| userId    | 是       | 用户id   |
+| groupCode | 否       | 集团编码 |
+| projectId | 否       | 项目id   |
+| appId     | 否       | 应用id   |
+
+#### 参数例子
+
+```
+"***"
+```
+
+| 字段 | 是否必须 | 字段说明 |
+| ---- | -------- | -------- |
+| id   | 是       | 32位UUID |
+
+#### 成功例子
+
+```
+{
+    "result": "success"
+}
+```
+
+#### 接口修改记录
+
+| 操作时间              | 操作 | 操作内容 |
+| --------------------- | ---- | -------- |
+| 2021年8月17日10:43:38 | 新增 | 新增接口 |
+
+
+
+### 41004 根据文件id查找文件信息
+
+#### 接口
+
+`http://localhost:8831/dmp-file/file/load`
+
+#### 请求方式
+
+POST请求
+
+#### RequestHeader
+
+| key          | value            |
+| ------------ | ---------------- |
+| Content-Type | application/json |
+
+#### RequestParam(URL中的Path参数)
+
+| 字段      | 是否必须 | 字段说明 |
+| --------- | -------- | -------- |
+| userId    | 是       | 用户id   |
+| groupCode | 否       | 集团编码 |
+| projectId | 否       | 项目id   |
+| appId     | 否       | 应用id   |
+
+#### 参数例子
+
+```
+"***"
+```
+
+| 字段 | 是否必须 | 字段说明 |
+| ---- | -------- | -------- |
+| id   | 是       | 32位UUID |
+
+#### 成功例子
+
+```
+{
+    "result": "success",
+    "data": {
+      "id": "dev_1",
+      "groupCode": "PG",
+      "fileName": "major",
+      "fileType": "专业",
+      "fileBucket": "Testing",
+      "filePath":12,
+      "fileSize":"**",
+      "businessId":"20210813000000",
+      "expireDate":"***",
+      "creationTime": "20210813000000",
+      "creator": "wdl",
+      "modifiedTime": "20210813000000",
+      "modifier": "wdl",
+      "valid": 1
+    },
+    "count": 26
+}
+```
+
+| 字段         | 是否必有 | 字段说明                                |
+| ------------ | -------- | --------------------------------------- |
+| id           | 是       | 32位UUID                                |
+| groupCode    | 是       | 集团编码:租户                          |
+| fileName     | 是       | 文件名称:显示用                         |
+| fileType     | 是       | 文件类型:0-文件,1-目录                |
+| fileBucket   | 否       | 文件分组:默认为应用名                   |
+| filePath     | 是       | 文件路径:含文件名称 - 对应文件存储路径 |
+| fileSize     | 是       | 文件大小                                |
+| businessId   | 是       | 关联业务Id                              |
+| expireDate   | 否       | 保留期限                                |
+| creationTime | 否       | 创建时间,格式为yyyyMMddHHmmss           |
+| creator      | 否       | 创建人账号id                            |
+| modifiedTime | 否       | 最后更新时间,格式为yyyyMMddHHmmss       |
+| modifier     | 否       | 最后更新账号id                          |
+| valid        | 否       | 有效状态,0-无效,1-有效                  |
+
+#### 接口修改记录
+
+| 操作时间 | 操作 | 操作内容 |
+| -------- | ---- | -------- |
+|          | 新增 | 新增接口 |
+
+
+
+### 41005 根据业务应用id查找文件信息
+
+#### 接口
+
+`http://localhost:8831/dmp-file/file/queryByBusiness`
+
+#### 请求方式
+
+POST请求
+
+#### RequestHeader
+
+| key          | value            |
+| ------------ | ---------------- |
+| Content-Type | application/json |
+
+#### RequestParam(URL中的Path参数)
+
+| 字段      | 是否必须 | 字段说明 |
+| --------- | -------- | -------- |
+| userId    | 是       | 用户id   |
+| groupCode | 否       | 集团编码 |
+| projectId | 否       | 项目id   |
+| appId     | 否       | 应用id   |
+
+#### 参数例子
+
+```
+"***"
+```
+
+| 字段 | 是否必须 | 字段说明 |
+| ---- | -------- | -------- |
+| id   | 是       | 32位UUID |
+
+#### 成功例子
+
+```
+{
+    "result": "success",
+    "data": [
+        {
+          "id": "dev_1",
+          "groupCode": "PG",
+          "fileName": "major",
+          "fileType": "专业",
+          "fileBucket": "Testing",
+          "filePath":12,
+          "fileSize":"**",
+          "businessId":"20210813000000",
+          "expireDate":"***",
+          "creationTime": "20210813000000",
+          "creator": "wdl",
+          "modifiedTime": "20210813000000",
+          "modifier": "wdl",
+          "valid": 1
+        }
+    ],
+    "count": 26
+}
+```
+
+| 字段         | 是否必有 | 字段说明                                |
+| ------------ | -------- | --------------------------------------- |
+| id           | 是       | 32位UUID                                |
+| groupCode    | 是       | 集团编码:租户                          |
+| fileName     | 是       | 文件名称:显示用                         |
+| fileType     | 是       | 文件类型:0-文件,1-目录                |
+| fileBucket   | 否       | 文件分组:默认为应用名                   |
+| filePath     | 是       | 文件路径:含文件名称 - 对应文件存储路径 |
+| fileSize     | 是       | 文件大小                                |
+| businessId   | 是       | 关联业务Id                              |
+| expireDate   | 否       | 保留期限                                |
+| creationTime | 否       | 创建时间,格式为yyyyMMddHHmmss           |
+| creator      | 否       | 创建人账号id                            |
+| modifiedTime | 否       | 最后更新时间,格式为yyyyMMddHHmmss       |
+| modifier     | 否       | 最后更新账号id                          |
+| valid        | 否       | 有效状态,0-无效,1-有效                  |
+
+#### 接口修改记录
+
+| 操作时间              | 操作 | 操作内容 |
+| --------------------- | ---- | -------- |
+| 2021年8月17日10:46:06 | 新增 | 新增接口 |
+
+
+
+
+

+ 5 - 0
docs/file/index.md

@@ -0,0 +1,5 @@
+# 版本管理
+
+## [接口文档](/file/file_api.md)
+
+## [数据结构设计](/file/data_structure_description.md)

+ 1 - 1
docs/version/data_structure_description.md

@@ -2,7 +2,7 @@
 
 ## 数据结构
 
-### 1.对象实例表(dt_object
+### 1.版本定义表(dt_define_version
 
 | 字段          | 字段说明       | 数据类型    | 备注                                         |
 | ------------- | -------------- | ----------- | -------------------------------------------- |