Commit Graph

442 Commits

Author SHA1 Message Date
wkc
b7197682e7 fix: 补充银行流水接口 uploadSequnceNumber 字段接收和映射
- 在 GetBankStatementResponse.BankStatementItem 中添加 uploadSequnceNumber 字段
- 在 CcdiBankStatement.fromResponse() 中添加字段映射到 batchSequence
- 修复流水分析接口返回的上传序号数据丢失问题
2026-03-05 16:57:13 +08:00
wkc
a753b87c1f fix: 已完成/已归档查看结果直达结果总览 2026-03-05 16:20:20 +08:00
wkc
012c5caa64 修改gitignore 2026-03-05 16:04:31 +08:00
wkc
d3c15d4d75 修改 2026-03-05 15:53:56 +08:00
wkc
848640e284 fix: 修复项目详情上传时间展示 2026-03-05 15:45:20 +08:00
wkc
bd0b25d059 refactor: remove upload status cards from project detail upload page 2026-03-05 15:33:09 +08:00
wkc
ba939b8eb6 fix(upload-data): remove stray accept text 2026-03-05 15:18:57 +08:00
wkc
a7cf67e6e4 http请求 2026-03-05 15:01:33 +08:00
wkc
2b5582ddcc docs: 添加文件格式变更说明文档 2026-03-05 14:41:50 +08:00
wkc
9b5c4f8854 feat: 修改流水文件上传支持PDF/CSV/Excel格式
- 文件格式限制从仅Excel改为支持PDF/CSV/XLSX/XLS
- 更新前端校验逻辑
- 更新用户提示信息
- 添加accept属性限制文件选择器
2026-03-05 14:41:11 +08:00
wkc
b52d6c6e7a feat: 实现异步文件上传前端功能
- 添加批量上传API接口
- 扩展UploadData组件,添加批量上传弹窗
- 添加统计卡片展示(上传中、解析中、成功、失败)
- 添加文件上传记录列表
- 实现轮询机制自动刷新状态
- 支持文件数量、格式、大小校验
- 支持手动刷新和状态筛选
- 添加响应式布局支持
2026-03-05 14:21:33 +08:00
wkc
1a9ca2a05f test: 添加异步文件上传功能集成测试脚本 2026-03-05 14:06:29 +08:00
wkc
756129b913 fix: 修复tempFilePaths和records对应关系的潜在bug
问题:
- 原代码中保存临时文件和创建记录使用两个独立的循环
- 无法保证两个列表的索引严格一一对应
- 如果中间出现异常或跳过,会导致对应关系错乱

修复:
- 将两个循环合并为一个,在同一个循环中处理
- 使用相同的索引i创建tempFilePaths[i]和records[i]
- 添加数量一致性验证
- 临时文件名中加入索引i,避免文件名冲突
- 日志中记录索引i便于调试

影响:
- 确保临时文件和数据库记录严格一一对应
- 避免异步处理时出现文件与记录不匹配的问题
2026-03-05 13:47:39 +08:00
wkc
d8d60f9103 feat: 实现CcdiFileUploadServiceImpl所有TODO
完整实现异步文件上传服务的所有TODO方法:

1. 新增批次日志管理器
   - 为每个批次创建独立日志文件
   - 路径: {ruoyi.profile}/logs/file-upload/{projectId}/{timestamp}.log
   - 支持ThreadLocal隔离

2. 完善CcdiFileUploadServiceImpl
   - 注入LsfxAnalysisClient和CcdiBankStatementMapper
   - 实现processFileAsync: 文件上传到流水分析平台
   - 实现waitForParsingComplete: 固定间隔轮询(300次×2秒)
   - 实现获取解析结果: status=-5判断成功
   - 实现fetchAndSaveBankStatements: 分页获取(每页1000条)+批量插入(每批1000条)
   - 集成批次日志管理

3. 关键特性
   - 完整的流水分析平台集成
   - 固定间隔轮询策略
   - 大批量分页获取(每页1000条)
   - 批量插入优化(每批1000条)
   - 严格失败策略: 任何异常直接标记为parsed_failed
   - 完善的日志记录

4. 测试验证
   - 编译通过,无错误
   - 所有TODO已实现
2026-03-05 13:40:29 +08:00
wkc
388c70ce04 docs: 添加异步文件上传服务实现设计文档
- 完整设计 CcdiFileUploadServiceImpl 所有 TODO 实现方案
- 包含依赖注入、文件上传、轮询解析、批量保存等详细设计
- 确定设计决策:固定间隔轮询、大批量分页、严格失败策略
- 实现批次日志管理器 FileUploadLogAppender
- 包含完整的测试策略和部署注意事项
2026-03-05 12:39:58 +08:00
wkc
f1c43589d4 refactor: 修改uploadFile方法参数类型为File
- 将LsfxAnalysisClient.uploadFile方法参数从MultipartFile改为File
- 在LsfxTestController中添加MultipartFile到File的转换逻辑
- 使用临时文件处理转换,并在finally块中自动清理
2026-03-05 12:01:16 +08:00
wkc
190c7b096e 修改配置文件 2026-03-05 11:05:41 +08:00
wkc
5af6f236f0 refactor: 使用ruoyi.profile配置作为临时文件路径
- 恢复application.yml中的ruoyi.profile配置项
- Service使用@Value注解读取ruoyi.profile
- 临时文件存储在 {ruoyi.profile}/temp 目录下
- 移除硬编码的临时目录配置
2026-03-05 10:59:10 +08:00
wkc
18dc022b55 refactor: 临时文件目录使用ruoyi.profile配置
- 移除硬编码的临时目录常量
- 使用ruoyi.profile配置(D:/ruoyi/uploadPath)
- 临时文件存储路径:{ruoyi.profile}/temp/upload
- 复用若依框架统一的文件路径配置
2026-03-05 10:54:40 +08:00
wkc
6993950aa5 docs: 添加文件上传API文档 2026-03-05 10:47:36 +08:00
wkc
9f6a4b0962 feat: 添加文件上传Controller 2026-03-05 10:46:33 +08:00
wkc
656453ea50 refactor: 移除WebSocket,改为页面轮询机制
- 移除WebSocket相关设计
- 添加页面轮询机制设计
- 轮询间隔:5秒
- 自动启动/停止策略
- 支持手动刷新
2026-03-05 10:39:35 +08:00
wkc
aa0c49f9b1 fix: 修复硬编码lsfxProjectId问题
- 注入CcdiProjectMapper
- 查询项目信息获取真实的lsfxProjectId
- 验证项目存在,不存在则抛出IllegalArgumentException
- 验证项目已关联流水分析平台,未关联则抛出IllegalStateException
- 添加日志记录项目信息验证通过
2026-03-05 10:39:13 +08:00
wkc
ebf66ea70b fix: 修复3个Critical代码问题
Critical Fix #1: 事务边界违规
- 添加@Transactional注解
- 使用TransactionSynchronizationManager确保异步任务在事务提交后启动
- 避免事务回滚导致的数据不一致问题

Critical Fix #2: MultipartFile生命周期问题
- 在启动异步任务前将MultipartFile保存到临时存储
- 使用临时文件路径替代MultipartFile对象
- 在处理完成后清理临时文件

Critical Fix #3: 批量插入后ID生成验证
- 在XML映射中添加useGeneratedKeys=true和keyProperty=id
- 在批量插入后验证所有记录ID已生成
- 抛出异常如果ID未生成

Additional Fix: 线程中断处理
- 在调度线程中检查中断状态
- 被中断时停止提交剩余任务
2026-03-05 10:30:36 +08:00
wkc
83e2f39a4e docs: 添加异步文件上传前端实施计划 2026-03-05 10:13:44 +08:00
wkc
332771b009 docs: 添加异步文件上传功能前端设计文档 2026-03-05 10:10:25 +08:00
wkc
71d9b5b2d1 feat: 实现异步处理单个文件的完整流程 2026-03-05 09:56:50 +08:00
wkc
85a03a001d feat: 实现批量上传主方法和调度线程 2026-03-05 09:55:18 +08:00
wkc
10cc8e87a5 feat: 添加文件上传服务实现(基础CRUD方法) 2026-03-05 09:47:52 +08:00
wkc
1fd40c8ab1 feat: 添加文件上传服务接口 2026-03-05 09:46:44 +08:00
wkc
56a2b600bc feat: 添加异步线程池配置 2026-03-05 09:35:13 +08:00
wkc
5205874224 feat: 添加文件上传查询DTO和统计VO 2026-03-05 09:34:25 +08:00
wkc
8706a2c1df feat: 添加文件上传记录Mapper接口和XML映射 2026-03-05 09:33:05 +08:00
wkc
bf4b4e41a2 feat: 添加文件上传记录实体类 2026-03-05 09:32:00 +08:00
wkc
dcba711f90 feat: 添加文件上传记录表SQL脚本 2026-03-05 09:30:43 +08:00
wkc
73c78043ba docs: 拆分实施计划为3个子计划(数据库、Service、Controller) 2026-03-05 09:21:21 +08:00
wkc
23e3dece7b docs: 添加项目异步文件上传功能实施计划 2026-03-05 09:15:23 +08:00
wkc
de45854c0f docs: 添加项目异步文件上传功能设计文档 2026-03-05 09:11:36 +08:00
wkc
014fd8a35c 接口文档更新 2026-03-04 16:59:38 +08:00
wkc
2df3d5203f 接口文档更新 2026-03-04 16:39:24 +08:00
wkc
5cb9d62268 Merge branch 'feature/lsfx-interface-update' into dev
feat(lsfx): 流水分析接口功能更新

新增功能:
- 添加获取文件上传状态接口(接口5)
- 添加删除文件接口(接口6)

改进:
- 更新现有接口添加默认值处理
- HttpUtil添加GET请求支持
- 配置文件添加新endpoint

涉及模块:
- ccdi-lsfx (核心业务模块)
- ruoyi-admin (配置更新)
2026-03-04 16:34:41 +08:00
wkc
928e5ec2e1 接口文档更新 2026-03-04 16:32:41 +08:00
wkc
e2e637890a feat(lsfx): Controller更新getToken和fetchInnerFlow接口添加默认值 2026-03-04 16:28:17 +08:00
wkc
b786d65b9a feat(lsfx): Controller添加获取文件上传状态和删除文件接口 2026-03-04 16:25:19 +08:00
wkc
2548efd629 feat(lsfx): Client实现获取文件上传状态和删除文件方法 2026-03-04 16:23:44 +08:00
wkc
5f207507de Merge branch 'feature/bank-statement-entity' into dev
实现银行流水实体类和转换功能:
- 添加 ccdi_bank_statement 表的 project_id 字段
- 创建 CcdiBankStatement 实体类(39个字段)
- 实现 fromResponse() 转换方法(支持9个字段映射)
- 创建 Mapper 接口和 XML 映射文件
- 完整的单元测试覆盖
2026-03-04 16:21:47 +08:00
wkc
acc8fa3b8f feat(lsfx): 配置添加新接口endpoint 2026-03-04 16:21:20 +08:00
wkc
ccbdbabf67 feat(lsfx): HttpUtil添加GET请求支持 2026-03-04 16:20:07 +08:00
wkc
6ca5aa4812 feat: 创建银行流水 Mapper XML 映射文件 2026-03-04 16:16:03 +08:00
wkc
7d27a335cb feat(lsfx): 拉取行内流水请求添加dataChannelCode字段 2026-03-04 16:14:58 +08:00