docs(lsfx): 添加接口更新实施报告
This commit is contained in:
255
doc/implementation/lsfx-update-report-20260302.md
Normal file
255
doc/implementation/lsfx-update-report-20260302.md
Normal file
@@ -0,0 +1,255 @@
|
||||
# 流水分析接口更新实施报告
|
||||
|
||||
## 实施日期
|
||||
2026-03-02
|
||||
|
||||
## 更新内容概览
|
||||
|
||||
### 删除的接口
|
||||
- **接口5**: 生成尽调报告 (`/watson/api/project/confirmStageUploadLogs`)
|
||||
- 删除 DTO: `GenerateReportRequest.java`, `GenerateReportResponse.java`
|
||||
|
||||
- **接口6**: 检查报告生成状态 (`/watson/api/project/upload/getallpendings`)
|
||||
- 删除 DTO: `CheckReportStatusResponse.java`
|
||||
|
||||
### 重构的接口
|
||||
- **接口2**: 上传文件 Response
|
||||
- 新增字段: `accountsOfLog` (账号映射信息)
|
||||
- 新增字段: `uploadLogList` (上传日志列表,含30+字段)
|
||||
- 新增内部类: `AccountInfo`, `UploadLogItem`
|
||||
|
||||
- **接口3**: 拉取行内流水 Request/Response
|
||||
- 修正参数名: `customerNo`, `dataChannelCode`, `requestDateId` 等
|
||||
- 重构 Response: 简化为 `code` 和 `message` 字段
|
||||
|
||||
- **接口4**: 检查解析状态 Response
|
||||
- 新增关键字段: `parsing` (是否正在解析)
|
||||
- 完善字段: `pendingList` (待处理文件列表,含30+字段)
|
||||
|
||||
- **接口7**: 获取银行流水 Request/Response
|
||||
- 更新路径: `/watson/api/project/getBSByLogId`
|
||||
- 新增参数: `logId` (文件ID,必填)
|
||||
- 参数重命名: `pageNum` → `pageNow`
|
||||
- 完整字段: `BankStatementItem` 包含40+个字段
|
||||
|
||||
### 保留的接口
|
||||
- **接口1**: 获取Token - 无需修改
|
||||
|
||||
---
|
||||
|
||||
## 修改的文件统计
|
||||
|
||||
### 配置文件 (1个)
|
||||
- `ruoyi-admin/src/main/resources/application-dev.yml`
|
||||
- 删除 `generate-report`, `check-report-status` 配置项
|
||||
- 更新 `get-bank-statement` 路径
|
||||
|
||||
### DTO类文件 (9个)
|
||||
|
||||
#### 删除的文件 (3个)
|
||||
- `ccdi-lsfx/src/main/java/com/ruoyi/lsfx/domain/request/GenerateReportRequest.java`
|
||||
- `ccdi-lsfx/src/main/java/com/ruoyi/lsfx/domain/response/GenerateReportResponse.java`
|
||||
- `ccdi-lsfx/src/main/java/com/ruoyi/lsfx/domain/response/CheckReportStatusResponse.java`
|
||||
|
||||
#### 重构的文件 (6个)
|
||||
- `ccdi-lsfx/src/main/java/com/ruoyi/lsfx/domain/request/FetchInnerFlowRequest.java`
|
||||
- `ccdi-lsfx/src/main/java/com/ruoyi/lsfx/domain/response/FetchInnerFlowResponse.java`
|
||||
- `ccdi-lsfx/src/main/java/com/ruoyi/lsfx/domain/response/UploadFileResponse.java`
|
||||
- `ccdi-lsfx/src/main/java/com/ruoyi/lsfx/domain/response/CheckParseStatusResponse.java`
|
||||
- `ccdi-lsfx/src/main/java/com/ruoyi/lsfx/domain/request/GetBankStatementRequest.java`
|
||||
- `ccdi-lsfx/src/main/java/com/ruoyi/lsfx/domain/response/GetBankStatementResponse.java`
|
||||
|
||||
### 业务逻辑文件 (2个)
|
||||
- `ccdi-lsfx/src/main/java/com/ruoyi/lsfx/client/LsfxAnalysisClient.java`
|
||||
- 删除 `generateReport()`, `checkReportStatus()` 方法
|
||||
- 更新 `getBankStatement()` 方法注释
|
||||
|
||||
- `ccdi-lsfx/src/main/java/com/ruoyi/lsfx/controller/LsfxTestController.java`
|
||||
- 删除接口5、6的测试方法
|
||||
- 更新接口7的Swagger注释和参数验证
|
||||
|
||||
**总计**: 12个文件
|
||||
|
||||
---
|
||||
|
||||
## Git 提交记录
|
||||
|
||||
```
|
||||
72bab28 refactor(lsfx): Controller删除接口5、6测试接口,更新接口7参数验证
|
||||
ac4ebd1 refactor(lsfx): Client删除接口5、6方法,更新接口7注释
|
||||
b2471c3 refactor(lsfx): 重构接口7 Request/Response,新路径、新参数、完整字段
|
||||
fe7f7ea refactor(lsfx): 重构接口4 Response,添加parsing字段和完整pendingList
|
||||
731f078 refactor(lsfx): 重构接口3 Request/Response,修正参数名和字段结构
|
||||
b89584a refactor(lsfx): 重构接口2 Response,添加完整字段(accountsOfLog、uploadLogList)
|
||||
c272ee7 refactor(lsfx): 删除接口5(生成报告)和接口6(检查报告状态)的DTO类
|
||||
d122e52 config(lsfx): 删除接口5、6配置,更新接口7路径
|
||||
```
|
||||
|
||||
**提交次数**: 8次
|
||||
**提交信息规范**: 符合 Conventional Commits 规范
|
||||
|
||||
---
|
||||
|
||||
## 编译验证结果
|
||||
|
||||
### 编译状态
|
||||
```
|
||||
[INFO] BUILD SUCCESS
|
||||
[INFO] Total time: 15.950 s
|
||||
[INFO] Finished at: 2026-03-02T22:10:37+08:00
|
||||
```
|
||||
|
||||
**结果**: ✅ 编译成功,无错误
|
||||
|
||||
### 编译的模块
|
||||
- ruoyi-common ✅
|
||||
- ruoyi-system ✅
|
||||
- ruoyi-framework ✅
|
||||
- ruoyi-quartz ✅
|
||||
- ruoyi-generator ✅
|
||||
- ccdi-info-collection ✅
|
||||
- ccdi-project ✅
|
||||
- **ccdi-lsfx** ✅ (本次更新核心模块)
|
||||
- ruoyi-admin ✅
|
||||
|
||||
---
|
||||
|
||||
## 验收检查清单
|
||||
|
||||
### 功能验收
|
||||
- ✅ 项目编译无错误
|
||||
- ✅ 无残留的import语句
|
||||
- ✅ DTO类使用 `@Data` 注解
|
||||
- ✅ 字段类型正确 (Integer, String, BigDecimal等)
|
||||
- ✅ 配置文件已更新
|
||||
|
||||
### 代码验收
|
||||
- ✅ 接口5、6相关代码已完全删除
|
||||
- ✅ 接口2、3、4、7的Response字段完整
|
||||
- ✅ 接口7使用新路径 `/watson/api/project/getBSByLogId`
|
||||
- ✅ 接口7参数包含 `logId`, `pageNow`, `pageSize`
|
||||
- ✅ Client方法注释清晰
|
||||
- ✅ Controller参数验证完整
|
||||
|
||||
### 提交信息验收
|
||||
- ✅ 提交信息格式规范
|
||||
- ✅ 每个功能点独立提交
|
||||
- ✅ 提交信息清晰描述变更内容
|
||||
|
||||
---
|
||||
|
||||
## 接口字段对比表
|
||||
|
||||
### 接口2: 上传文件 Response
|
||||
|
||||
| 新增字段 | 类型 | 说明 |
|
||||
|---------|------|------|
|
||||
| `data.accountsOfLog` | Map<String, List<AccountInfo>> | 账号映射信息(key为logId) |
|
||||
| `data.uploadLogList` | List<UploadLogItem> | 上传日志列表 |
|
||||
|
||||
**UploadLogItem 新增关键字段**:
|
||||
- `logId` (文件ID,重要)
|
||||
- `status` (状态,-5表示成功)
|
||||
- `uploadStatusDesc` (状态描述)
|
||||
- `totalRecords` (总记录数)
|
||||
- `trxDateStartId`, `trxDateEndId` (交易日期范围)
|
||||
|
||||
### 接口3: 拉取行内流水 Request
|
||||
|
||||
| 旧参数名 | 新参数名 | 类型 | 说明 |
|
||||
|---------|---------|------|------|
|
||||
| `dataChannel` | `dataChannelCode` | String | 数据渠道编码(固定值:ZJRCU) |
|
||||
| `jzDataDateId` | `requestDateId` | Integer | 发起请求的时间(格式:yyyyMMdd) |
|
||||
| `innerBSStartDateId` | `dataStartDateId` | Integer | 拉取开始日期(格式:yyyyMMdd) |
|
||||
| `innerBSEndDateId` | `dataEndDateId` | Integer | 拉取结束日期(格式:yyyyMMdd) |
|
||||
| - | `customerNo` | String | 客户身份证号(新增) |
|
||||
| - | `uploadUserId` | Integer | 柜员号(新增) |
|
||||
|
||||
### 接口4: 检查解析状态 Response
|
||||
|
||||
| 新增字段 | 类型 | 说明 |
|
||||
|---------|------|------|
|
||||
| `data.parsing` | Boolean | 是否正在解析(**关键字段**) |
|
||||
| `data.pendingList` | List<PendingItem> | 待处理文件列表(完整结构) |
|
||||
|
||||
**PendingItem 关键字段**:
|
||||
- `logId` (文件ID)
|
||||
- `status` (-5表示成功)
|
||||
- `uploadStatusDesc` (`data.wait.confirm.newaccount`表示成功)
|
||||
- `lostHeader` (丢失的表头)
|
||||
|
||||
### 接口7: 获取流水 Request
|
||||
|
||||
| 旧参数名 | 新参数名 | 类型 | 必填 | 说明 |
|
||||
|---------|---------|------|------|------|
|
||||
| `groupId` | `groupId` | Integer | 是 | 项目ID |
|
||||
| - | `logId` | Integer | **是** | 文件ID(**新增必填**) |
|
||||
| `pageNum` | `pageNow` | Integer | 是 | 当前页码(重命名) |
|
||||
| `pageSize` | `pageSize` | Integer | 是 | 每页数量 |
|
||||
|
||||
### 接口7: 获取流水 Response
|
||||
|
||||
**BankStatementItem 新增的主要字段** (40+字段):
|
||||
|
||||
| 字段分类 | 主要字段 |
|
||||
|---------|---------|
|
||||
| **账号信息** | `bankStatementId`, `leId`, `accountId`, `leName`, `accountMaskNo` |
|
||||
| **交易金额** | `drAmount`, `crAmount`, `balanceAmount`, `transAmount` (均为BigDecimal) |
|
||||
| **交易类型** | `cashType`, `transFlag`, `transTypeId`, `exceptionType` |
|
||||
| **对手方** | `customerId`, `customerName`, `customerAccountMaskNo`, `customerBank` |
|
||||
| **摘要备注** | `userMemo`, `bankComments`, `bankTrxNumber` |
|
||||
| **银行信息** | `bank` |
|
||||
| **其他** | `internalFlag`, `batchId`, `groupId`, `paymentMethod`, `cretNo` |
|
||||
| **转换金额** | `transformAmount`, `transformCrAmount`, `transformDrAmount`, `transfromBalanceAmount` |
|
||||
|
||||
---
|
||||
|
||||
## 待办事项
|
||||
|
||||
### 测试相关
|
||||
- [ ] 启动应用,访问 Swagger UI 验证接口显示
|
||||
- [ ] 使用 Swagger 测试接口1(获取Token)
|
||||
- [ ] 与前端联调测试新接口参数
|
||||
- [ ] 测试接口7的分页查询功能
|
||||
|
||||
### 部署相关
|
||||
- [ ] 更新生产环境配置文件 (`application-prod.yml`)
|
||||
- [ ] 确认生产环境接口路径
|
||||
- [ ] 准备上线发布说明
|
||||
|
||||
### 文档相关
|
||||
- [ ] 更新接口文档
|
||||
- [ ] 更新 API 使用示例
|
||||
- [ ] 通知前端开发人员接口变更
|
||||
|
||||
---
|
||||
|
||||
## 风险评估
|
||||
|
||||
### 影响范围
|
||||
- **前端调用**: 接口5、6已删除,前端需移除相关调用
|
||||
- **接口7参数**: 新增必填参数 `logId`,前端需调整
|
||||
- **接口3参数**: 多个参数重命名,前端需同步修改
|
||||
|
||||
### 风险等级
|
||||
**中等风险** - 涉及多个DTO重构和接口参数变更
|
||||
|
||||
### 建议措施
|
||||
1. 与前端团队充分沟通接口变更
|
||||
2. 在测试环境完整测试所有接口
|
||||
3. 保留旧版本文档作为参考
|
||||
4. 采用灰度发布方式逐步上线
|
||||
|
||||
---
|
||||
|
||||
## 参考资料
|
||||
|
||||
- **新版接口文档**: `doc/对接流水分析/兰溪-流水分析对接-新版.md`
|
||||
- **实施计划**: `docs/plans/2026-03-02-lsfx-update-plan.md`
|
||||
- **项目规范**: `CLAUDE.md`
|
||||
|
||||
---
|
||||
|
||||
**报告生成时间**: 2026-03-02 22:10
|
||||
**报告生成工具**: Claude Code
|
||||
**实施人员**: Claude Code AI Assistant
|
||||
Reference in New Issue
Block a user