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