功能: 扩展上传文件统计支持已删除状态
This commit is contained in:
@@ -29,6 +29,9 @@ public class CcdiFileUploadStatisticsVO implements Serializable {
|
|||||||
/** 解析失败数量 */
|
/** 解析失败数量 */
|
||||||
private Long parsedFailed;
|
private Long parsedFailed;
|
||||||
|
|
||||||
|
/** 已删除数量 */
|
||||||
|
private Long deleted;
|
||||||
|
|
||||||
/** 总数量 */
|
/** 总数量 */
|
||||||
private Long total;
|
private Long total;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -274,6 +274,7 @@ public class CcdiFileUploadServiceImpl implements ICcdiFileUploadService {
|
|||||||
vo.setParsing(0L);
|
vo.setParsing(0L);
|
||||||
vo.setParsedSuccess(0L);
|
vo.setParsedSuccess(0L);
|
||||||
vo.setParsedFailed(0L);
|
vo.setParsedFailed(0L);
|
||||||
|
vo.setDeleted(0L);
|
||||||
|
|
||||||
long total = 0L;
|
long total = 0L;
|
||||||
for (Map<String, Object> item : statusCounts) {
|
for (Map<String, Object> item : statusCounts) {
|
||||||
@@ -286,6 +287,7 @@ public class CcdiFileUploadServiceImpl implements ICcdiFileUploadService {
|
|||||||
case "parsing" -> vo.setParsing(count);
|
case "parsing" -> vo.setParsing(count);
|
||||||
case "parsed_success" -> vo.setParsedSuccess(count);
|
case "parsed_success" -> vo.setParsedSuccess(count);
|
||||||
case "parsed_failed" -> vo.setParsedFailed(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 ch.qos.logback.core.read.ListAppender;
|
||||||
import com.alibaba.excel.EasyExcel;
|
import com.alibaba.excel.EasyExcel;
|
||||||
import com.ruoyi.ccdi.project.domain.CcdiProject;
|
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.domain.entity.CcdiFileUploadRecord;
|
||||||
import com.ruoyi.ccdi.project.mapper.CcdiBankStatementMapper;
|
import com.ruoyi.ccdi.project.mapper.CcdiBankStatementMapper;
|
||||||
import com.ruoyi.ccdi.project.mapper.CcdiFileUploadRecordMapper;
|
import com.ruoyi.ccdi.project.mapper.CcdiFileUploadRecordMapper;
|
||||||
@@ -38,6 +39,7 @@ import java.nio.file.Files;
|
|||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.concurrent.Executor;
|
import java.util.concurrent.Executor;
|
||||||
import java.util.concurrent.atomic.AtomicReference;
|
import java.util.concurrent.atomic.AtomicReference;
|
||||||
import java.util.concurrent.atomic.AtomicInteger;
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
@@ -472,6 +474,20 @@ class CcdiFileUploadServiceImplTest {
|
|||||||
assertFalse(events.stream().anyMatch(event -> event.endsWith("record:parsed_success")));
|
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) {
|
private void captureRecordStatus(List<String> events, AtomicInteger sequence) {
|
||||||
doAnswer(invocation -> {
|
doAnswer(invocation -> {
|
||||||
CcdiFileUploadRecord record = invocation.getArgument(0);
|
CcdiFileUploadRecord record = invocation.getArgument(0);
|
||||||
|
|||||||
Reference in New Issue
Block a user