你说得对!之前只详细写了分页查询员工新增员工,而编辑员工、删除员工、启用/禁用员工等接口的详情确实没有展开。

现在把员工管理模块部门管理模块的剩余接口详情补全:


1 员工管理模块 —— 剩余接口详情

1.1 编辑员工

接口定义:

PUT /api/v1/system/users/{id}
Authorization: Bearer <token>
Content-Type: application/json

路径参数:

参数名类型必填说明
idlong员工 ID

请求参数:

{
    "realName": "张无忌",
    "email": "zhangwuji@company.com",
    "phone": "13900000088",
    "departmentId": 4,
    "status": 1
}

参数说明:

参数名类型必填说明
realNamestring真实姓名
emailstring邮箱
phonestring手机号
departmentIdlong部门 ID
statusint账号状态(0 禁用 1 启用)

注意:账号(username)不可修改,如需修改账号需走专门接口。

响应:

{
    "code": 200,
    "msg": "编辑成功",
    "data": null,
    "timestamp": 1721800000000
}

1.2 删除员工(逻辑删除)

接口定义:

DELETE /api/v1/system/users/{id}
Authorization: Bearer <token>

路径参数:

参数名类型必填说明
idlong员工 ID

响应:

{
    "code": 200,
    "msg": "删除成功",
    "data": null,
    "timestamp": 1721800000000
}

错误响应(存在关联资产):

{
    "code": 400,
    "msg": "该员工当前领用着 3 项资产,请先归还或转移资产后再删除",
    "data": {
        "assetCount": 3
    },
    "timestamp": 1721800000000
}

1.3 启用/禁用员工

接口定义:

PUT /api/v1/system/users/{id}/status
Authorization: Bearer <token>
Content-Type: application/json

路径参数:

参数名类型必填说明
idlong员工 ID

请求参数:

{
    "status": 0
}

参数说明:

参数名类型必填说明
statusint0- 禁用,1- 启用

响应:

{
    "code": 200,
    "msg": "状态更新成功",
    "data": {
        "status": 0,
        "statusLabel": "已禁用"
    },
    "timestamp": 1721800000000
}

1.4 查询全部角色列表(下拉选择用)

接口定义:

GET /api/v1/system/users/roles/list
Authorization: Bearer <token>

响应:

{
    "code": 200,
    "msg": "操作成功",
    "data": [
        {
            "id": 1,
            "roleName": "管理员",
            "roleCode": "ADMIN",
            "isEnabled": 1
        },
        {
            "id": 2,
            "roleName": "部门经理",
            "roleCode": "MANAGER",
            "isEnabled": 1
        },
        {
            "id": 3,
            "roleName": "普通员工",
            "roleCode": "USER",
            "isEnabled": 1
        }
    ],
    "timestamp": 1721800000000
}

2 部门管理模块 —— 剩余接口详情

2.1 新增部门

接口定义:

POST /api/v1/system/depts
Authorization: Bearer <token>
Content-Type: application/json

请求参数:

{
    "parentId": 1,
    "deptName": "研发三部",
    "leaderId": 2,
    "sortNum": 3
}

参数说明:

参数名类型必填说明
parentIdlong上级部门 ID(null 表示一级部门)
deptNamestring部门名称(同级下唯一)
leaderIdlong部门经理用户 ID
sortNumint排序号(默认 0)

响应:

{
    "code": 200,
    "msg": "新增成功",
    "data": {
        "id": 6
    },
    "timestamp": 1721800000000
}

错误响应(同名部门):

{
    "code": 409,
    "msg": "同级下已存在同名部门:研发三部",
    "data": null,
    "timestamp": 1721800000000
}

2.2 编辑部门

接口定义:

PUT /api/v1/system/depts/{id}
Authorization: Bearer <token>
Content-Type: application/json

路径参数:

参数名类型必填说明
idlong部门 ID

请求参数:

{
    "deptName": "研发三部(杭州)",
    "leaderId": 8,
    "sortNum": 4,
    "isEnabled": 1
}

参数说明:

参数名类型必填说明
deptNamestring部门名称
leaderIdlong部门经理用户 ID
sortNumint排序号
isEnabledint是否启用(0 禁用 1 启用)

注意parentId 不可修改(如需移动部门,建议先删除再新建,或单独提供移动接口)

响应:

{
    "code": 200,
    "msg": "编辑成功",
    "data": null,
    "timestamp": 1721800000000
}

2.3 删除部门

接口定义:

DELETE /api/v1/system/depts/{id}
Authorization: Bearer <token>

路径参数:

参数名类型必填说明
idlong部门 ID

响应:

{
    "code": 200,
    "msg": "删除成功",
    "data": null,
    "timestamp": 1721800000000
}

错误响应(存在子部门):

{
    "code": 400,
    "msg": "该部门下存在子部门,请先删除子部门",
    "data": {
        "childCount": 3
    },
    "timestamp": 1721800000000
}

错误响应(存在用户):

{
    "code": 400,
    "msg": "该部门下存在员工,请先将员工转移到其他部门",
    "data": {
        "userCount": 5
    },
    "timestamp": 1721800000000
}

2.4 查询部门下拉列表

接口定义:

GET /api/v1/system/depts/list
Authorization: Bearer <token>

响应:

{
    "code": 200,
    "msg": "操作成功",
    "data": [
        {
            "id": 1,
            "deptName": "研发部",
            "parentId": null,
            "leaderId": null,
            "sortNum": 1
        },
        {
            "id": 2,
            "deptName": "销售部",
            "parentId": null,
            "leaderId": 5,
            "sortNum": 2
        },
        {
            "id": 3,
            "deptName": "人事部",
            "parentId": null,
            "leaderId": 6,
            "sortNum": 3
        },
        {
            "id": 4,
            "deptName": "研发一部",
            "parentId": 1,
            "leaderId": 3,
            "sortNum": 1
        },
        {
            "id": 5,
            "deptName": "研发二部",
            "parentId": 1,
            "leaderId": 7,
            "sortNum": 2
        }
    ],
    "timestamp": 1721800000000
}

与部门树接口的区别: /depts/tree 返回树形结构(含 children),用于前端树组件;/depts/list 返回扁平列表,用于下拉选择框。

3 接口清单汇总(已调整)

模块接口名称方法URL权限要求状态
员工管理
1分页查询员工GET/system/usersuser:list✅ 已有
2查询员工详情GET/system/users/{id}user:list✅ 已有
3新增员工POST/system/usersuser:add✅ 已有
4编辑员工PUT/system/users/{id}user:edit本次补充
5删除员工DELETE/system/users/{id}user:delete本次补充
6启用/禁用员工PUT/system/users/{id}/statususer:edit本次补充
7分配角色PUT/system/users/{id}/rolesuser:assign✅ 已有
8重置密码PUT/system/users/{id}/passworduser:edit✅ 已有
9查询角色列表GET/system/users/roles/listuser:list本次补充
部门管理
10查询部门树GET/system/depts/treedept:list✅ 已有
11新增部门POST/system/deptsdept:add本次补充
12编辑部门PUT/system/depts/{id}dept:edit本次补充
13删除部门DELETE/system/depts/{id}dept:delete本次补充
14查询下拉列表GET/system/depts/listdept:list本次补充

现在员工管理和部门管理的接口详情已全部补齐。如果还需要补充其他模块的遗漏接口,随时告诉我。😊