2026-01-28 14:40:27 +08:00
|
|
|
|
# 员工信息管理 API 文档
|
|
|
|
|
|
|
|
|
|
|
|
## 概述
|
|
|
|
|
|
|
2026-02-05 14:18:28 +08:00
|
|
|
|
员工信息管理模块提供员工信息的增删改查、批量导入导出功能。
|
2026-01-28 14:40:27 +08:00
|
|
|
|
|
2026-01-30 14:15:21 +08:00
|
|
|
|
**基础路径**: `/ccdi/employee`
|
2026-01-28 14:40:27 +08:00
|
|
|
|
|
2026-02-05 14:18:28 +08:00
|
|
|
|
**权限标识前缀**: `ccdi:employee`
|
|
|
|
|
|
|
|
|
|
|
|
**重要更新**: 自2026-02-05起,员工ID(employeeId)作为柜员号使用,为7位数字,手动输入,唯一不可重复。
|
2026-01-28 14:40:27 +08:00
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## API 接口列表
|
|
|
|
|
|
|
|
|
|
|
|
### 1. 查询员工列表
|
|
|
|
|
|
|
2026-01-30 14:15:21 +08:00
|
|
|
|
**接口地址**: `GET /ccdi/employee/list`
|
2026-01-28 14:40:27 +08:00
|
|
|
|
|
2026-02-05 14:18:28 +08:00
|
|
|
|
**权限要求**: `ccdi:employee:list`
|
2026-01-28 14:40:27 +08:00
|
|
|
|
|
|
|
|
|
|
**请求参数**:
|
|
|
|
|
|
|
|
|
|
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|
|
|
|
|
|--------|------|------|------|
|
2026-02-05 14:18:28 +08:00
|
|
|
|
| name | String | 否 | 姓名(模糊查询) |
|
|
|
|
|
|
| employeeId | Long | 否 | 员工ID(柜员号,精确查询,7位数字) |
|
2026-01-28 16:57:38 +08:00
|
|
|
|
| deptId | Long | 否 | 所属部门ID |
|
2026-02-05 14:18:28 +08:00
|
|
|
|
| idCard | String | 否 | 身份证号(精确查询) |
|
|
|
|
|
|
| status | String | 否 | 状态(0=在职, 1=离职) |
|
|
|
|
|
|
| pageNum | Integer | 否 | 页码(默认1) |
|
|
|
|
|
|
| pageSize | Integer | 否 | 每页数量(默认10) |
|
2026-01-28 14:40:27 +08:00
|
|
|
|
|
|
|
|
|
|
**响应示例**:
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"code": 200,
|
|
|
|
|
|
"msg": "操作成功",
|
|
|
|
|
|
"rows": [
|
|
|
|
|
|
{
|
2026-02-05 14:18:28 +08:00
|
|
|
|
"employeeId": 1000001,
|
2026-01-28 14:40:27 +08:00
|
|
|
|
"name": "张三",
|
2026-01-28 16:57:38 +08:00
|
|
|
|
"deptId": 100,
|
|
|
|
|
|
"deptName": "总部",
|
2026-01-28 14:40:27 +08:00
|
|
|
|
"idCard": "110101199001011234",
|
|
|
|
|
|
"phone": "13800138000",
|
|
|
|
|
|
"hireDate": "2020-01-01",
|
|
|
|
|
|
"status": "0",
|
|
|
|
|
|
"statusDesc": "在职",
|
|
|
|
|
|
"createTime": "2026-01-28 10:00:00"
|
|
|
|
|
|
}
|
|
|
|
|
|
],
|
|
|
|
|
|
"total": 1
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-01-28 16:57:38 +08:00
|
|
|
|
**响应字段说明**:
|
|
|
|
|
|
|
|
|
|
|
|
| 字段名 | 类型 | 说明 |
|
|
|
|
|
|
|--------|------|------|
|
2026-02-05 14:18:28 +08:00
|
|
|
|
| employeeId | Long | 员工ID(柜员号,7位数字) |
|
2026-01-28 16:57:38 +08:00
|
|
|
|
| name | String | 姓名 |
|
|
|
|
|
|
| deptId | Long | 所属部门ID |
|
2026-02-05 14:18:28 +08:00
|
|
|
|
| deptName | String | 所属部门名称(关联 sys_dept 表) |
|
2026-01-28 16:57:38 +08:00
|
|
|
|
| idCard | String | 身份证号 |
|
|
|
|
|
|
| phone | String | 电话 |
|
|
|
|
|
|
| hireDate | Date | 入职时间 |
|
2026-02-05 14:18:28 +08:00
|
|
|
|
| status | String | 状态(0=在职, 1=离职) |
|
2026-01-28 16:57:38 +08:00
|
|
|
|
| statusDesc | String | 状态描述 |
|
|
|
|
|
|
| createTime | Date | 创建时间 |
|
|
|
|
|
|
|
2026-01-28 14:40:27 +08:00
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
### 2. 查询员工详情
|
|
|
|
|
|
|
2026-01-30 14:15:21 +08:00
|
|
|
|
**接口地址**: `GET /ccdi/employee/{employeeId}`
|
2026-01-28 14:40:27 +08:00
|
|
|
|
|
2026-02-05 14:18:28 +08:00
|
|
|
|
**权限要求**: `ccdi:employee:query`
|
2026-01-28 14:40:27 +08:00
|
|
|
|
|
|
|
|
|
|
**路径参数**:
|
|
|
|
|
|
|
|
|
|
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|
|
|
|
|
|--------|------|------|------|
|
2026-02-05 14:18:28 +08:00
|
|
|
|
| employeeId | Long | 是 | 员工ID(柜员号) |
|
2026-01-28 14:40:27 +08:00
|
|
|
|
|
|
|
|
|
|
**响应示例**:
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"code": 200,
|
|
|
|
|
|
"msg": "操作成功",
|
|
|
|
|
|
"data": {
|
2026-02-05 14:18:28 +08:00
|
|
|
|
"employeeId": 1000001,
|
2026-01-28 14:40:27 +08:00
|
|
|
|
"name": "张三",
|
2026-01-28 16:57:38 +08:00
|
|
|
|
"deptId": 100,
|
2026-01-28 14:40:27 +08:00
|
|
|
|
"idCard": "110101199001011234",
|
|
|
|
|
|
"phone": "13800138000",
|
|
|
|
|
|
"hireDate": "2020-01-01",
|
|
|
|
|
|
"status": "0",
|
|
|
|
|
|
"statusDesc": "在职",
|
2026-02-05 14:18:28 +08:00
|
|
|
|
"createTime": "2026-01-28 10:00:00"
|
2026-01-28 14:40:27 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
### 3. 新增员工
|
|
|
|
|
|
|
2026-01-30 14:15:21 +08:00
|
|
|
|
**接口地址**: `POST /ccdi/employee`
|
2026-01-28 14:40:27 +08:00
|
|
|
|
|
2026-02-05 14:18:28 +08:00
|
|
|
|
**权限要求**: `ccdi:employee:add`
|
2026-01-28 14:40:27 +08:00
|
|
|
|
|
|
|
|
|
|
**请求头**:
|
|
|
|
|
|
```
|
|
|
|
|
|
Content-Type: application/json
|
|
|
|
|
|
Authorization: Bearer {token}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
**请求体**:
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
2026-02-05 14:18:28 +08:00
|
|
|
|
"employeeId": 1000001,
|
2026-01-28 14:40:27 +08:00
|
|
|
|
"name": "张三",
|
2026-01-28 16:57:38 +08:00
|
|
|
|
"deptId": 100,
|
2026-01-28 14:40:27 +08:00
|
|
|
|
"idCard": "110101199001011234",
|
|
|
|
|
|
"phone": "13800138000",
|
|
|
|
|
|
"hireDate": "2020-01-01",
|
2026-02-05 14:18:28 +08:00
|
|
|
|
"status": "0"
|
2026-01-28 14:40:27 +08:00
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
**字段说明**:
|
|
|
|
|
|
|
|
|
|
|
|
| 字段名 | 类型 | 必填 | 说明 | 校验规则 |
|
|
|
|
|
|
|--------|------|------|------|----------|
|
2026-02-05 14:18:28 +08:00
|
|
|
|
| employeeId | Long | 是 | 员工ID(柜员号,7位数字) | 必填,7位数字,唯一 |
|
2026-01-28 14:40:27 +08:00
|
|
|
|
| name | String | 是 | 姓名 | 最大100字符 |
|
2026-01-28 16:57:38 +08:00
|
|
|
|
| deptId | Long | 否 | 所属部门ID | |
|
2026-02-05 14:18:28 +08:00
|
|
|
|
| idCard | String | 是 | 身份证号 | 18位,符合国标,唯一 |
|
2026-01-28 14:40:27 +08:00
|
|
|
|
| phone | String | 否 | 电话 | 11位手机号 |
|
|
|
|
|
|
| hireDate | Date | 否 | 入职时间 | yyyy-MM-dd |
|
|
|
|
|
|
| status | String | 是 | 状态 | 0=在职, 1=离职 |
|
|
|
|
|
|
|
|
|
|
|
|
**响应示例**:
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"code": 200,
|
|
|
|
|
|
"msg": "操作成功"
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
### 4. 编辑员工
|
|
|
|
|
|
|
2026-01-30 14:15:21 +08:00
|
|
|
|
**接口地址**: `PUT /ccdi/employee`
|
2026-01-28 14:40:27 +08:00
|
|
|
|
|
2026-02-05 14:18:28 +08:00
|
|
|
|
**权限要求**: `ccdi:employee:edit`
|
2026-01-28 14:40:27 +08:00
|
|
|
|
|
|
|
|
|
|
**请求体**:
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
2026-02-05 14:18:28 +08:00
|
|
|
|
"employeeId": 1000001,
|
2026-01-28 14:40:27 +08:00
|
|
|
|
"name": "张三",
|
2026-01-28 16:57:38 +08:00
|
|
|
|
"deptId": 100,
|
2026-01-28 14:40:27 +08:00
|
|
|
|
"idCard": "110101199001011234",
|
|
|
|
|
|
"phone": "13800138000",
|
|
|
|
|
|
"hireDate": "2020-01-01",
|
2026-02-05 14:18:28 +08:00
|
|
|
|
"status": "0"
|
2026-01-28 14:40:27 +08:00
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-02-05 14:18:28 +08:00
|
|
|
|
**字段说明**: 与新增接口相同,employeeId 为必填项,编辑时不可修改柜员号。
|
2026-01-28 14:40:27 +08:00
|
|
|
|
|
|
|
|
|
|
**响应示例**:
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"code": 200,
|
|
|
|
|
|
"msg": "操作成功"
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
### 5. 删除员工
|
|
|
|
|
|
|
2026-01-30 14:15:21 +08:00
|
|
|
|
**接口地址**: `DELETE /ccdi/employee/{employeeIds}`
|
2026-01-28 14:40:27 +08:00
|
|
|
|
|
2026-02-05 14:18:28 +08:00
|
|
|
|
**权限要求**: `ccdi:employee:remove`
|
2026-01-28 14:40:27 +08:00
|
|
|
|
|
|
|
|
|
|
**路径参数**:
|
|
|
|
|
|
|
|
|
|
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|
|
|
|
|
|--------|------|------|------|
|
|
|
|
|
|
| employeeIds | Long[] | 是 | 员工ID数组(逗号分隔) |
|
|
|
|
|
|
|
|
|
|
|
|
**响应示例**:
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"code": 200,
|
|
|
|
|
|
"msg": "操作成功"
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
### 6. 导出员工信息
|
|
|
|
|
|
|
2026-01-30 14:15:21 +08:00
|
|
|
|
**接口地址**: `POST /ccdi/employee/export`
|
2026-01-28 14:40:27 +08:00
|
|
|
|
|
2026-02-05 14:18:28 +08:00
|
|
|
|
**权限要求**: `ccdi:employee:export`
|
2026-01-28 14:40:27 +08:00
|
|
|
|
|
2026-02-05 14:18:28 +08:00
|
|
|
|
**请求参数**: 与查询列表接口相同(支持筛选条件)
|
2026-01-28 14:40:27 +08:00
|
|
|
|
|
|
|
|
|
|
**响应**: Excel 文件下载
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
2026-02-05 14:18:28 +08:00
|
|
|
|
### 7. 下载导入模板(带字典下拉框)
|
2026-01-28 14:40:27 +08:00
|
|
|
|
|
2026-01-30 14:15:21 +08:00
|
|
|
|
**接口地址**: `POST /ccdi/employee/importTemplate`
|
2026-01-28 14:40:27 +08:00
|
|
|
|
|
|
|
|
|
|
**权限要求**: 无
|
|
|
|
|
|
|
2026-02-05 14:18:28 +08:00
|
|
|
|
**功能说明**: 下载的 Excel 模板中,"状态"列会自动添加字典下拉框,方便用户选择。
|
2026-01-29 13:39:47 +08:00
|
|
|
|
|
2026-01-28 14:40:27 +08:00
|
|
|
|
**响应**: Excel 模板文件下载
|
|
|
|
|
|
|
2026-01-29 13:39:47 +08:00
|
|
|
|
**Excel 格式说明**:
|
|
|
|
|
|
|
|
|
|
|
|
**Sheet1: 员工信息**
|
|
|
|
|
|
| 姓名 | 柜员号 | 所属部门ID | 身份证号 | 电话 | 入职时间 | 状态▼ |
|
|
|
|
|
|
|------|--------|------------|----------|------|----------|------|
|
2026-02-05 14:18:28 +08:00
|
|
|
|
| 张三 | 1000001 | 100 | 110101199001011234 | 13800138000 | 2020-01-01 | 在职 |
|
2026-01-29 13:39:47 +08:00
|
|
|
|
|
2026-02-05 14:18:28 +08:00
|
|
|
|
**注**: 带 ▼ 标记的列包含下拉框,选项来自字典 `ccdi_employee_status`。
|
2026-01-29 13:39:47 +08:00
|
|
|
|
|
|
|
|
|
|
**使用 @DictDropdown 注解实现**:
|
2026-01-30 14:15:21 +08:00
|
|
|
|
- 状态字段使用 `@DictDropdown(dictType = "ccdi_employee_status")` 注解
|
2026-01-29 13:39:47 +08:00
|
|
|
|
- 系统自动从 Redis 缓存读取字典数据并生成下拉框
|
2026-02-05 14:18:28 +08:00
|
|
|
|
- 下拉选项可动态更新,刷新字典缓存后生效
|
2026-01-29 13:39:47 +08:00
|
|
|
|
|
2026-01-28 14:40:27 +08:00
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
### 8. 导入员工信息
|
|
|
|
|
|
|
2026-01-30 14:15:21 +08:00
|
|
|
|
**接口地址**: `POST /ccdi/employee/importData`
|
2026-01-28 14:40:27 +08:00
|
|
|
|
|
2026-02-05 14:18:28 +08:00
|
|
|
|
**权限要求**: `ccdi:employee:import`
|
2026-01-28 14:40:27 +08:00
|
|
|
|
|
|
|
|
|
|
**请求参数**:
|
|
|
|
|
|
|
|
|
|
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|
|
|
|
|
|--------|------|------|------|
|
|
|
|
|
|
| file | File | 是 | Excel 文件 |
|
2026-02-05 14:18:28 +08:00
|
|
|
|
| updateSupport | Boolean | 否 | 是否更新已存在数据(默认false) |
|
2026-01-28 14:40:27 +08:00
|
|
|
|
|
|
|
|
|
|
**Excel 格式**:
|
|
|
|
|
|
|
|
|
|
|
|
**Sheet1: 员工信息**
|
2026-01-28 16:57:38 +08:00
|
|
|
|
| 姓名 | 柜员号 | 所属部门ID | 身份证号 | 电话 | 入职时间 | 状态 |
|
2026-01-28 14:40:27 +08:00
|
|
|
|
|------|--------|------------|----------|------|----------|------|
|
2026-02-05 14:18:28 +08:00
|
|
|
|
| 张三 | 1000001 | 100 | 110101199001011234 | 13800138000 | 2020-01-01 | 在职 |
|
2026-01-28 14:40:27 +08:00
|
|
|
|
|
2026-02-05 14:18:28 +08:00
|
|
|
|
**说明**: 柜员号列为7位数字,必填,唯一。
|
2026-01-28 14:40:27 +08:00
|
|
|
|
|
|
|
|
|
|
**响应示例**:
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"code": 200,
|
2026-02-05 14:18:28 +08:00
|
|
|
|
"msg": "恭喜您,数据已全部导入成功!共 10 条"
|
2026-01-28 14:40:27 +08:00
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 错误码说明
|
|
|
|
|
|
|
|
|
|
|
|
| 错误码 | 说明 |
|
|
|
|
|
|
|--------|------|
|
|
|
|
|
|
| 200 | 操作成功 |
|
2026-02-05 14:18:28 +08:00
|
|
|
|
| 401 | 未授权,请先登录 |
|
2026-01-28 14:40:27 +08:00
|
|
|
|
| 403 | 无权限访问 |
|
|
|
|
|
|
| 500 | 服务器内部错误 |
|
|
|
|
|
|
|
|
|
|
|
|
## 业务错误信息
|
|
|
|
|
|
|
|
|
|
|
|
| 错误信息 | 说明 |
|
|
|
|
|
|
|----------|------|
|
2026-02-05 14:18:28 +08:00
|
|
|
|
| 该柜员号已存在 | 新增时柜员号重复 |
|
|
|
|
|
|
| 柜员号不能为空 | 新增时柜员号为空 |
|
|
|
|
|
|
| 柜员号必须为7位数字 | 柜员号格式不正确 |
|
2026-01-28 14:40:27 +08:00
|
|
|
|
| 该身份证号已存在 | 新增/编辑时身份证号重复 |
|
|
|
|
|
|
| 姓名不能为空 | 新增时姓名为空 |
|
|
|
|
|
|
| 身份证号格式不正确 | 身份证号不符合18位国标 |
|
|
|
|
|
|
| 电话格式不正确 | 手机号不符合11位格式 |
|
|
|
|
|
|
| 状态只能填写'在职'或'离职' | 状态值不正确 |
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 测试账号
|
|
|
|
|
|
|
|
|
|
|
|
- 用户名: `admin`
|
|
|
|
|
|
- 密码: `admin123`
|
|
|
|
|
|
|
|
|
|
|
|
测试前请先调用 `/login/test` 接口获取 Token。
|