2.8 KiB
2.8 KiB
员工信息导入相关接口文档
1. 导入员工信息(异步)
接口地址: POST /ccdi/employee/importData
权限标识: ccdi:employee:import
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| file | File | 是 | Excel文件 |
| updateSupport | boolean | 否 | 是否更新已存在的数据,默认false |
响应示例:
{
"code": 200,
"msg": "导入任务已提交,正在后台处理",
"data": {
"taskId": "uuid-string",
"status": "PROCESSING",
"message": "导入任务已提交,正在后台处理"
}
}
2. 查询导入状态
接口地址: GET /ccdi/employee/importStatus/{taskId}
权限标识: 无
路径参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| taskId | String | 是 | 任务ID |
响应示例:
{
"code": 200,
"data": {
"taskId": "uuid-string",
"status": "SUCCESS",
"totalCount": 100,
"successCount": 95,
"failureCount": 5,
"progress": 100,
"startTime": 1707225600000,
"endTime": 1707225900000,
"message": "导入完成"
}
}
状态说明:
| 状态值 | 说明 |
|---|---|
| PROCESSING | 处理中 |
| SUCCESS | 全部成功 |
| PARTIAL_SUCCESS | 部分成功 |
| FAILED | 全部失败 |
3. 查询导入失败记录
接口地址: GET /ccdi/employee/importFailures/{taskId}
权限标识: 无
路径参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| taskId | String | 是 | 任务ID |
查询参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| pageNum | Integer | 否 | 页码,默认1 |
| pageSize | Integer | 否 | 每页条数,默认10 |
响应示例:
{
"code": 200,
"rows": [
{
"employeeId": "1234567",
"name": "张三",
"idCard": "110101199001011234",
"deptId": 100,
"phone": "13800138000",
"status": "0",
"hireDate": "2020-01-01",
"errorMessage": "身份证号格式错误"
}
],
"total": 5
}
使用流程
- 前端调用导入接口上传Excel文件
- 后端立即返回taskId
- 前端每2秒轮询查询导入状态
- 导入完成后显示结果
- 如有失败,显示"查看导入失败记录"按钮
- 用户点击按钮查看失败记录详情
注意事项
- Redis中存储的导入状态和失败记录保留7天
- taskId如果过期或不存在,查询接口会返回错误
- 导入是异步处理,大量数据导入不会阻塞HTTP请求
- 失败记录只保存失败的数据,成功的数据不会存储