# dmp-file接口
## 使用引导
### 1.引入jar坐标(Maven方式)
```
persagy
http://47.93.132.139:8081/nexus/content/repositories/persagy
com.persagy
dmp-file-starter
1.0.0
```
### 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 | 新增 | 新增接口 |