diff --git a/backend/src/main/java/com/yfd/platform/data/controller/FishDraftDataController.java b/backend/src/main/java/com/yfd/platform/data/controller/FishDraftDataController.java index d9919d1..05a1810 100644 --- a/backend/src/main/java/com/yfd/platform/data/controller/FishDraftDataController.java +++ b/backend/src/main/java/com/yfd/platform/data/controller/FishDraftDataController.java @@ -7,6 +7,7 @@ import com.yfd.platform.config.ResponseResult; import com.yfd.platform.data.domain.FishDraftData; import com.yfd.platform.data.domain.FishImportRequest; import com.yfd.platform.data.domain.FishImportResult; +import com.yfd.platform.data.domain.FishImportRowRequest; import com.yfd.platform.data.domain.ImportTask; import com.yfd.platform.data.domain.BatchApproveRequest; import com.yfd.platform.data.domain.BatchRejectRequest; @@ -404,18 +405,11 @@ public class FishDraftDataController { } Map map = new HashMap<>(); - map.put("successRows", importResult.getSuccessRows() != null ? importResult.getSuccessRows().size() : 0); - map.put("failedRows", importResult.getFailedRows() != null ? importResult.getFailedRows().size() : 0); - map.put("unrecognizedFields", importResult.getUnrecognizedFields() != null ? - importResult.getUnrecognizedFields() : new ArrayList<>()); map.put("tempDir", importResult.getTempDir() != null ? importResult.getTempDir() : ""); map.put("excelFileName", importResult.getExcelFileName() != null ? importResult.getExcelFileName() : ""); - map.put("failedRowDetails", importResult.getFailedRows() != null ? - importResult.getFailedRows() : new ArrayList<>()); - - map.put("successRowDetails", importResult.getSuccessRows() != null ? - importResult.getSuccessRows() : new ArrayList<>()); + map.put("rows", importResult.getRows() != null ? + importResult.getRows() : new ArrayList<>()); return map; } @@ -443,4 +437,5 @@ public class FishDraftDataController { return ResponseResult.error("删除失败"); } } + } \ No newline at end of file diff --git a/backend/src/main/java/com/yfd/platform/data/domain/FishImportResult.java b/backend/src/main/java/com/yfd/platform/data/domain/FishImportResult.java index 6f8c8c4..19ef2c7 100644 --- a/backend/src/main/java/com/yfd/platform/data/domain/FishImportResult.java +++ b/backend/src/main/java/com/yfd/platform/data/domain/FishImportResult.java @@ -12,8 +12,10 @@ import java.util.Map; @JsonIgnoreProperties(ignoreUnknown = true) public class FishImportResult { - private List successRows; - private List failedRows; + public static final String STATUS_SUCCESS = "SUCCESS"; + public static final String STATUS_FAILED = "FAILED"; + + private List rows; private List unrecognizedFields; private Map imageFiles; private Map videoFiles; @@ -29,13 +31,24 @@ public class FishImportResult { private String taskId; public FishImportResult() { - this.successRows = new ArrayList<>(); - this.failedRows = new ArrayList<>(); + this.rows = new ArrayList<>(); this.unrecognizedFields = new ArrayList<>(); this.imageFiles = new LinkedHashMap<>(); this.videoFiles = new LinkedHashMap<>(); } + public void addSuccessRow(FishImportRow row) { + if (rows == null) rows = new ArrayList<>(); + row.setStatus(STATUS_SUCCESS); + rows.add(row); + } + + public void addFailedRow(FishImportRow row) { + if (rows == null) rows = new ArrayList<>(); + row.setStatus(STATUS_FAILED); + rows.add(row); + } + @Data @JsonIgnoreProperties(ignoreUnknown = true) public static class FishImportRow { @@ -47,6 +60,8 @@ public class FishImportResult { private List> picpthList; private List vdpthsWarnings; private List picpthsWarnings; + private String status; + public FishImportRow() { this.unrecognizedFields = new ArrayList<>(); this.warnings = new ArrayList<>(); @@ -57,13 +72,16 @@ public class FishImportResult { } public FishImportRow(int rowIndex) { + this(); this.rowIndex = rowIndex; - this.unrecognizedFields = new ArrayList<>(); - this.warnings = new ArrayList<>(); - this.vdpthsWarnings = new ArrayList<>(); - this.picpthsWarnings = new ArrayList<>(); - this.vdpthList = new ArrayList<>(); - this.picpthList = new ArrayList<>(); + } + + public boolean isSuccess() { + return STATUS_SUCCESS.equals(status); + } + + public boolean isFailed() { + return STATUS_FAILED.equals(status); } } } \ No newline at end of file diff --git a/backend/src/main/java/com/yfd/platform/data/service/impl/FishImportServiceImpl.java b/backend/src/main/java/com/yfd/platform/data/service/impl/FishImportServiceImpl.java index 01f7f4a..9dcdce8 100644 --- a/backend/src/main/java/com/yfd/platform/data/service/impl/FishImportServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/data/service/impl/FishImportServiceImpl.java @@ -161,10 +161,10 @@ public class FishImportServiceImpl implements IFishImportService { FishImportResult.FishImportRow importRow = parseRow(row, columnIndexMap, i); result.setTotalCount(result.getTotalCount() + 1); if (importRow.getData() != null && importRow.getWarnings().isEmpty()) { - result.getSuccessRows().add(importRow); + result.addSuccessRow(importRow); result.setSuccessCount(result.getSuccessCount() + 1); } else { - result.getFailedRows().add(importRow); + result.addFailedRow(importRow); result.setFailedCount(result.getFailedCount() + 1); } } @@ -763,8 +763,8 @@ public class FishImportServiceImpl implements IFishImportService { processAttachments(result, zipContent); log.info("ZIP文件处理完成"); - result.setSummary(result.getSummary() + String.format("\nZIP内容: 发现%d张图片, %d个视频, 临时目录: %s", - zipContent.images.size(), zipContent.videos.size(), zipContent.tempDir)); + result.setSummary(result.getSummary() + String.format("\nZIP内容: 发现%d张图片, %d个视频", + zipContent.images.size(), zipContent.videos.size())); return result; @@ -777,27 +777,7 @@ public class FishImportServiceImpl implements IFishImportService { } private void processAttachments(FishImportResult result, ZipFileUtil.ZipContent zipContent) { - for (FishImportResult.FishImportRow importRow : result.getFailedRows()) { - FishDraftData data = importRow.getData(); - if (data == null) { - continue; - } - - String vdpth = data.getVdpth(); - String picpth = data.getPicpth(); - - if (StringUtils.hasText(vdpth)) { - String uploadedVdpth = processVideoAttachments(importRow,vdpth, zipContent.videos); - data.setVdpth(uploadedVdpth); - } - - if (StringUtils.hasText(picpth)) { - String uploadedPicpth = processImageAttachments(importRow,picpth, zipContent.images); - data.setPicpth(uploadedPicpth); - } - } - - for (FishImportResult.FishImportRow importRow : result.getSuccessRows()) { + for (FishImportResult.FishImportRow importRow : result.getRows()) { FishDraftData data = importRow.getData(); if (data == null) { continue; diff --git a/backend/src/main/java/com/yfd/platform/data/service/impl/ImportTaskServiceImpl.java b/backend/src/main/java/com/yfd/platform/data/service/impl/ImportTaskServiceImpl.java index 792e877..6a1da6a 100644 --- a/backend/src/main/java/com/yfd/platform/data/service/impl/ImportTaskServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/data/service/impl/ImportTaskServiceImpl.java @@ -185,7 +185,7 @@ public class ImportTaskServiceImpl extends ServiceImpl attachmentUploadService.deleteFile(fileId)); } } - for (FishImportResult.FishImportRow failedRow : importResult.getFailedRows()) { - if (failedRow.getData()==null) { - continue; - } - String vdpth = failedRow.getData().getVdpth(); - if (StringUtils.hasText(vdpth)) { - List fileIds = StrUtil.split(vdpth, ","); - fileIds.forEach(fileId -> attachmentUploadService.deleteFile(fileId)); - } - String picpth = failedRow.getData().getPicpth(); - if (StringUtils.hasText(picpth)) { - List fileIds = StrUtil.split(vdpth, ","); - fileIds.forEach(fileId -> attachmentUploadService.deleteFile(fileId)); - } - } - } catch (Exception e) { e.printStackTrace(); // ignore parse error