Files
shanxia2.0/docs/bx-migration/01-api-inventory.md
T
2026-06-07 00:40:01 +08:00

142 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 报销系统 API 全量清单(移植后路径保持不变)
> 源:`shanxia/bx/bx-backend/app/routers/` + `shanxia/bx/bx-web/src/api/index.ts`
> 挂载:门户 `API_V1_PREFIX=/api` + router prefix(**不含** `/api` 前缀)
---
## 费用项目 `/api/expense-items`
| 方法 | 路径 | 说明 |
|------|------|------|
| GET | `/api/expense-items/tree` | 费用项目树 |
| GET | `/api/expense-items/{item_id}` | 详情 |
| POST | `/api/expense-items/` | 新增 |
| PUT | `/api/expense-items/{item_id}` | 更新 |
| DELETE | `/api/expense-items/{item_id}` | 软删除 |
---
## 工作流 `/api/workflows`
| 方法 | 路径 | 说明 |
|------|------|------|
| GET | `/api/workflows/` | 分页列表(page, pageSize) |
| GET | `/api/workflows/biz/{biz_type}` | 按业务类型(advance / reimburse) |
| GET | `/api/workflows/{workflow_id}` | 详情(含节点) |
| POST | `/api/workflows/` | 新增(body 可含 nodes) |
| PUT | `/api/workflows/{workflow_id}` | 更新 |
| PUT | `/api/workflows/{workflow_id}/nodes` | 保存节点列表 |
| DELETE | `/api/workflows/{workflow_id}` | 软删除 |
---
## 备用金 `/api/advances`
| 方法 | 路径 | 说明 |
|------|------|------|
| GET | `/api/advances/` | 列表(status, keyword, applicantId, applyDate) |
| GET | `/api/advances/my` | 我的申请 |
| GET | `/api/advances/my/stats` | 我的统计 |
| GET | `/api/advances/stats/status-counts` | 状态计数 |
| GET | `/api/advances/pending-approval` | 待我审批 |
| GET | `/api/advances/pending-approval/stats` | 待审批统计 |
| GET | `/api/advances/approved-by-me` | 我已审批 |
| GET | `/api/advances/{advance_id}` | 详情 |
| GET | `/api/advances/{advance_id}/approvals` | 审批记录 |
| POST | `/api/advances/` | 新增 |
| PUT | `/api/advances/{advance_id}` | 更新 |
| POST | `/api/advances/{advance_id}/submit` | 提交 |
| POST | `/api/advances/{advance_id}/approve` | 审批通过 |
| POST | `/api/advances/{advance_id}/reject` | 审批驳回 |
| DELETE | `/api/advances/{advance_id}` | 软删除 |
---
## 报销 `/api/reimburses`
| 方法 | 路径 | 说明 |
|------|------|------|
| GET | `/api/reimburses/generate-title` | 自动生成标题 |
| GET | `/api/reimburses/` | 列表 |
| GET | `/api/reimburses/my` | 我的申请 |
| GET | `/api/reimburses/my/stats` | 我的统计 |
| GET | `/api/reimburses/stats/status-counts` | 状态计数 |
| GET | `/api/reimburses/pending-approval` | 待我审批 |
| GET | `/api/reimburses/pending-approval/stats` | 待审批统计 |
| GET | `/api/reimburses/approved-by-me` | 我已审批 |
| GET | `/api/reimburses/{reimburse_id}` | 详情 |
| GET | `/api/reimburses/{reimburse_id}/approvals` | 审批记录 |
| POST | `/api/reimburses/` | 新增(含明细) |
| PUT | `/api/reimburses/{reimburse_id}` | 更新 |
| POST | `/api/reimburses/{reimburse_id}/submit` | 提交 |
| POST | `/api/reimburses/{reimburse_id}/approve` | 审批通过 |
| POST | `/api/reimburses/{reimburse_id}/reject` | 审批驳回 |
| DELETE | `/api/reimburses/{reimburse_id}` | 软删除 |
---
## 支付 / 发放 `/api/payments`
| 方法 | 路径 | 说明 |
|------|------|------|
| GET | `/api/payments/pending` | 待支付报销列表 |
| GET | `/api/payments/stats` | 财务统计 |
| GET | `/api/payments/processed` | 已处理列表 |
| POST | `/api/payments/{id}/pay` | 报销发放 |
| POST | `/api/payments/{id}/offset` | 单笔冲抵 |
| POST | `/api/payments/{id}/batch-offset` | 批量冲抵 |
| GET | `/api/payments/advance-issues` | 备用金发放列表 |
| GET | `/api/payments/advance-issues/stats` | 发放统计 |
| GET | `/api/payments/advance-issues/export` | 导出 CSV(StreamingResponse) |
| POST | `/api/payments/advance/{advance_id}/issue` | 备用金发放 |
| GET | `/api/payments/advance/{advance_id}/offset-records` | 备用金被冲抵记录 |
| GET | `/api/payments/{id}/offset-records` | 报销冲抵记录 |
---
## 附件 `/api/attachments`
| 方法 | 路径 | 说明 |
|------|------|------|
| POST | `/api/attachments/upload` | 上传(multipart: file, biz_type, biz_id) |
| GET | `/api/attachments/download/{attachment_id}` | 下载文件流 |
| GET | `/api/attachments/preview/{attachment_id}` | 预览 URL |
| GET | `/api/attachments/list` | 按 biz_type、biz_id 列表 |
| PUT | `/api/attachments/bind-biz` | 绑定业务单(query: ids, biz_type, biz_id) |
| DELETE | `/api/attachments/{attachment_id}` | 软删除 |
---
## 响应格式(所有 JSON 接口)
```json
{
"code": 0,
"msg": "success",
"data": { }
}
```
分页 `data` 结构:
```json
{
"rows": [],
"total": 0,
"page": 1,
"pageSize": 10
}
```
---
## 不移植的 API
| 前缀 | 说明 |
|------|------|
| `/api/auth/*` | 门户登录 |
| `/api/users/*` | sys_user |
| `/api/roles/*` | sys_role |
| `/api/menus/*` | sys_menu(门户菜单接口) |