# 银行管理系统API接口总览

## 概述

本文档提供了银行管理系统所有API接口的快速参考，包括接口地址、请求方法、功能描述等信息。

## 基础信息

- **基础URL**: `http://localhost:5351`
- **API版本**: v1.0.0
- **认证方式**: JWT Token
- **数据格式**: JSON

## 接口列表

### 1. 认证模块 (Authentication)

| 接口地址 | 请求方法 | 功能描述 | 认证要求 |
|---------|---------|---------|---------|
| `/api/auth/login` | POST | 用户登录 | 否 |
| `/api/auth/logout` | POST | 用户登出 | 是 |
| `/api/auth/refresh` | POST | 刷新令牌 | 是 |
| `/api/auth/me` | GET | 获取当前用户信息 | 是 |
| `/api/auth/change-password` | POST | 修改密码 | 是 |

### 2. 仪表盘模块 (Dashboard)

| 接口地址 | 请求方法 | 功能描述 | 认证要求 |
|---------|---------|---------|---------|
| `/api/dashboard` | GET | 获取仪表盘统计数据 | 是 |
| `/api/dashboard/charts` | GET | 获取图表数据 | 是 |
| `/api/dashboard/recent-transactions` | GET | 获取最近交易记录 | 是 |

### 3. 用户管理模块 (Users)

| 接口地址 | 请求方法 | 功能描述 | 认证要求 |
|---------|---------|---------|---------|
| `/api/users` | GET | 获取用户列表 | 是 |
| `/api/users/:id` | GET | 获取用户详情 | 是 |
| `/api/users` | POST | 创建用户 | 是 |
| `/api/users/:id` | PUT | 更新用户 | 是 |
| `/api/users/:id` | DELETE | 删除用户 | 是 |
| `/api/users/stats` | GET | 获取用户统计 | 是 |

### 4. 账户管理模块 (Accounts)

| 接口地址 | 请求方法 | 功能描述 | 认证要求 |
|---------|---------|---------|---------|
| `/api/accounts` | GET | 获取账户列表 | 是 |
| `/api/accounts/:id` | GET | 获取账户详情 | 是 |
| `/api/accounts` | POST | 创建账户 | 是 |
| `/api/accounts/:id` | PUT | 更新账户 | 是 |
| `/api/accounts/:id` | DELETE | 删除账户 | 是 |
| `/api/accounts/:id/deposit` | POST | 存款 | 是 |
| `/api/accounts/:id/withdraw` | POST | 取款 | 是 |

### 5. 交易记录模块 (Transactions)

| 接口地址 | 请求方法 | 功能描述 | 认证要求 |
|---------|---------|---------|---------|
| `/api/transactions` | GET | 获取交易记录列表 | 是 |
| `/api/transactions/:id` | GET | 获取交易详情 | 是 |
| `/api/transactions` | POST | 创建交易记录 | 是 |
| `/api/transactions/stats` | GET | 获取交易统计 | 是 |

### 6. 贷款产品模块 (Loan Products)

| 接口地址 | 请求方法 | 功能描述 | 认证要求 |
|---------|---------|---------|---------|
| `/api/loan-products` | GET | 获取贷款产品列表 | 是 |
| `/api/loan-products/:id` | GET | 获取产品详情 | 是 |
| `/api/loan-products` | POST | 创建产品 | 是 |
| `/api/loan-products/:id` | PUT | 更新产品 | 是 |
| `/api/loan-products/:id` | DELETE | 删除产品 | 是 |
| `/api/loan-products/stats` | GET | 获取产品统计 | 是 |
| `/api/loan-products/batch/status` | PUT | 批量更新状态 | 是 |
| `/api/loan-products/batch/delete` | DELETE | 批量删除 | 是 |

### 7. 贷款申请模块 (Loan Applications)

| 接口地址 | 请求方法 | 功能描述 | 认证要求 |
|---------|---------|---------|---------|
| `/api/loan-applications` | GET | 获取申请列表 | 是 |
| `/api/loan-applications/:id` | GET | 获取申请详情 | 是 |
| `/api/loan-applications/:id/audit` | POST | 审核申请 | 是 |
| `/api/loan-applications/stats` | GET | 获取申请统计 | 是 |
| `/api/loan-applications/batch/status` | PUT | 批量更新状态 | 是 |

### 8. 贷款合同模块 (Loan Contracts)

| 接口地址 | 请求方法 | 功能描述 | 认证要求 |
|---------|---------|---------|---------|
| `/api/loan-contracts` | GET | 获取合同列表 | 是 |
| `/api/loan-contracts/:id` | GET | 获取合同详情 | 是 |
| `/api/loan-contracts` | POST | 创建合同 | 是 |
| `/api/loan-contracts/:id` | PUT | 更新合同 | 是 |
| `/api/loan-contracts/:id` | DELETE | 删除合同 | 是 |
| `/api/loan-contracts/stats` | GET | 获取合同统计 | 是 |
| `/api/loan-contracts/batch/status` | PUT | 批量更新状态 | 是 |

### 9. 贷款解押模块 (Loan Release) - 新增

| 接口地址 | 请求方法 | 功能描述 | 认证要求 |
|---------|---------|---------|---------|
| `/api/loan-releases` | GET | 获取解押申请列表 | 是 |
| `/api/loan-releases/:id` | GET | 获取解押申请详情 | 是 |
| `/api/loan-releases` | POST | 创建解押申请 | 是 |
| `/api/loan-releases/:id` | PUT | 更新解押申请 | 是 |
| `/api/loan-releases/:id/process` | POST | 处理解押申请 | 是 |
| `/api/loan-releases/:id/complete` | POST | 完成解押 | 是 |
| `/api/loan-releases/:id` | DELETE | 删除解押申请 | 是 |
| `/api/loan-releases/stats` | GET | 获取解押统计 | 是 |

### 10. 员工管理模块 (Employees)

| 接口地址 | 请求方法 | 功能描述 | 认证要求 |
|---------|---------|---------|---------|
| `/api/employees` | GET | 获取员工列表 | 是 |
| `/api/employees/:id` | GET | 获取员工详情 | 是 |
| `/api/employees` | POST | 创建员工 | 是 |
| `/api/employees/:id` | PUT | 更新员工 | 是 |
| `/api/employees/:id` | DELETE | 删除员工 | 是 |
| `/api/employees/stats` | GET | 获取员工统计 | 是 |
| `/api/employees/export` | POST | 导出员工数据 | 是 |

### 11. 项目管理模块 (Projects)

| 接口地址 | 请求方法 | 功能描述 | 认证要求 |
|---------|---------|---------|---------|
| `/api/projects` | GET | 获取项目列表 | 是 |
| `/api/projects/:id` | GET | 获取项目详情 | 是 |
| `/api/projects` | POST | 创建项目 | 是 |
| `/api/projects/:id` | PUT | 更新项目 | 是 |
| `/api/projects/:id` | DELETE | 删除项目 | 是 |
| `/api/projects/stats` | GET | 获取项目统计 | 是 |

### 12. 监管任务模块 (Supervision Tasks)

| 接口地址 | 请求方法 | 功能描述 | 认证要求 |
|---------|---------|---------|---------|
| `/api/supervision-tasks` | GET | 获取监管任务列表 | 是 |
| `/api/supervision-tasks/:id` | GET | 获取任务详情 | 是 |
| `/api/supervision-tasks` | POST | 创建监管任务 | 是 |
| `/api/supervision-tasks/:id` | PUT | 更新任务 | 是 |
| `/api/supervision-tasks/:id` | DELETE | 删除任务 | 是 |
| `/api/supervision-tasks/stats` | GET | 获取任务统计 | 是 |

### 13. 安装任务模块 (Installation Tasks)

| 接口地址 | 请求方法 | 功能描述 | 认证要求 |
|---------|---------|---------|---------|
| `/api/installation-tasks` | GET | 获取安装任务列表 | 是 |
| `/api/installation-tasks/:id` | GET | 获取任务详情 | 是 |
| `/api/installation-tasks` | POST | 创建安装任务 | 是 |
| `/api/installation-tasks/:id` | PUT | 更新任务 | 是 |
| `/api/installation-tasks/:id` | DELETE | 删除任务 | 是 |
| `/api/installation-tasks/stats` | GET | 获取任务统计 | 是 |

### 14. 完成监管模块 (Completed Supervisions)

| 接口地址 | 请求方法 | 功能描述 | 认证要求 |
|---------|---------|---------|---------|
| `/api/completed-supervisions` | GET | 获取完成监管列表 | 是 |
| `/api/completed-supervisions/:id` | GET | 获取完成监管详情 | 是 |
| `/api/completed-supervisions` | POST | 创建完成监管记录 | 是 |
| `/api/completed-supervisions/:id` | PUT | 更新完成监管记录 | 是 |
| `/api/completed-supervisions/:id` | DELETE | 删除完成监管记录 | 是 |
| `/api/completed-supervisions/stats` | GET | 获取完成监管统计 | 是 |
| `/api/completed-supervisions/batch/delete` | DELETE | 批量删除 | 是 |

### 15. 报表模块 (Reports)

| 接口地址 | 请求方法 | 功能描述 | 认证要求 |
|---------|---------|---------|---------|
| `/api/reports` | GET | 获取报表列表 | 是 |
| `/api/reports/:id` | GET | 获取报表详情 | 是 |
| `/api/reports` | POST | 创建报表 | 是 |
| `/api/reports/:id` | PUT | 更新报表 | 是 |
| `/api/reports/:id` | DELETE | 删除报表 | 是 |
| `/api/reports/export` | POST | 导出报表 | 是 |

## 通用参数说明

### 分页参数
- `page`: 页码，从1开始，默认1
- `pageSize`: 每页数量，默认10，最大100

### 搜索参数
- `searchField`: 搜索字段
- `searchValue`: 搜索值
- `startDate`: 开始日期 (YYYY-MM-DD)
- `endDate`: 结束日期 (YYYY-MM-DD)

### 排序参数
- `sortField`: 排序字段
- `sortOrder`: 排序方向 (asc/desc)

### 筛选参数
- `status`: 状态筛选
- `type`: 类型筛选
- `category`: 分类筛选

## 响应格式

### 成功响应
```json
{
  "success": true,
  "message": "操作成功",
  "data": {},
  "timestamp": "2025-09-26T10:30:00.000Z"
}
```

### 错误响应
```json
{
  "success": false,
  "message": "错误信息",
  "error": "ERROR_CODE",
  "timestamp": "2025-09-26T10:30:00.000Z"
}
```

### 分页响应
```json
{
  "success": true,
  "data": {
    "items": [],
    "pagination": {
      "current": 1,
      "pageSize": 10,
      "total": 100,
      "totalPages": 10
    }
  }
}
```

## 认证说明

所有需要认证的接口都需要在请求头中携带JWT令牌：

```bash
Authorization: Bearer <your-jwt-token>
```

## 错误码说明

| 错误码 | 说明 |
|--------|------|
| 400 | 请求参数错误 |
| 401 | 未授权访问 |
| 403 | 禁止访问 |
| 404 | 资源不存在 |
| 409 | 资源冲突 |
| 422 | 数据验证失败 |
| 500 | 服务器内部错误 |

## 限流说明

- 普通接口: 100次/分钟
- 登录接口: 10次/分钟
- 文件上传: 20次/分钟
- 数据导出: 5次/分钟

---

**文档版本**: v1.1.0  
**最后更新**: 2025-09-26  
**维护人员**: 开发团队
