|
|
2871b3c00b
|
feat(ccdi-project): 扩展文件上传支持CSV和PDF格式
- 修改文件类型校验逻辑,添加.csv和.pdf扩展名支持
- 实现大小写不敏感的文件扩展名校验(转为小写后判断)
- 更新错误提示信息为"仅支持 PDF、CSV、Excel 文件"
|
2026-03-09 14:20:07 +08:00 |
|
|
|
328e5d9bec
|
fix(ccdi-project): 修复审计字段和批量更新性能问题
- 修复updateParamValue添加update_by字段
- 修复insertBatch添加create_by和update_by字段
- 优化saveAllParams批量更新性能
- 使用batchUpdateParamValues替代循环单次更新
- 添加LambdaQueryWrapper导入
- 在Mapper接口中添加batchUpdateParamValues方法
|
2026-03-09 09:50:59 +08:00 |
|
|
|
c2a95e35ae
|
fix(ccdi-project): 修复审计字段和批量更新性能问题
1. 补充审计字段设置:
- updateParamValue 添加 update_by 字段
- insertBatch 添加 create_by 和 update_by 字段
- Service 层手动设置审计字段
2. 优化批量更新性能:
- 从循环单次更新改为批量更新
- 使用 batchUpdateParamValues 方法
- 减少数据库交互次数(从18次减少到1次)
影响:提升性能,完善审计追踪
|
2026-03-09 09:49:05 +08:00 |
|
|
|
d825d3649a
|
fix(ccdi-project): 添加updateParamValue方法到Mapper接口
|
2026-03-09 08:53:19 +08:00 |
|
|
|
afbaa34500
|
fix(ccdi-project): 添加selectByProjectAndModel方法到Mapper接口
|
2026-03-09 08:52:06 +08:00 |
|
|
|
fa1a31517d
|
fix(ccdi-project): 修复Mapper接口,添加缺失的selectDistinctModels方法
|
2026-03-06 17:19:22 +08:00 |
|
|
|
500285de2d
|
fix(ccdi-project): 添加Mapper批量插入方法
|
2026-03-06 17:16:37 +08:00 |
|
|
|
a102643b9f
|
fix(ccdi-project): 修复批量保存时复制所有模型参数的逻辑
|
2026-03-06 17:12:02 +08:00 |
|
|
|
b484f1226f
|
feat(ccdi-project): 在Mapper XML中添加批量查询SQL
|
2026-03-06 17:06:53 +08:00 |
|
|
|
9f6ee35638
|
feat(ccdi-project): 在Controller中添加批量查询和保存接口
|
2026-03-06 17:06:40 +08:00 |
|
|
|
89b852ab8d
|
feat(ccdi-project): 实现批量查询和保存方法
|
2026-03-06 17:05:36 +08:00 |
|
|
|
356ecbc67f
|
feat(ccdi-project): 在Service接口中添加批量查询和保存方法
|
2026-03-06 17:02:44 +08:00 |
|
|
|
42a2cea3e0
|
feat(ccdi-project): 在Mapper接口中添加批量查询方法
|
2026-03-06 17:00:47 +08:00 |
|
|
|
3507e32800
|
debug: 添加 selectModelList 方法调试日志
|
2026-03-06 15:43:31 +08:00 |
|
|
|
c09cd77723
|
feat: 修改 saveParams 方法支持首次保存自动复制默认参数
|
2026-03-06 15:25:41 +08:00 |
|
|
|
7dba7845cc
|
feat: 添加 copyDefaultParamsToProject 私有方法
|
2026-03-06 15:25:00 +08:00 |
|
|
|
0828897860
|
feat: 修改 selectParamList 方法支持根据 configType 返回对应参数
|
2026-03-06 15:24:24 +08:00 |
|
|
|
c38b87319d
|
feat: 注入 CcdiProjectMapper 依赖
|
2026-03-06 15:17:38 +08:00 |
|
|
|
3f6db8e921
|
feat: 添加 Mapper XML SQL updateParamValue 和 insertBatch
|
2026-03-06 15:16:56 +08:00 |
|
|
|
b37bd7380b
|
feat: 添加 Mapper 接口方法 updateParamValue 和 insertBatch
|
2026-03-06 15:16:20 +08:00 |
|
|
|
de35bd33c0
|
拼写错误
|
2026-03-05 17:28:39 +08:00 |
|
|
|
b7197682e7
|
fix: 补充银行流水接口 uploadSequnceNumber 字段接收和映射
- 在 GetBankStatementResponse.BankStatementItem 中添加 uploadSequnceNumber 字段
- 在 CcdiBankStatement.fromResponse() 中添加字段映射到 batchSequence
- 修复流水分析接口返回的上传序号数据丢失问题
|
2026-03-05 16:57:13 +08:00 |
|
|
|
756129b913
|
fix: 修复tempFilePaths和records对应关系的潜在bug
问题:
- 原代码中保存临时文件和创建记录使用两个独立的循环
- 无法保证两个列表的索引严格一一对应
- 如果中间出现异常或跳过,会导致对应关系错乱
修复:
- 将两个循环合并为一个,在同一个循环中处理
- 使用相同的索引i创建tempFilePaths[i]和records[i]
- 添加数量一致性验证
- 临时文件名中加入索引i,避免文件名冲突
- 日志中记录索引i便于调试
影响:
- 确保临时文件和数据库记录严格一一对应
- 避免异步处理时出现文件与记录不匹配的问题
|
2026-03-05 13:47:39 +08:00 |
|
|
|
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 |
|
|
|
190c7b096e
|
修改配置文件
|
2026-03-05 11:05:41 +08:00 |
|
|
|
5af6f236f0
|
refactor: 使用ruoyi.profile配置作为临时文件路径
- 恢复application.yml中的ruoyi.profile配置项
- Service使用@Value注解读取ruoyi.profile
- 临时文件存储在 {ruoyi.profile}/temp 目录下
- 移除硬编码的临时目录配置
|
2026-03-05 10:59:10 +08:00 |
|
|
|
18dc022b55
|
refactor: 临时文件目录使用ruoyi.profile配置
- 移除硬编码的临时目录常量
- 使用ruoyi.profile配置(D:/ruoyi/uploadPath)
- 临时文件存储路径:{ruoyi.profile}/temp/upload
- 复用若依框架统一的文件路径配置
|
2026-03-05 10:54:40 +08:00 |
|
|
|
9f6a4b0962
|
feat: 添加文件上传Controller
|
2026-03-05 10:46:33 +08:00 |
|
|
|
aa0c49f9b1
|
fix: 修复硬编码lsfxProjectId问题
- 注入CcdiProjectMapper
- 查询项目信息获取真实的lsfxProjectId
- 验证项目存在,不存在则抛出IllegalArgumentException
- 验证项目已关联流水分析平台,未关联则抛出IllegalStateException
- 添加日志记录项目信息验证通过
|
2026-03-05 10:39:13 +08:00 |
|
|
|
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 |
|
|
|
71d9b5b2d1
|
feat: 实现异步处理单个文件的完整流程
|
2026-03-05 09:56:50 +08:00 |
|
|
|
85a03a001d
|
feat: 实现批量上传主方法和调度线程
|
2026-03-05 09:55:18 +08:00 |
|
|
|
10cc8e87a5
|
feat: 添加文件上传服务实现(基础CRUD方法)
|
2026-03-05 09:47:52 +08:00 |
|
|
|
1fd40c8ab1
|
feat: 添加文件上传服务接口
|
2026-03-05 09:46:44 +08:00 |
|
|
|
56a2b600bc
|
feat: 添加异步线程池配置
|
2026-03-05 09:35:13 +08:00 |
|
|
|
5205874224
|
feat: 添加文件上传查询DTO和统计VO
|
2026-03-05 09:34:25 +08:00 |
|
|
|
8706a2c1df
|
feat: 添加文件上传记录Mapper接口和XML映射
|
2026-03-05 09:33:05 +08:00 |
|
|
|
bf4b4e41a2
|
feat: 添加文件上传记录实体类
|
2026-03-05 09:32:00 +08:00 |
|
|
|
6ca5aa4812
|
feat: 创建银行流水 Mapper XML 映射文件
|
2026-03-04 16:16:03 +08:00 |
|
|
|
ac21ca1225
|
feat: 创建银行流水 Mapper 接口
|
2026-03-04 16:14:57 +08:00 |
|
|
|
a727119f51
|
feat: 实现银行流水转换方法 fromResponse()
|
2026-03-04 16:14:17 +08:00 |
|
|
|
638795e096
|
test: 添加银行流水转换方法的单元测试
|
2026-03-04 16:08:46 +08:00 |
|
|
|
4755e6fea3
|
feat: 创建银行流水实体类基础结构
|
2026-03-04 16:05:47 +08:00 |
|
|
|
b9ca44cbca
|
feat: createProject方法集成流水分析平台调用
|
2026-03-04 10:56:34 +08:00 |
|
|
|
9916f641ac
|
feat: 实现callLsfxPlatform方法调用流水分析平台
|
2026-03-04 10:55:31 +08:00 |
|
|
|
4cf76a13a0
|
feat: CcdiProjectServiceImpl注入LsfxAnalysisClient依赖
|
2026-03-04 10:54:55 +08:00 |
|
|
|
e43d2ac0f6
|
feat: CcdiProjectVO添加lsfxProjectId字段
|
2026-03-04 09:55:38 +08:00 |
|
|
|
4a2d993a91
|
feat: CcdiProject实体类添加lsfxProjectId字段
|
2026-03-04 09:55:10 +08:00 |
|
|
|
6dccf48160
|
feat: 添加项目状态统计接口
|
2026-02-28 09:06:01 +08:00 |
|
|
|
9423184d37
|
feat: 实现项目状态统计方法
- 添加 getStatusCounts() 方法实现
- 使用 MyBatis Plus selectCount 统计各状态项目数量
- 统计全部项目、进行中(0)、已完成(1)、已归档(2)的项目数量
|
2026-02-28 08:53:02 +08:00 |
|