Files
ccdi/docs/reports/implementation/2026-03-27-development-risk-suspicious-transaction-detail-plan-record.md

83 lines
4.4 KiB
Markdown
Raw Normal View History

# 开发风险明细涉疑交易明细实施计划记录
## 本次改动
- 新增后端实施计划:
- `docs/plans/backend/2026-03-27-development-risk-suspicious-transaction-detail-backend-implementation.md`
- 新增前端实施计划:
- `docs/plans/frontend/2026-03-27-development-risk-suspicious-transaction-detail-frontend-implementation.md`
- 实际落地后端改动:
- 新增 `sql/migration/2026-03-27-ccdi-bank-statement-counterparty-identity-columns.sql`
- 补齐 `ccdi_bank_statement` 对手方证件号、统一社会信用代码入库映射
- 新增结果总览涉疑交易 DTO / VO / Excel / Controller / Service / Mapper 能力
- 新增“模型规则命中 + 名单库命中”聚合 SQL并支持列表与导出
- 实际落地前端改动:
- `ruoyi-ui/src/api/ccdi/projectOverview.js` 新增涉疑交易列表接口
- `PreliminaryCheck.vue` 接入结果总览涉疑交易初始加载
- `preliminaryCheck.mock.js` 新增涉疑交易归一化与 `riskDetails` 数据结构
- `RiskDetailSection.vue` 改造成涉疑交易表格,接通筛选、导出、流水详情弹窗
## 计划拆分结果
- 后端计划聚焦三件事:
- 补齐交易对手方证件号与统一社会信用代码的入库链路
- 新增结果总览涉疑交易列表与导出接口
- 实现“规则命中 + 名单库命中”聚合 SQL 与回归测试
- 前端计划聚焦三件事:
- 新增结果总览涉疑交易接口封装
-`PreliminaryCheck.vue` 从 mock 风险明细切换到真实加载
- 改造 `RiskDetailSection.vue`,复用流水详情弹窗并接通导出
## 文档落点检查
- 后端计划已放入:`docs/plans/backend/`
- 前端计划已放入:`docs/plans/frontend/`
- 本次计划记录已放入:`docs/reports/implementation/`
## 说明
- 依据仓库 `AGENTS.md` 约束,本轮未启用 subagent 审核流程
- 本轮直接在当前 `dev` 分支执行,未创建 git worktree
## 2026-03-27 二次调整记录
- 新增设计文档:
- `docs/design/2026-03-27-results-overview-suspicious-transaction-alignment-design.md`
- 调整目标:
- 将结果总览“涉疑交易明细”的列表样式、详情弹窗和分页交互对齐到“流水明细查询”页面
- 保留“关联员工”列,其余“可疑人员 / 关联人 / 关系”等涉疑交易专属列移除
- 分页固定每页 5 条
- 预计改动:
- 重写 `RiskDetailSection.vue` 的列表列结构、详情弹窗结构与分页状态
- 补充当前页异常标签加载逻辑
- 同步更新前端单测断言
## 实施结果
- 后端已完成:
- 交易对手方身份证、统一社会信用代码已沿 LSFX 响应、实体、MyBatis XML、Mock 服务全链路补齐
- 结果总览新增 `/ccdi/project/overview/suspicious-transactions``/ccdi/project/overview/suspicious-transactions/export`
- 涉疑交易明细按 `ALL / NAME_LIST / MODEL_RULE` 支持筛选
- SQL 以流水为粒度去重,同一流水同时命中两类来源时仅返回一条
- 前端已完成:
- 结果总览页默认加载涉疑交易明细
- 风险明细区块已从“涉险交易明细”切换为“涉疑交易明细”
- 表格列已对齐交易时间、可疑人员、关联人、关联员工、关系、摘要/交易类型、交易金额
- 详情按钮复用现有流水详情接口,导出按钮指向新的结果总览导出接口
## 验证记录
- 后端验证通过:
- `python3 -m pytest lsfx-mock-server/tests/test_statement_service.py -v`
- `mvn -pl ccdi-project,ccdi-lsfx -am -Dtest=CcdiBankStatementTest,CcdiBankStatementMapperXmlTest,CcdiProjectOverviewServiceStructureTest,CcdiProjectOverviewControllerContractTest,CcdiProjectOverviewControllerTest,CcdiProjectOverviewMapperSqlTest,CcdiProjectOverviewServiceImplTest,CcdiProjectOverviewServiceSuspiciousTransactionTest -Dsurefire.failIfNoSpecifiedTests=false test`
- 前端验证通过:
- `node ruoyi-ui/tests/unit/project-overview-api.test.js`
- `node ruoyi-ui/tests/unit/preliminary-check-model-and-detail.test.js`
- `node ruoyi-ui/tests/unit/preliminary-check-suspicious-transaction-load.test.js`
- `node ruoyi-ui/tests/unit/risk-detail-suspicious-transaction-layout.test.js`
- `node ruoyi-ui/tests/unit/risk-detail-suspicious-transaction-detail-dialog.test.js`
- `cd ruoyi-ui && npm run build:prod`
- 构建说明:
- 前端生产构建成功,但保留仓库原有 bundle 体积告警,不属于本轮新增问题