feat: 添加批量导入功能
1. 添加用户、课程任务和部门的批量导入功能 2. 优化错误处理逻辑,提供更详细的错误信息 3. 更新API文档,添加批量导入接口说明
This commit is contained in:
92
API文档.md
92
API文档.md
@ -545,9 +545,101 @@
|
||||
}
|
||||
```
|
||||
|
||||
## 批量导入接口
|
||||
|
||||
### 1. 批量导入用户
|
||||
|
||||
- **接口**:`POST /api/import/users`
|
||||
- **描述**:通过 Excel 文件批量导入用户
|
||||
- **认证**:需要
|
||||
- **请求体**:
|
||||
- `Content-Type`: `multipart/form-data`
|
||||
- `file`: Excel 文件(.xlsx)
|
||||
- **Excel 文件格式**:
|
||||
| 用户名 | 邮箱 | 密码 | 部门名称 |
|
||||
|--------|------|------|----------|
|
||||
| 张三 | zhangsan@example.com | 123456 | 技术部 |
|
||||
- **成功响应**:
|
||||
```json
|
||||
{
|
||||
"code": 10000,
|
||||
"message": "成功",
|
||||
"data": "成功导入2条数据"
|
||||
}
|
||||
```
|
||||
- **错误响应**:
|
||||
```json
|
||||
{
|
||||
"code": 10012,
|
||||
"message": "成功导入0条数据。错误信息:第2行邮箱已存在;第3行部门不存在;",
|
||||
"data": null
|
||||
}
|
||||
```
|
||||
|
||||
### 2. 批量导入课程任务
|
||||
|
||||
- **接口**:`POST /api/import/lesson-tasks`
|
||||
- **描述**:通过 Excel 文件批量导入课程任务
|
||||
- **认证**:需要
|
||||
- **请求体**:
|
||||
- `Content-Type`: `multipart/form-data`
|
||||
- `file`: Excel 文件(.xlsx)
|
||||
- **Excel 文件格式**:
|
||||
| 课程名称 | 微课名称 | 教师邮箱 |
|
||||
|----------|----------|-----------|
|
||||
| 数学课程 | 第一章 | teacher@example.com |
|
||||
- **成功响应**:
|
||||
```json
|
||||
{
|
||||
"code": 10000,
|
||||
"message": "成功",
|
||||
"data": "成功导入3条数据"
|
||||
}
|
||||
```
|
||||
- **错误响应**:
|
||||
```json
|
||||
{
|
||||
"code": 10012,
|
||||
"message": "成功导入0条数据。错误信息:第2行未找到教师用户(teacher@example.com);",
|
||||
"data": null
|
||||
}
|
||||
```
|
||||
|
||||
### 3. 批量导入部门
|
||||
|
||||
- **接口**:`POST /api/import/departments`
|
||||
- **描述**:通过 Excel 文件批量导入部门
|
||||
- **认证**:需要
|
||||
- **请求体**:
|
||||
- `Content-Type`: `multipart/form-data`
|
||||
- `file`: Excel 文件(.xlsx)
|
||||
- **Excel 文件格式**:
|
||||
| 部门名称 | 部门描述 |
|
||||
|----------|----------|
|
||||
| 技术部 | 负责技术研发 |
|
||||
- **成功响应**:
|
||||
```json
|
||||
{
|
||||
"code": 10000,
|
||||
"message": "成功",
|
||||
"data": "成功导入2条数据"
|
||||
}
|
||||
```
|
||||
- **错误响应**:
|
||||
```json
|
||||
{
|
||||
"code": 10012,
|
||||
"message": "成功导入0条数据。错误信息:第2行部门名称已存在;",
|
||||
"data": null
|
||||
}
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. 所有时间戳字段均使用秒级时间戳(10 位)
|
||||
2. 课程任务状态变更时会自动记录相应的时间戳
|
||||
3. 部门课程任务列表会额外返回用户名信息
|
||||
4. 分页参数中的页码从 1 开始
|
||||
5. 批量导入时,Excel 文件必须严格按照模板格式填写
|
||||
6. 批量导入时,如果某行数据导入失败,会在返回信息中说明具体原因
|
||||
7. 批量导入时,如果全部数据导入失败,会返回错误状态码(10012)
|
||||
|
||||
Reference in New Issue
Block a user