功能: 扩展上传文件统计支持已删除状态
This commit is contained in:
@@ -29,6 +29,9 @@ public class CcdiFileUploadStatisticsVO implements Serializable {
|
||||
/** 解析失败数量 */
|
||||
private Long parsedFailed;
|
||||
|
||||
/** 已删除数量 */
|
||||
private Long deleted;
|
||||
|
||||
/** 总数量 */
|
||||
private Long total;
|
||||
}
|
||||
|
||||
@@ -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<String, Object> 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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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<String> events, AtomicInteger sequence) {
|
||||
doAnswer(invocation -> {
|
||||
CcdiFileUploadRecord record = invocation.getArgument(0);
|
||||
|
||||
Reference in New Issue
Block a user