diff --git a/servers/boe-server-all/src/main/java/com/xboe/data/dto/ImportData.java b/servers/boe-server-all/src/main/java/com/xboe/data/dto/ImportData.java new file mode 100644 index 00000000..19af8e90 --- /dev/null +++ b/servers/boe-server-all/src/main/java/com/xboe/data/dto/ImportData.java @@ -0,0 +1,35 @@ +package com.xboe.data.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * @author : civism + * @version 1.0 + * @date 2023/6/23 17:32 + */ +@Data +public class ImportData { + + private String importId; + + + private List caseIdList; + + + private List caseTitleList; + + + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class CasesTitle { + + private String caseId; + + private String caseTitle; + } +} diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesRecommendApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesRecommendApi.java index a36e15ce..7ae3dd1e 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesRecommendApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesRecommendApi.java @@ -10,6 +10,7 @@ import cn.hutool.poi.excel.ExcelWriter; import com.xboe.common.PageList; import com.xboe.core.JsonResponse; import com.xboe.core.api.ApiBaseController; +import com.xboe.data.dto.ImportData; import com.xboe.enums.CasesRecommendLaunchTypeEnum; import com.xboe.module.boecase.entity.CasesRecommend; import com.xboe.module.boecase.entity.CasesRecommendLaunchImport; @@ -108,11 +109,11 @@ public class CasesRecommendApi extends ApiBaseController { * @throws Exception */ @PostMapping("/import") - public JsonResponse excelImport(@RequestParam("file") MultipartFile file) throws Exception { + public JsonResponse excelImport(@RequestParam("file") MultipartFile file) throws Exception { ExcelReader reader = ExcelUtil.getReader(file.getInputStream()); List> read = reader.read(); - String s = iCasesRecommendLaunchImportService.importData(read); - return success(s); + ImportData importData = iCasesRecommendLaunchImportService.importData(read); + return success(importData); } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/ICasesRecommendLaunchImportService.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/ICasesRecommendLaunchImportService.java index 9348c66d..5ac01aab 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/ICasesRecommendLaunchImportService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/ICasesRecommendLaunchImportService.java @@ -1,6 +1,7 @@ package com.xboe.module.boecase.service; +import com.xboe.data.dto.ImportData; import com.xboe.module.boecase.entity.CasesRecommendLaunchImport; import java.util.List; @@ -13,7 +14,7 @@ public interface ICasesRecommendLaunchImportService { * @param dataList * @return */ - String importData(List> dataList); + ImportData importData(List> dataList); /** diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesRecommendLaunchImportServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesRecommendLaunchImportServiceImpl.java index 653a0257..047c599f 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesRecommendLaunchImportServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesRecommendLaunchImportServiceImpl.java @@ -4,6 +4,7 @@ package com.xboe.module.boecase.service.impl; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.IdUtil; import com.xboe.core.orm.FieldFilters; +import com.xboe.data.dto.ImportData; import com.xboe.module.boecase.dao.CasesDao; import com.xboe.module.boecase.dao.CasesRecommendLaunchImportDao; import com.xboe.module.boecase.dao.CasesRecommendLaunchImportDataDao; @@ -15,6 +16,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -32,7 +34,7 @@ public class CasesRecommendLaunchImportServiceImpl implements ICasesRecommendLau private CasesDao casesDao; @Override - public String importData(List> dataList) { + public ImportData importData(List> dataList) { if (CollectionUtil.isEmpty(dataList) || dataList.size() < 1) { throw new RuntimeException("导入数据为空"); } @@ -40,9 +42,14 @@ public class CasesRecommendLaunchImportServiceImpl implements ICasesRecommendLau int successNum = 0; int failNum = 0; String importId = IdUtil.getSnowflakeNextId() + ""; + ImportData importData = new ImportData(); + importData.setImportId(importId); + List caseIds = new ArrayList<>(); + List caseTitleList = new ArrayList<>(); for (int i = 1; i < dataList.size(); i++) { String caseTitle = dataList.get(i).get(0).toString(); + CasesRecommendLaunchImportData casesRecommendLaunchImportData = new CasesRecommendLaunchImportData(); casesRecommendLaunchImportData.setImportId(importId); casesRecommendLaunchImportData.setCaseTitle(caseTitle); @@ -51,12 +58,18 @@ public class CasesRecommendLaunchImportServiceImpl implements ICasesRecommendLau failNum++; casesRecommendLaunchImportData.setStatus(2); } else { + if (caseTitleList.size() < 10) { + caseTitleList.add(new ImportData.CasesTitle(cases.getId(), cases.getTitle())); + } + caseIds.add(cases.getId()); casesRecommendLaunchImportData.setStatus(1); casesRecommendLaunchImportData.setCaseTitle(caseTitle); + successNum++; } casesRecommendLaunchImportDataDao.save(casesRecommendLaunchImportData); - successNum++; } + importData.setCaseTitleList(caseTitleList); + importData.setCaseIdList(caseIds); CasesRecommendLaunchImport casesRecommendLaunchImport = new CasesRecommendLaunchImport(); casesRecommendLaunchImport.setFailNum(failNum); casesRecommendLaunchImport.setImportId(importId); @@ -64,14 +77,15 @@ public class CasesRecommendLaunchImportServiceImpl implements ICasesRecommendLau casesRecommendLaunchImport.setTotalNum(totalNum); casesRecommendLaunchImport.setProcessStatus(1); casesRecommendLaunchImportDao.save(casesRecommendLaunchImport); - return importId; + return importData; } @Override public List downFailData(String importId) { - List dataList = casesRecommendLaunchImportDataDao.findList(FieldFilters.eq("importId", importId)); + List dataList = casesRecommendLaunchImportDataDao.findList(FieldFilters.eq("importId", importId) + , FieldFilters.eq("status", 2)); if (CollectionUtil.isEmpty(dataList)) { return null; } @@ -80,7 +94,7 @@ public class CasesRecommendLaunchImportServiceImpl implements ICasesRecommendLau @Override public CasesRecommendLaunchImport getByImportId(String importId) { - return casesRecommendLaunchImportDao.findOne(FieldFilters.eq("import_id", importId)); + return casesRecommendLaunchImportDao.findOne(FieldFilters.eq("importId", importId)); } }