Merge remote-tracking branch 'origin/master'

This commit is contained in:
Boolean
2023-06-24 11:55:33 +08:00
4 changed files with 60 additions and 9 deletions

View File

@@ -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<String> caseIdList;
private List<CasesTitle> caseTitleList;
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class CasesTitle {
private String caseId;
private String caseTitle;
}
}

View File

@@ -10,6 +10,7 @@ import cn.hutool.poi.excel.ExcelWriter;
import com.xboe.common.PageList; import com.xboe.common.PageList;
import com.xboe.core.JsonResponse; import com.xboe.core.JsonResponse;
import com.xboe.core.api.ApiBaseController; import com.xboe.core.api.ApiBaseController;
import com.xboe.data.dto.ImportData;
import com.xboe.enums.CasesRecommendLaunchTypeEnum; import com.xboe.enums.CasesRecommendLaunchTypeEnum;
import com.xboe.module.boecase.entity.CasesRecommend; import com.xboe.module.boecase.entity.CasesRecommend;
import com.xboe.module.boecase.entity.CasesRecommendLaunchImport; import com.xboe.module.boecase.entity.CasesRecommendLaunchImport;
@@ -108,11 +109,11 @@ public class CasesRecommendApi extends ApiBaseController {
* @throws Exception * @throws Exception
*/ */
@PostMapping("/import") @PostMapping("/import")
public JsonResponse<String> excelImport(@RequestParam("file") MultipartFile file) throws Exception { public JsonResponse<ImportData> excelImport(@RequestParam("file") MultipartFile file) throws Exception {
ExcelReader reader = ExcelUtil.getReader(file.getInputStream()); ExcelReader reader = ExcelUtil.getReader(file.getInputStream());
List<List<Object>> read = reader.read(); List<List<Object>> read = reader.read();
String s = iCasesRecommendLaunchImportService.importData(read); ImportData importData = iCasesRecommendLaunchImportService.importData(read);
return success(s); return success(importData);
} }

View File

@@ -1,6 +1,7 @@
package com.xboe.module.boecase.service; package com.xboe.module.boecase.service;
import com.xboe.data.dto.ImportData;
import com.xboe.module.boecase.entity.CasesRecommendLaunchImport; import com.xboe.module.boecase.entity.CasesRecommendLaunchImport;
import java.util.List; import java.util.List;
@@ -13,7 +14,7 @@ public interface ICasesRecommendLaunchImportService {
* @param dataList * @param dataList
* @return * @return
*/ */
String importData(List<List<Object>> dataList); ImportData importData(List<List<Object>> dataList);
/** /**

View File

@@ -4,6 +4,7 @@ package com.xboe.module.boecase.service.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import com.xboe.core.orm.FieldFilters; 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.CasesDao;
import com.xboe.module.boecase.dao.CasesRecommendLaunchImportDao; import com.xboe.module.boecase.dao.CasesRecommendLaunchImportDao;
import com.xboe.module.boecase.dao.CasesRecommendLaunchImportDataDao; import com.xboe.module.boecase.dao.CasesRecommendLaunchImportDataDao;
@@ -15,6 +16,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -32,7 +34,7 @@ public class CasesRecommendLaunchImportServiceImpl implements ICasesRecommendLau
private CasesDao casesDao; private CasesDao casesDao;
@Override @Override
public String importData(List<List<Object>> dataList) { public ImportData importData(List<List<Object>> dataList) {
if (CollectionUtil.isEmpty(dataList) || dataList.size() < 1) { if (CollectionUtil.isEmpty(dataList) || dataList.size() < 1) {
throw new RuntimeException("导入数据为空"); throw new RuntimeException("导入数据为空");
} }
@@ -40,9 +42,14 @@ public class CasesRecommendLaunchImportServiceImpl implements ICasesRecommendLau
int successNum = 0; int successNum = 0;
int failNum = 0; int failNum = 0;
String importId = IdUtil.getSnowflakeNextId() + ""; String importId = IdUtil.getSnowflakeNextId() + "";
ImportData importData = new ImportData();
importData.setImportId(importId);
List<String> caseIds = new ArrayList<>();
List<ImportData.CasesTitle> caseTitleList = new ArrayList<>();
for (int i = 1; i < dataList.size(); i++) { for (int i = 1; i < dataList.size(); i++) {
String caseTitle = dataList.get(i).get(0).toString(); String caseTitle = dataList.get(i).get(0).toString();
CasesRecommendLaunchImportData casesRecommendLaunchImportData = new CasesRecommendLaunchImportData(); CasesRecommendLaunchImportData casesRecommendLaunchImportData = new CasesRecommendLaunchImportData();
casesRecommendLaunchImportData.setImportId(importId); casesRecommendLaunchImportData.setImportId(importId);
casesRecommendLaunchImportData.setCaseTitle(caseTitle); casesRecommendLaunchImportData.setCaseTitle(caseTitle);
@@ -51,12 +58,18 @@ public class CasesRecommendLaunchImportServiceImpl implements ICasesRecommendLau
failNum++; failNum++;
casesRecommendLaunchImportData.setStatus(2); casesRecommendLaunchImportData.setStatus(2);
} else { } else {
if (caseTitleList.size() < 10) {
caseTitleList.add(new ImportData.CasesTitle(cases.getId(), cases.getTitle()));
}
caseIds.add(cases.getId());
casesRecommendLaunchImportData.setStatus(1); casesRecommendLaunchImportData.setStatus(1);
casesRecommendLaunchImportData.setCaseTitle(caseTitle); casesRecommendLaunchImportData.setCaseTitle(caseTitle);
successNum++;
} }
casesRecommendLaunchImportDataDao.save(casesRecommendLaunchImportData); casesRecommendLaunchImportDataDao.save(casesRecommendLaunchImportData);
successNum++;
} }
importData.setCaseTitleList(caseTitleList);
importData.setCaseIdList(caseIds);
CasesRecommendLaunchImport casesRecommendLaunchImport = new CasesRecommendLaunchImport(); CasesRecommendLaunchImport casesRecommendLaunchImport = new CasesRecommendLaunchImport();
casesRecommendLaunchImport.setFailNum(failNum); casesRecommendLaunchImport.setFailNum(failNum);
casesRecommendLaunchImport.setImportId(importId); casesRecommendLaunchImport.setImportId(importId);
@@ -64,14 +77,15 @@ public class CasesRecommendLaunchImportServiceImpl implements ICasesRecommendLau
casesRecommendLaunchImport.setTotalNum(totalNum); casesRecommendLaunchImport.setTotalNum(totalNum);
casesRecommendLaunchImport.setProcessStatus(1); casesRecommendLaunchImport.setProcessStatus(1);
casesRecommendLaunchImportDao.save(casesRecommendLaunchImport); casesRecommendLaunchImportDao.save(casesRecommendLaunchImport);
return importId; return importData;
} }
@Override @Override
public List<String> downFailData(String importId) { public List<String> downFailData(String importId) {
List<CasesRecommendLaunchImportData> dataList = casesRecommendLaunchImportDataDao.findList(FieldFilters.eq("importId", importId)); List<CasesRecommendLaunchImportData> dataList = casesRecommendLaunchImportDataDao.findList(FieldFilters.eq("importId", importId)
, FieldFilters.eq("status", 2));
if (CollectionUtil.isEmpty(dataList)) { if (CollectionUtil.isEmpty(dataList)) {
return null; return null;
} }
@@ -80,7 +94,7 @@ public class CasesRecommendLaunchImportServiceImpl implements ICasesRecommendLau
@Override @Override
public CasesRecommendLaunchImport getByImportId(String importId) { public CasesRecommendLaunchImport getByImportId(String importId) {
return casesRecommendLaunchImportDao.findOne(FieldFilters.eq("import_id", importId)); return casesRecommendLaunchImportDao.findOne(FieldFilters.eq("importId", importId));
} }
} }