企业资产管理系统——接口设计文档(完整版)

1 文档修订记录

序号版本修订内容修订人修订日期
1V1.0初稿创建2026-07-28

2 目录

  1. 引言
  2. 通用规范
  3. 认证授权模块
  4. 工作台模块
  5. 资产管理模块
  6. 申请管理模块
  7. 审批中心模块
  8. 员工管理模块
  9. 部门管理模块
  10. 操作日志模块
  11. 附录

3 引言

3.1 编写目的

本文档为“企业资产管理系统”的完整接口设计文档,旨在为前后端开发人员提供统一的接口规范和详细的接口定义,确保团队协作开发时的接口一致性。

3.2 适用范围

本文档涵盖系统所有功能模块的接口定义,包括:认证授权、工作台、资产管理、申请管理、审批中心、员工管理、部门管理、操作日志,共计 8 个模块,50 个接口

3.3 接口设计原则

序号原则说明
1RESTful 风格使用 HTTP 方法表达操作语义,资源使用名词复数
2统一响应格式所有接口返回统一的 JSON 结构
3无状态认证使用 JWT Token 进行身份认证
4权限控制每个接口标注所需权限码
5版本管理接口路径包含版本号(/api/v1)

4 通用规范

4.1 基础信息

项目规范
Base URL/api/v1
字符编码UTF-8
数据格式JSON(请求/响应均为 application/json
日期时间格式yyyy-MM-dd HH:mm:ss
日期格式yyyy-MM-dd
认证方式Authorization: Bearer <token>(登录接口除外)

4.2 统一响应格式

所有接口返回统一的 JSON 结构:

{
    "code": 200,
    "msg": "操作成功",
    "data": { ... },
    "timestamp": 1721800000000
}

状态码说明:

状态码含义
200操作成功
400请求参数错误
401未登录或 Token 过期
403无权限访问
404资源不存在
409数据冲突(如编码重复)
500服务器内部错误

4.3 分页请求参数

参数名类型必填默认值说明
pageNumint1当前页码(从 1 开始)
pageSizeint10每页记录数
orderBystringcreate_time DESC排序字段

4.4 分页响应格式

{
    "code": 200,
    "msg": "操作成功",
    "data": {
        "list": [ ... ],
        "total": 100,
        "pageNum": 1,
        "pageSize": 10,
        "pages": 10
    },
    "timestamp": 1721800000000
}

5 认证授权模块

5.1 模块概述

负责用户身份认证和授权,包括登录、获取当前用户信息、登出和刷新 Token。

权限码映射: 本模块无特殊权限码要求

5.2 接口列表

序号方法URL功能权限要求
1POST/auth/login用户登录
2GET/auth/current-user获取当前用户信息已登录
3POST/auth/logout退出登录已登录
4POST/auth/refresh-token刷新 Token已登录

5.3 接口详情

5.3.1 用户登录

请求:

POST /api/v1/auth/login
Content-Type: application/json

请求参数:

{
    "username": "admin",
    "password": "123456"
}

参数说明:

参数名类型必填说明
usernamestring登录账号
passwordstring登录密码

响应(成功):

{
    "code": 200,
    "msg": "登录成功",
    "data": {
        "token": "eyJhbGciOiJIUzI1NiIs...",
        "expiresIn": 7200,
        "userInfo": {
            "id": 1,
            "username": "admin",
            "realName": "系统管理员",
            "departmentId": 1,
            "departmentName": "研发部",
            "email": "admin@company.com",
            "phone": "13800000001",
            "roles": ["ADMIN"],
            "permissions": ["dashboard:view", "asset:list", "asset:add", "..."]
        },
        "menuTree": [
            {
                "id": 1,
                "permName": "工作台",
                "permCode": "dashboard:menu",
                "url": "/dashboard",
                "icon": "dashboard",
                "children": [
                    {
                        "id": 11,
                        "permName": "数据概览",
                        "permCode": "dashboard:view",
                        "url": "/dashboard/index",
                        "children": []
                    }
                ]
            }
        ]
    },
    "timestamp": 1721800000000
}

响应(失败):

{
    "code": 401,
    "msg": "用户名或密码错误",
    "data": null,
    "timestamp": 1721800000000
}

5.3.2 获取当前用户信息

请求:

GET /api/v1/auth/current-user
Authorization: Bearer <token>

响应:

{
    "code": 200,
    "msg": "操作成功",
    "data": {
        "id": 1,
        "username": "admin",
        "realName": "系统管理员",
        "departmentId": 1,
        "departmentName": "研发部",
        "email": "admin@company.com",
        "phone": "13800000001",
        "roles": ["ADMIN"],
        "permissions": ["dashboard:view", "asset:list", ...],
        "menuTree": [...]
    },
    "timestamp": 1721800000000
}

5.3.3 退出登录

请求:

POST /api/v1/auth/logout
Authorization: Bearer <token>

响应:

{
    "code": 200,
    "msg": "退出成功",
    "data": null,
    "timestamp": 1721800000000
}

5.3.4 刷新 Token

请求:

POST /api/v1/auth/refresh-token
Authorization: Bearer <token>

响应:

{
    "code": 200,
    "msg": "刷新成功",
    "data": {
        "token": "eyJhbGciOiJIUzI1NiIs...",
        "expiresIn": 7200
    },
    "timestamp": 1721800000000
}

6 工作台模块

6.1 模块概述

为登录用户提供首页数据概览和待办事项聚合,根据用户角色展示不同内容。

权限码映射: dashboard:menu(目录)、dashboard:view(数据概览)

6.2 接口列表

序号方法URL功能权限要求
5GET/dashboard/statistics获取数据概览dashboard:view
6GET/dashboard/todos待办事项列表dashboard:view
7GET/dashboard/chart/status资产状态分布dashboard:view

6.3 接口详情

6.3.1 获取数据概览

请求:

GET /api/v1/dashboard/statistics
Authorization: Bearer <token>

响应(管理员):

{
    "code": 200,
    "msg": "操作成功",
    "data": {
        "totalAssets": 1568,
        "inStockCount": 320,
        "usedCount": 1120,
        "repairingCount": 68,
        "scrappedCount": 60,
        "pendingApprovals": 12,
        "thisMonthAdded": 45
    },
    "timestamp": 1721800000000
}

响应(普通员工):

{
    "code": 200,
    "msg": "操作成功",
    "data": {
        "totalAssets": 1568,
        "myUsedCount": 3,
        "myPendingApplications": 1,
        "myApprovedApplications": 5,
        "thisMonthAdded": 45
    },
    "timestamp": 1721800000000
}

6.3.2 待办事项列表

请求:

GET /api/v1/dashboard/todos?pageNum=1&pageSize=10
Authorization: Bearer <token>

请求参数:

参数名类型必填说明
pageNumint页码
pageSizeint每页数量

响应:

{
    "code": 200,
    "msg": "操作成功",
    "data": {
        "list": [
            {
                "id": 1,
                "type": "approve",
                "title": "您有 3 条待审批的资产申请",
                "content": "张三申请领用 联想ThinkPad X1,请及时审批",
                "url": "/approve/pending",
                "priority": 1,
                "priorityLabel": "高",
                "status": 0,
                "statusLabel": "待处理",
                "createTime": "2026-07-23 09:30:00"
            }
        ],
        "total": 2,
        "pageNum": 1,
        "pageSize": 10
    },
    "timestamp": 1721800000000
}

6.3.3 资产状态分布

请求:

GET /api/v1/dashboard/chart/status
Authorization: Bearer <token>

响应:

{
    "code": 200,
    "msg": "操作成功",
    "data": {
        "series": [
            { "name": "在库", "value": 320 },
            { "name": "已领用", "value": 1120 },
            { "name": "维修中", "value": 68 },
            { "name": "已报废", "value": 60 }
        ]
    },
    "timestamp": 1721800000000
}

7 资产管理模块

7.1 模块概述

负责资产分类和资产档案的增删改查,以及资产的导入导出功能。

权限码映射: asset:menu(目录)、asset:list(资产列表)、asset:category(资产分类)、asset:add(添加)、asset:edit(编辑)、asset:delete(删除)、asset:export(导出)

7.2 资产分类接口

序号方法URL功能权限要求
10GET/asset/categories/tree查询分类树asset:list
11POST/asset/categories新增分类asset:add
12PUT/asset/categories/{id}编辑分类asset:edit
13DELETE/asset/categories/{id}删除分类asset:delete

7.3 资产档案接口

序号方法URL功能权限要求
14GET/asset/assets分页查询资产asset:list
15GET/asset/assets/{id}查询资产详情asset:list
16POST/asset/assets新增资产(入库)asset:add
17PUT/asset/assets/{id}编辑资产asset:edit
18DELETE/asset/assets/{id}删除资产(逻辑)asset:delete
19PUT/asset/assets/{id}/status变更资产状态asset:edit
20GET/asset/assets/export导出资产列表asset:export
21POST/asset/assets/import批量导入资产asset:add
22GET/asset/assets/{id}/logs查询资产操作履历asset:list

7.4 接口详情

7.4.1 分页查询资产

请求:

GET /api/v1/asset/assets?pageNum=1&pageSize=10&assetName=电脑&categoryId=11&status=1
Authorization: Bearer <token>

请求参数:

参数名类型必填说明
pageNumint页码
pageSizeint每页数量
assetCodestring资产编码(精确)
assetNamestring资产名称(模糊)
categoryIdlong分类 ID
statusint状态(1-4)
deptIdlong归属部门 ID
userIdlong使用人 ID

响应:

{
    "code": 200,
    "msg": "操作成功",
    "data": {
        "list": [
            {
                "id": 1,
                "assetCode": "ASSET-2026-001",
                "assetName": "联想ThinkPad X1",
                "categoryId": 11,
                "categoryName": "计算机设备",
                "specification": "i7-1260P/16G/512G",
                "unit": "台",
                "originalValue": 9800.00,
                "purchaseDate": "2026-01-10",
                "supplier": "联想集团",
                "location": "研发一部-3号位",
                "status": 2,
                "statusLabel": "已领用",
                "currentUserId": 2,
                "currentUserRealName": "张三",
                "currentDepartmentId": 4,
                "departmentName": "研发一部",
                "createTime": "2026-01-10 10:00:00"
            }
        ],
        "total": 50,
        "pageNum": 1,
        "pageSize": 10
    },
    "timestamp": 1721800000000
}

7.4.2 查询资产详情

请求:

GET /api/v1/asset/assets/{id}
Authorization: Bearer <token>

响应:

{
    "code": 200,
    "msg": "操作成功",
    "data": {
        "id": 1,
        "assetCode": "ASSET-2026-001",
        "assetName": "联想ThinkPad X1",
        "categoryId": 11,
        "categoryName": "计算机设备",
        "specification": "i7-1260P/16G/512G",
        "unit": "台",
        "originalValue": 9800.00,
        "purchaseDate": "2026-01-10",
        "supplier": "联想集团",
        "location": "研发一部-3号位",
        "status": 2,
        "statusLabel": "已领用",
        "currentUserId": 2,
        "currentUserRealName": "张三",
        "currentDepartmentId": 4,
        "departmentName": "研发一部",
        "isDeleted": 0,
        "createBy": 1,
        "createByRealName": "系统管理员",
        "updateBy": 1,
        "updateByRealName": "系统管理员",
        "createTime": "2026-01-10 10:00:00",
        "updateTime": "2026-01-15 14:30:00"
    },
    "timestamp": 1721800000000
}

7.4.3 新增资产(入库)

请求:

POST /api/v1/asset/assets
Authorization: Bearer <token>
Content-Type: application/json

请求参数:

{
    "assetName": "联想ThinkPad X1",
    "categoryId": 11,
    "specification": "i7-1260P/16G/512G",
    "unit": "台",
    "originalValue": 9800.00,
    "purchaseDate": "2026-01-10",
    "supplier": "联想集团",
    "location": "研发一部-3号位",
    "status": 1,
    "currentUserId": null,
    "currentDepartmentId": 4
}

参数说明:

参数名类型必填说明
assetNamestring资产名称
categoryIdlong分类 ID
specificationstring规格型号
unitstring计量单位
originalValuedecimal(18,2)原值
purchaseDatedate购入日期
supplierstring供应商
locationstring存放位置
statusint状态(默认 1)
currentUserIdlong当前使用人 ID
currentDepartmentIdlong当前归属部门 ID

响应:

{
    "code": 200,
    "msg": "入库成功",
    "data": {
        "id": 1,
        "assetCode": "ASSET-2026-001"
    },
    "timestamp": 1721800000000
}

7.4.4 编辑资产

请求:

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

请求参数:(与新增相同,字段均为可选)

{
    "assetName": "联想ThinkPad X1 升级版",
    "location": "研发一部-5号位",
    "status": 2
}

响应:

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

7.4.5 删除资产(逻辑删除)

请求:

DELETE /api/v1/asset/assets/{id}
Authorization: Bearer <token>

响应:

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

7.4.6 变更资产状态

请求:

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

请求参数:

{
    "status": 2,
    "remark": "已领用给张三"
}

参数说明:

参数名类型必填说明
statusint1- 在库,2- 已领用,3- 维修中,4- 已报废
remarkstring变更说明

响应:

{
    "code": 200,
    "msg": "状态变更成功",
    "data": null,
    "timestamp": 1721800000000
}

7.4.7 导出资产列表

请求:

GET /api/v1/asset/assets/export?assetName=电脑&categoryId=11
Authorization: Bearer <token>

请求参数: 同分页查询

响应: 返回 Excel 文件流(application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

7.4.8 批量导入资产

请求:

POST /api/v1/asset/assets/import
Authorization: Bearer <token>
Content-Type: multipart/form-data

请求参数:

参数名类型必填说明
fileMultipartFileExcel 文件(.xlsx)

响应:

{
    "code": 200,
    "msg": "导入成功,共导入 20 条数据",
    "data": {
        "total": 20,
        "success": 20,
        "fail": 0,
        "failList": []
    },
    "timestamp": 1721800000000
}

导入失败响应:

{
    "code": 400,
    "msg": "导入完成,成功 18 条,失败 2 条",
    "data": {
        "total": 20,
        "success": 18,
        "fail": 2,
        "failList": [
            {
                "row": 5,
                "reason": "资产编码 ASSET-2026-009 已存在"
            },
            {
                "row": 12,
                "reason": "分类编码 CAT-ELEC 不存在"
            }
        ]
    },
    "timestamp": 1721800000000
}

7.4.9 查询资产操作履历

请求:

GET /api/v1/asset/assets/{id}/logs
Authorization: Bearer <token>

响应:

{
    "code": 200,
    "msg": "操作成功",
    "data": {
        "list": [
            {
                "traceType": "入库",
                "fromUser": null,
                "toUser": "系统管理员",
                "fromDept": null,
                "toDept": "研发部",
                "fromLocation": null,
                "toLocation": "研发一部-3号位",
                "remark": "原值9800.00元",
                "operationTime": "2026-01-10 10:00:00"
            },
            {
                "traceType": "领用",
                "fromUser": null,
                "toUser": "张三",
                "fromDept": "研发部",
                "toDept": "研发一部",
                "fromLocation": "研发一部-3号位",
                "toLocation": "研发一部-3号位",
                "remark": "新员工入职配置",
                "operationTime": "2026-01-15 14:30:00"
            }
        ]
    },
    "timestamp": 1721800000000
}

8 申请管理模块

8.1 模块概述

负责普通员工提交资产申请、编辑草稿、提交审批、撤销申请等功能。

权限码映射: apply:menu(目录)、apply:my(我的申请)、apply:add(新建申请)

8.2 接口列表

序号方法URL功能权限要求
23GET/asset/applications分页查询申请单apply:my
24GET/asset/applications/{id}查询申请单详情apply:my
25POST/asset/applications新建申请(草稿)apply:add
26PUT/asset/applications/{id}编辑申请(草稿态)apply:add
27PUT/asset/applications/{id}/submit提交申请apply:add
28PUT/asset/applications/{id}/cancel撤销申请apply:add
29DELETE/asset/applications/{id}删除申请(草稿态)apply:add

8.3 接口详情

8.3.1 分页查询申请单

请求:

GET /api/v1/asset/applications?pageNum=1&pageSize=10&status=1
Authorization: Bearer <token>

请求参数:

参数名类型必填说明
pageNumint页码
pageSizeint每页数量
statusint状态(0-4)
startTimestring开始时间
endTimestring结束时间

数据权限: 普通员工仅看自己,部门经理看本部门,管理员看全部

响应:

{
    "code": 200,
    "msg": "操作成功",
    "data": {
        "list": [
            {
                "id": 1,
                "applicationNo": "APP-20260701-001",
                "applicantId": 2,
                "applicantName": "张三",
                "departmentId": 4,
                "departmentName": "研发一部",
                "assetId": 6,
                "assetName": "工学办公桌",
                "assetCode": "ASSET-2026-006",
                "applyQuantity": 1,
                "applyReason": "新员工入职,需配备办公桌",
                "applyTime": "2026-07-01 09:30:00",
                "status": 2,
                "statusLabel": "已通过",
                "currentLevel": 1
            }
        ],
        "total": 15,
        "pageNum": 1,
        "pageSize": 10
    },
    "timestamp": 1721800000000
}

8.3.2 查询申请单详情

请求:

GET /api/v1/asset/applications/{id}
Authorization: Bearer <token>

响应:

{
    "code": 200,
    "msg": "操作成功",
    "data": {
        "id": 1,
        "applicationNo": "APP-20260701-001",
        "applicantId": 2,
        "applicantName": "张三",
        "departmentId": 4,
        "departmentName": "研发一部",
        "assetId": 6,
        "assetName": "工学办公桌",
        "assetCode": "ASSET-2026-006",
        "applyQuantity": 1,
        "applyReason": "新员工入职,需配备办公桌",
        "applyTime": "2026-07-01 09:30:00",
        "status": 2,
        "statusLabel": "已通过",
        "currentLevel": 1,
        "approvalRecords": [
            {
                "approverId": 3,
                "approverName": "李四",
                "approveLevel": 1,
                "approveAction": 1,
                "approveActionLabel": "通过",
                "approveComment": "同意购买,费用从部门经费出",
                "approveTime": "2026-07-01 10:00:00"
            }
        ]
    },
    "timestamp": 1721800000000
}

8.3.3 新建申请(草稿)

请求:

POST /api/v1/asset/applications
Authorization: Bearer <token>
Content-Type: application/json

请求参数:

{
    "assetId": 7,
    "applyQuantity": 2,
    "applyReason": "办公区更换新椅子"
}

响应:

{
    "code": 200,
    "msg": "草稿创建成功",
    "data": {
        "id": 4,
        "applicationNo": "APP-20260705-004"
    },
    "timestamp": 1721800000000
}

8.3.4 提交申请(草稿→待审批)

请求:

PUT /api/v1/asset/applications/{id}/submit
Authorization: Bearer <token>

响应:

{
    "code": 200,
    "msg": "提交成功,等待审批",
    "data": null,
    "timestamp": 1721800000000
}

错误响应(库存不足):

{
    "code": 400,
    "msg": "库存不足,当前在库数量为 0",
    "data": null,
    "timestamp": 1721800000000
}

8.3.5 撤销申请

请求:

PUT /api/v1/asset/applications/{id}/cancel
Authorization: Bearer <token>
Content-Type: application/json

请求参数:

{
    "reason": "申请内容有误,需要修改"
}

响应:

{
    "code": 200,
    "msg": "撤销成功",
    "data": null,
    "timestamp": 1721800000000
}

8.3.6 删除申请(仅草稿态)

请求:

DELETE /api/v1/asset/applications/{id}
Authorization: Bearer <token>

响应:

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

9 审批中心模块

9.1 模块概述

负责部门经理和管理员的审批操作,包括待审批列表、审批通过、审批驳回、审批历史等功能。

权限码映射: approve:menu(目录)、approve:pending(待审批)、approve:history(已审批)、approve:pass(通过)、approve:reject(驳回)

9.2 接口列表

序号方法URL功能权限要求
30GET/asset/approvals/pending待审批列表approve:pending
31GET/asset/approvals/history已审批历史approve:history
32PUT/asset/approvals/pass审批通过approve:pass
33PUT/asset/approvals/reject审批驳回approve:reject

9.3 接口详情

9.3.1 待审批列表

请求:

GET /api/v1/asset/approvals/pending?pageNum=1&pageSize=10
Authorization: Bearer <token>

数据权限: 部门经理仅看本部门,管理员看全部

响应:

{
    "code": 200,
    "msg": "操作成功",
    "data": {
        "list": [
            {
                "id": 2,
                "applicationNo": "APP-20260702-002",
                "applicantId": 4,
                "applicantName": "王五",
                "departmentId": 2,
                "departmentName": "销售部",
                "assetId": 5,
                "assetName": "华为Mate 40 Pro",
                "applyQuantity": 1,
                "applyReason": "销售外勤需要通讯设备",
                "applyTime": "2026-07-02 14:20:00",
                "currentLevel": 1
            }
        ],
        "total": 5,
        "pageNum": 1,
        "pageSize": 10
    },
    "timestamp": 1721800000000
}

9.3.2 已审批历史

请求:

GET /api/v1/asset/approvals/history?pageNum=1&pageSize=10
Authorization: Bearer <token>

响应:

{
    "code": 200,
    "msg": "操作成功",
    "data": {
        "list": [
            {
                "id": 1,
                "applicationNo": "APP-20260701-001",
                "applicantName": "张三",
                "departmentName": "研发一部",
                "assetName": "工学办公桌",
                "approveAction": 1,
                "approveActionLabel": "通过",
                "approveComment": "同意",
                "approveTime": "2026-07-01 10:00:00"
            }
        ],
        "total": 20,
        "pageNum": 1,
        "pageSize": 10
    },
    "timestamp": 1721800000000
}

9.3.3 审批通过(核心事务接口)

请求:

PUT /api/v1/asset/approvals/pass
Authorization: Bearer <token>
Content-Type: application/json

请求参数:

{
    "applicationId": 2,
    "approveComment": "批准,请采购部配合"
}

响应:

{
    "code": 200,
    "msg": "审批通过,资产已更新领用状态",
    "data": null,
    "timestamp": 1721800000000
}

事务说明:

1. 校验:申请单状态为“待审批(1)”
2. 插入:asset_approval_record(审批记录)
3. 更新:asset_application.status = 2(已通过)
4. 更新:asset.status = 2(已领用)
5. 更新:asset.current_user_id = 申请人ID
6. 更新:asset.current_department_id = 申请人部门ID
7. 记录:operation_log(操作日志)
8. todo标记为已处理
9. 事务提交(任一步骤失败,全部回滚)

9.3.4 审批驳回

请求:

PUT /api/v1/asset/approvals/reject
Authorization: Bearer <token>
Content-Type: application/json

请求参数:

{
    "applicationId": 3,
    "approveComment": "现有打印机还能用,暂不采购"
}

响应:

{
    "code": 200,
    "msg": "驳回成功",
    "data": null,
    "timestamp": 1721800000000
}

事务说明:

1. 校验:申请单状态为“待审批(1)”
2. 插入:asset_approval_record(审批记录,action=2
3. 更新:asset_application.status = 3(已驳回)
4. 记录:operation_log(操作日志)
5. todo标记为已处理
6. 事务提交(资产状态不变)

10 员工管理模块

10.1 模块概述

负责系统用户的增删改查、状态管理、角色分配、密码重置等功能。

权限码映射: user:menu(目录)、user:list(员工列表)、user:add(添加)、user:edit(编辑)、user:delete(删除)、user:assign(分配角色)

10.2 接口列表

序号方法URL功能权限要求
34GET/system/users分页查询员工user:list
35GET/system/users/{id}查询员工详情user:list
36POST/system/users新增员工user:add
37PUT/system/users/{id}编辑员工user:edit
38DELETE/system/users/{id}删除员工(逻辑)user:delete
39PUT/system/users/{id}/status启用/禁用员工user:edit
40PUT/system/users/{id}/roles分配角色user:assign
41PUT/system/users/{id}/password重置密码user:edit
42GET/system/users/roles/list查询全部角色列表user:list

10.3 接口详情

10.3.1 分页查询员工

请求:

GET /api/v1/system/users?pageNum=1&pageSize=10&realName=&deptId=1
Authorization: Bearer <token>

请求参数:

参数名类型必填说明
pageNumint页码
pageSizeint每页数量
realNamestring姓名(模糊)
usernamestring账号(精确)
deptIdlong部门 ID
statusint状态(0 禁用 1 启用)

响应:

{
    "code": 200,
    "msg": "操作成功",
    "data": {
        "list": [
            {
                "id": 2,
                "username": "zhangsan",
                "realName": "张三",
                "departmentId": 4,
                "departmentName": "研发一部",
                "email": "zhangsan@company.com",
                "phone": "13800000002",
                "status": 1,
                "statusLabel": "启用",
                "roleNames": ["普通员工"],
                "createTime": "2026-01-01 09:00:00"
            }
        ],
        "total": 20,
        "pageNum": 1,
        "pageSize": 10
    },
    "timestamp": 1721800000000
}

10.3.2 新增员工

请求:

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

请求参数:

{
    "username": "zhangsan",
    "password": "123456",
    "realName": "张三",
    "email": "zhangsan@company.com",
    "phone": "13800000002",
    "departmentId": 4,
    "roleIds": [3]
}

参数说明:

参数名类型必填说明
usernamestring登录账号(唯一)
passwordstring登录密码
realNamestring真实姓名
emailstring邮箱
phonestring手机号
departmentIdlong部门 ID
roleIdsarray角色 ID 列表

响应:

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

10.3.3 分配角色

请求:

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

请求参数:

{
    "roleIds": [2, 3]
}

响应:

{
    "code": 200,
    "msg": "角色分配成功",
    "data": null,
    "timestamp": 1721800000000
}

10.3.4 重置密码

请求:

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

请求参数:

{
    "newPassword": "123456"
}

响应:

{
    "code": 200,
    "msg": "密码重置成功",
    "data": null,
    "timestamp": 1721800000000
}

11 部门管理模块

11.1 模块概述

负责部门的树形结构管理,包括部门的增删改查和部门经理设置。

权限码映射: dept:menu(目录)、dept:list(部门列表)、dept:add(添加)、dept:edit(编辑)、dept:delete(删除)

11.2 接口列表

序号方法URL功能权限要求
43GET/system/depts/tree查询部门树dept:list
44POST/system/depts新增部门dept:add
45PUT/system/depts/{id}编辑部门dept:edit
46DELETE/system/depts/{id}删除部门dept:delete
47GET/system/depts/list查询部门下拉列表dept:list

11.3 接口详情

11.3.1 查询部门树

请求:

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

响应:

{
    "code": 200,
    "msg": "操作成功",
    "data": [
        {
            "id": 1,
            "deptName": "研发部",
            "parentId": null,
            "leaderId": null,
            "leaderName": null,
            "sortNum": 1,
            "children": [
                {
                    "id": 4,
                    "deptName": "研发一部",
                    "parentId": 1,
                    "leaderId": 3,
                    "leaderName": "李四",
                    "sortNum": 1,
                    "children": []
                }
            ]
        }
    ],
    "timestamp": 1721800000000
}

12 操作日志模块

12.1 模块概述

负责系统操作日志的记录和查询,所有关键操作通过 AOP 切面自动记录。

权限码映射: log:menu(目录)、log:list(操作日志)、log:detail(详情)、log:export(导出)

12.2 接口列表

序号方法URL功能权限要求
48GET/system/logs分页查询操作日志log:list
49GET/system/logs/{id}查询日志详情log:detail
50GET/system/logs/export导出操作日志log:export

12.3 接口详情

12.3.1 分页查询操作日志

请求:

GET /api/v1/system/logs?pageNum=1&pageSize=10&username=admin&module=审批管理&startTime=2026-07-01&endTime=2026-07-31
Authorization: Bearer <token>

请求参数:

参数名类型必填说明
pageNumint页码
pageSizeint每页数量
usernamestring操作用户(精确)
modulestring操作模块
operationstring操作内容(模糊)
startTimestring开始时间
endTimestring结束时间

响应:

{
    "code": 200,
    "msg": "操作成功",
    "data": {
        "list": [
            {
                "id": 1,
                "userId": 1,
                "username": "admin",
                "module": "审批管理",
                "operation": "审批通过申请单 APP-20260701-001",
                "ipAddress": "192.168.1.100",
                "requestUrl": "/api/v1/asset/approvals/pass",
                "requestMethod": "PUT",
                "durationMs": 32,
                "createTime": "2026-07-01 10:00:00.000"
            }
        ],
        "total": 1250,
        "pageNum": 1,
        "pageSize": 10
    },
    "timestamp": 1721800000000
}

12.3.2 查询日志详情

请求:

GET /api/v1/system/logs/{id}
Authorization: Bearer <token>

响应:

{
    "code": 200,
    "msg": "操作成功",
    "data": {
        "id": 1,
        "userId": 1,
        "username": "admin",
        "module": "审批管理",
        "operation": "审批通过申请单 APP-20260701-001",
        "ipAddress": "192.168.1.100",
        "requestUrl": "/api/v1/asset/approvals/pass",
        "requestMethod": "PUT",
        "requestParams": "{\"applicationId\":1,\"approveComment\":\"同意\"}",
        "result": "{\"code\":200,\"msg\":\"审批通过\"}",
        "durationMs": 32,
        "createTime": "2026-07-01 10:00:00.000"
    },
    "timestamp": 1721800000000
}

13 附录

13.1 接口统计

模块接口数量权限要求
认证授权模块41 个无权限 + 3 个需登录
工作台模块5dashboard:view
资产管理模块13需对应 asset:* 权限
申请管理模块7apply:myapply:add
审批中心模块4approve:* 权限
员工管理模块9user:* 权限
部门管理模块5dept:* 权限
操作日志模块3log:* 权限
合计50

13.2 权限码与菜单映射

权限码类型父级说明
dashboard:menu目录工作台
dashboard:view菜单dashboard:menu数据概览
asset:menu目录资产管理
asset:list菜单asset:menu资产列表
asset:category菜单asset:menu资产分类
asset:add按钮asset:list添加资产
asset:edit按钮asset:list编辑资产
asset:delete按钮asset:list删除资产
asset:export按钮asset:list导出资产
apply:menu目录申请管理
apply:my菜单apply:menu我的申请
apply:add菜单apply:menu新建申请
approve:menu目录审批中心
approve:pending菜单approve:menu待审批
approve:history菜单approve:menu已审批
approve:pass按钮approve:pending审批通过
approve:reject按钮approve:pending审批驳回
dept:menu目录部门管理
dept:list菜单dept:menu部门列表
dept:add按钮dept:list添加部门
dept:edit按钮dept:list编辑部门
dept:delete按钮dept:list删除部门
user:menu目录员工管理
user:list菜单user:menu员工列表
user:add按钮user:list添加员工
user:edit按钮user:list编辑员工
user:delete按钮user:list删除员工
user:assign按钮user:list分配角色
log:menu目录日志管理
log:list菜单log:menu操作日志
log:detail按钮log:list日志详情
log:export按钮log:list日志导出

文档版本:V1.0 编写日期:2026-07-28 适用项目:企业资产管理系统 接口总数:50 个 编制单位:项目技术组