zhizhijie
2026-09-20 35d098a89613c96179391178b7f8143dec393ada
refs
用户 zhizhijie <zhizhijie@users.noreply.gitee.com>
星期日, 九月 20, 2026 15:52 +0800
提交者 zhizhijie <zhizhijie@users.noreply.gitee.com>
星期日, 九月 20, 2026 15:52 +0800
提交35d098a89613c96179391178b7f8143dec393ada
目录 ee7c3f824b87cf2b03d724ae0b4e1eb677e4dcb2 目录 | zip | gz
parent d7c697139d3dc8407ef6782e23e5963a87c2eec4 查看 | 对比
feat(报表): 汇总大表导出异步化 + 结果缓存 + 进度弹窗

用户提问「点导出要等一会才反应,数据多了会不会卡死」:
- 新增 ReportExportTaskService:固定 1 线程池后台生成,提交即返回 taskId,前端轮询进度;
同一报表期并发提交自动去重;结果保留 30 分钟、10 分钟内可复用。
- 缓存带数据版本守卫:版本取 import_batch 最大 id,期间有新导入即失效(取不到版本禁用缓存)。
- ReportExportService 新增带进度回调的 exportSummaryWorkbook 重载(进度点 2/6/12/22/45/70/95%)。
- ReportExportController 新增 /exportTask/summaryWorkbook、/exportTask/{id}、/exportTask/{id}/file 三个接口,原同步接口保留。
- 前端 ReportExport.vue 进度弹窗:步骤/百分比/用时/缓存来源/失败原因 + 保存文件/重新生成/后台运行/关闭。

同时修复一个严重回归:新增 computed 与文件中已有 computed 同名重复(后者覆盖前者),
导致 myModules/visibleModules 丢失、报表生成页 created() 抛错整页白屏;已并入同一 computed 块并浏览器复验。

测试:《功能测试报告_汇总大表异步导出与缓存_2026-09-20.md》17 条用例通过
(接口 8 + 浏览器实测 7 + 复验 2)。
4个文件已修改
3个文件已添加
567 ■■■■■ 已修改文件
docs/功能测试报告/功能测试报告_汇总大表异步导出与缓存_2026-09-20.md 86 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
docs/功能测试报告/汇总大表异步导出进度弹窗_2026-09-20.png 对比 | 查看 | 原始文档 | blame | 历史
docs/工作日结/工作日结_2026-09-20.md 39 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
traffic-audit-server/src/main/java/com/trafficaudit/reportexport/controller/ReportExportController.java 46 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
traffic-audit-server/src/main/java/com/trafficaudit/reportexport/service/ReportExportService.java 25 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
traffic-audit-server/src/main/java/com/trafficaudit/reportexport/service/ReportExportTaskService.java 234 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
traffic-audit-web/src/views/ReportExport.vue 137 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史