228 lines
4.7 KiB
Markdown
228 lines
4.7 KiB
Markdown
|
|
# 文件上传 API 文档
|
|||
|
|
|
|||
|
|
## 1. 批量上传文件
|
|||
|
|
|
|||
|
|
### 接口地址
|
|||
|
|
POST /ccdi/file-upload/batch
|
|||
|
|
|
|||
|
|
### 请求参数
|
|||
|
|
| 参数 | 类型 | 必填 | 说明 |
|
|||
|
|
|------|------|------|------|
|
|||
|
|
| projectId | Long | 是 | 项目ID |
|
|||
|
|
| files | File[] | 是 | 文件数组(最多100个,单个最大50MB) |
|
|||
|
|
|
|||
|
|
### 请求示例
|
|||
|
|
```bash
|
|||
|
|
curl -X POST "http://localhost:8080/ccdi/file-upload/batch" \
|
|||
|
|
-H "Authorization: Bearer YOUR_TOKEN" \
|
|||
|
|
-F "projectId=1" \
|
|||
|
|
-F "files=@/path/to/file1.xlsx" \
|
|||
|
|
-F "files=@/path/to/file2.xlsx"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 返回示例
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "上传任务已提交",
|
|||
|
|
"data": "a1b2c3d4e5f6g7h8"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 返回字段说明
|
|||
|
|
| 字段 | 类型 | 说明 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| code | Integer | 状态码,200表示成功 |
|
|||
|
|
| msg | String | 提示信息 |
|
|||
|
|
| data | String | 批次ID,用于追踪上传任务 |
|
|||
|
|
|
|||
|
|
### 错误码说明
|
|||
|
|
| code | msg | 说明 |
|
|||
|
|
|------|-----|------|
|
|||
|
|
| 500 | 项目ID不能为空 | 缺少必填参数 |
|
|||
|
|
| 500 | 请选择要上传的文件 | 文件数组为空 |
|
|||
|
|
| 500 | 单次最多上传100个文件 | 文件数量超限 |
|
|||
|
|
| 500 | 文件 xxx 超过50MB限制 | 文件大小超限 |
|
|||
|
|
| 500 | 文件 xxx 格式不支持,仅支持Excel文件 | 文件格式错误 |
|
|||
|
|
| 500 | 系统繁忙,请稍后再试 | 线程池已满 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 2. 查询上传记录列表
|
|||
|
|
|
|||
|
|
### 接口地址
|
|||
|
|
GET /ccdi/file-upload/list
|
|||
|
|
|
|||
|
|
### 请求参数
|
|||
|
|
| 参数 | 类型 | 必填 | 说明 |
|
|||
|
|
|------|------|------|------|
|
|||
|
|
| projectId | Long | 否 | 项目ID |
|
|||
|
|
| fileStatus | String | 否 | 文件状态:uploading/parsing/parsed_success/parsed_failed |
|
|||
|
|
| fileName | String | 否 | 文件名称(模糊查询) |
|
|||
|
|
| uploadUser | String | 否 | 上传人 |
|
|||
|
|
| pageNum | Integer | 否 | 页码,默认1 |
|
|||
|
|
| pageSize | Integer | 否 | 每页数量,默认10 |
|
|||
|
|
|
|||
|
|
### 请求示例
|
|||
|
|
```bash
|
|||
|
|
curl -X GET "http://localhost:8080/ccdi/file-upload/list?projectId=1&fileStatus=parsed_success&pageNum=1&pageSize=10" \
|
|||
|
|
-H "Authorization: Bearer YOUR_TOKEN"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 返回示例
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "查询成功",
|
|||
|
|
"rows": [
|
|||
|
|
{
|
|||
|
|
"id": 1,
|
|||
|
|
"projectId": 1,
|
|||
|
|
"lsfxProjectId": 100,
|
|||
|
|
"logId": 123456,
|
|||
|
|
"fileName": "流水1.xlsx",
|
|||
|
|
"fileSize": 2621440,
|
|||
|
|
"fileStatus": "parsed_success",
|
|||
|
|
"enterpriseNames": "张三,李四",
|
|||
|
|
"accountNos": "622xxx,623xxx",
|
|||
|
|
"uploadTime": "2026-03-05 10:30:00",
|
|||
|
|
"uploadUser": "admin"
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
"total": 100
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 返回字段说明
|
|||
|
|
| 字段 | 类型 | 说明 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| rows | Array | 记录列表 |
|
|||
|
|
| total | Long | 总记录数 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 3. 查询上传统计
|
|||
|
|
|
|||
|
|
### 接口地址
|
|||
|
|
GET /ccdi/file-upload/statistics/{projectId}
|
|||
|
|
|
|||
|
|
### 路径参数
|
|||
|
|
| 参数 | 类型 | 必填 | 说明 |
|
|||
|
|
|------|------|------|------|
|
|||
|
|
| projectId | Long | 是 | 项目ID |
|
|||
|
|
|
|||
|
|
### 请求示例
|
|||
|
|
```bash
|
|||
|
|
curl -X GET "http://localhost:8080/ccdi/file-upload/statistics/1" \
|
|||
|
|
-H "Authorization: Bearer YOUR_TOKEN"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 返回示例
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "查询成功",
|
|||
|
|
"data": {
|
|||
|
|
"uploading": 2,
|
|||
|
|
"parsing": 3,
|
|||
|
|
"parsedSuccess": 15,
|
|||
|
|
"parsedFailed": 1,
|
|||
|
|
"total": 21
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 返回字段说明
|
|||
|
|
| 字段 | 类型 | 说明 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| uploading | Long | 上传中数量 |
|
|||
|
|
| parsing | Long | 解析中数量 |
|
|||
|
|
| parsedSuccess | Long | 解析成功数量 |
|
|||
|
|
| parsedFailed | Long | 解析失败数量 |
|
|||
|
|
| total | Long | 总数量 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 4. 查询记录详情
|
|||
|
|
|
|||
|
|
### 接口地址
|
|||
|
|
GET /ccdi/file-upload/detail/{id}
|
|||
|
|
|
|||
|
|
### 路径参数
|
|||
|
|
| 参数 | 类型 | 必填 | 说明 |
|
|||
|
|
|------|------|------|------|
|
|||
|
|
| id | Long | 是 | 记录ID |
|
|||
|
|
|
|||
|
|
### 请求示例
|
|||
|
|
```bash
|
|||
|
|
curl -X GET "http://localhost:8080/ccdi/file-upload/detail/1" \
|
|||
|
|
-H "Authorization: Bearer YOUR_TOKEN"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 返回示例
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "查询成功",
|
|||
|
|
"data": {
|
|||
|
|
"id": 1,
|
|||
|
|
"projectId": 1,
|
|||
|
|
"lsfxProjectId": 100,
|
|||
|
|
"logId": 123456,
|
|||
|
|
"fileName": "流水1.xlsx",
|
|||
|
|
"fileSize": 2621440,
|
|||
|
|
"fileStatus": "parsed_success",
|
|||
|
|
"enterpriseNames": "张三,李四",
|
|||
|
|
"accountNos": "622xxx,623xxx",
|
|||
|
|
"errorMessage": null,
|
|||
|
|
"uploadTime": "2026-03-05 10:30:00",
|
|||
|
|
"uploadUser": "admin"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 5. 文件状态说明
|
|||
|
|
|
|||
|
|
| 状态 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| uploading | 文件上传中 |
|
|||
|
|
| parsing | 文件解析中 |
|
|||
|
|
| parsed_success | 文件解析成功 |
|
|||
|
|
| parsed_failed | 文件解析失败 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 6. 通用说明
|
|||
|
|
|
|||
|
|
### 认证方式
|
|||
|
|
所有接口需要在请求头中携带 Token:
|
|||
|
|
```
|
|||
|
|
Authorization: Bearer YOUR_TOKEN
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 获取 Token
|
|||
|
|
```bash
|
|||
|
|
POST /login/test?username=admin&password=admin123
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 响应格式
|
|||
|
|
所有接口统一返回格式:
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "操作成功",
|
|||
|
|
"data": {}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 错误处理
|
|||
|
|
当发生错误时,返回格式:
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 500,
|
|||
|
|
"msg": "错误信息"
|
|||
|
|
}
|
|||
|
|
```
|