修复流水异常标签展示与导出
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
# 流水明细异常标签后端实施记录
|
||||
|
||||
## 修改内容
|
||||
- 流水列表/详情返回异常标签
|
||||
- 导出流水返回异常标签列
|
||||
- 流水标签结果批量查询能力
|
||||
- 后端单元测试补充
|
||||
|
||||
## 实施说明
|
||||
- 新增 `CcdiBankStatementHitTagVO`,统一承载流水命中的异常标签编码、名称、风险等级和命中原因。
|
||||
- 在 `CcdiBankStatementListVO`、`CcdiBankStatementDetailVO` 中新增 `hitTags` 字段,作为流水列表页和详情弹窗的统一返回结构。
|
||||
- 在 `CcdiBankStatementExcel` 中新增“异常标签”导出列,导出时将命中的标签名称按顺序拼接为文本。
|
||||
- 在 `CcdiBankTagResultMapper` 中新增按 `projectId + bankStatementIds` 批量查询命中标签的方法,并在 XML 中补充对应 SQL。
|
||||
- 在 `CcdiBankStatementServiceImpl` 中补充标签挂载逻辑:
|
||||
- 列表查询完成后,按当前页流水 ID 批量回查标签并分组挂载到每条记录。
|
||||
- 详情查询完成后,按当前流水 ID 回查标签并挂载到详情对象。
|
||||
- 导出查询完成后,复用同一套标签回查逻辑,将命中标签名称写入 Excel 导出对象。
|
||||
- 本次未改动流水标签判定规则,只修复“标签结果已入库但接口未返回”的数据链路缺口。
|
||||
|
||||
## 问题定位结论
|
||||
- 数据库中 `project_id = 43`、摘要为 `ATM现金存款` 的流水记录已存在 `LARGE_CASH_DEPOSIT` 等命中结果。
|
||||
- 原因是 `ccdi_bank_statement` 列表接口与详情接口此前未将 `ccdi_bank_statement_tag_result` 的命中标签组装到返回 VO 中,导致前端无法展示。
|
||||
|
||||
## 验证执行
|
||||
- 执行 `mvn -pl ccdi-project test -Dtest=CcdiBankTagResultMapperXmlTest,CcdiBankStatementHitTagsContractTest,CcdiBankStatementServiceImplTest`,结果通过。
|
||||
- 执行 `mvn -pl ccdi-project test -Dtest=CcdiBankStatementHitTagsContractTest,CcdiBankStatementServiceImplTest,CcdiBankStatementControllerTest`,结果通过。
|
||||
@@ -0,0 +1,22 @@
|
||||
# 流水明细异常标签前端实施记录
|
||||
|
||||
## 修改内容
|
||||
- 列表异常标签列
|
||||
- 详情异常标签模块
|
||||
- 静态测试与构建验证
|
||||
|
||||
## 实施说明
|
||||
- 在 `DetailQuery.vue` 的列表表格中新增“异常标签”列,仅展示 `hitTags` 中的标签名称,并根据风险等级映射标签颜色。
|
||||
- 在详情弹窗中新增“命中异常标签”模块,展示标签名称、风险等级中文文案和命中原因摘要。
|
||||
- 列表接口返回值与详情接口返回值统一对 `hitTags` 做数组归一化,避免后端返回 `null` 时影响空态展示。
|
||||
- 为空标签场景补充统一空态文案,保持列表和详情展示一致。
|
||||
|
||||
## 验证执行
|
||||
- 执行 `node tests/unit/detail-query-filter-layout.test.js`,结果通过。
|
||||
- 执行 `node tests/unit/detail-query-detail-dialog.test.js`,结果通过。
|
||||
- 执行 `node tests/unit/detail-query-hit-tags-list.test.js`,结果通过。
|
||||
- 执行 `npm run build:prod`,结果通过,存在项目既有体积告警,但无新增编译错误。
|
||||
|
||||
## 接口说明
|
||||
- 本次未修改 `ruoyi-ui/src/api/ccdiProjectBankStatement.js`。
|
||||
- 原因:继续复用现有列表与详情接口,仅消费后端扩展后的响应数据结构,不新增前端请求入口。
|
||||
Reference in New Issue
Block a user