From e7ed2197e693f5a5d672a339c8e804db8dfb083c Mon Sep 17 00:00:00 2001 From: wkc <978997012@qq.com> Date: Mon, 16 Mar 2026 14:42:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD:=20=E6=89=A9=E5=B1=95?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E7=BB=9F=E8=AE=A1=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E5=B7=B2=E5=88=A0=E9=99=A4=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/vo/CcdiFileUploadStatisticsVO.java | 3 +++ .../service/impl/CcdiFileUploadServiceImpl.java | 2 ++ .../impl/CcdiFileUploadServiceImplTest.java | 16 ++++++++++++++++ 3 files changed, 21 insertions(+) diff --git a/ccdi-project/src/main/java/com/ruoyi/ccdi/project/domain/vo/CcdiFileUploadStatisticsVO.java b/ccdi-project/src/main/java/com/ruoyi/ccdi/project/domain/vo/CcdiFileUploadStatisticsVO.java index bc106773..3fc66bc9 100644 --- a/ccdi-project/src/main/java/com/ruoyi/ccdi/project/domain/vo/CcdiFileUploadStatisticsVO.java +++ b/ccdi-project/src/main/java/com/ruoyi/ccdi/project/domain/vo/CcdiFileUploadStatisticsVO.java @@ -29,6 +29,9 @@ public class CcdiFileUploadStatisticsVO implements Serializable { /** 解析失败数量 */ private Long parsedFailed; + /** 已删除数量 */ + private Long deleted; + /** 总数量 */ private Long total; } diff --git a/ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiFileUploadServiceImpl.java b/ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiFileUploadServiceImpl.java index d6f17a43..7d41c2db 100644 --- a/ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiFileUploadServiceImpl.java +++ b/ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiFileUploadServiceImpl.java @@ -274,6 +274,7 @@ public class CcdiFileUploadServiceImpl implements ICcdiFileUploadService { vo.setParsing(0L); vo.setParsedSuccess(0L); vo.setParsedFailed(0L); + vo.setDeleted(0L); long total = 0L; for (Map item : statusCounts) { @@ -286,6 +287,7 @@ public class CcdiFileUploadServiceImpl implements ICcdiFileUploadService { case "parsing" -> vo.setParsing(count); case "parsed_success" -> vo.setParsedSuccess(count); case "parsed_failed" -> vo.setParsedFailed(count); + case "deleted" -> vo.setDeleted(count); } } diff --git a/ccdi-project/src/test/java/com/ruoyi/ccdi/project/service/impl/CcdiFileUploadServiceImplTest.java b/ccdi-project/src/test/java/com/ruoyi/ccdi/project/service/impl/CcdiFileUploadServiceImplTest.java index cccfaef6..e744f20b 100644 --- a/ccdi-project/src/test/java/com/ruoyi/ccdi/project/service/impl/CcdiFileUploadServiceImplTest.java +++ b/ccdi-project/src/test/java/com/ruoyi/ccdi/project/service/impl/CcdiFileUploadServiceImplTest.java @@ -5,6 +5,7 @@ import ch.qos.logback.classic.spi.ILoggingEvent; import ch.qos.logback.core.read.ListAppender; import com.alibaba.excel.EasyExcel; import com.ruoyi.ccdi.project.domain.CcdiProject; +import com.ruoyi.ccdi.project.domain.vo.CcdiFileUploadStatisticsVO; import com.ruoyi.ccdi.project.domain.entity.CcdiFileUploadRecord; import com.ruoyi.ccdi.project.mapper.CcdiBankStatementMapper; import com.ruoyi.ccdi.project.mapper.CcdiFileUploadRecordMapper; @@ -38,6 +39,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.concurrent.Executor; import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicInteger; @@ -472,6 +474,20 @@ class CcdiFileUploadServiceImplTest { assertFalse(events.stream().anyMatch(event -> event.endsWith("record:parsed_success"))); } + @Test + void countByStatus_shouldIncludeDeletedCount() { + when(recordMapper.countByStatus(PROJECT_ID)).thenReturn(List.of( + Map.of("status", "uploading", "count", 1), + Map.of("status", "deleted", "count", 2) + )); + + CcdiFileUploadStatisticsVO result = service.countByStatus(PROJECT_ID); + + assertEquals(1L, result.getUploading()); + assertEquals(2L, result.getDeleted()); + assertEquals(3L, result.getTotal()); + } + private void captureRecordStatus(List events, AtomicInteger sequence) { doAnswer(invocation -> { CcdiFileUploadRecord record = invocation.getArgument(0);