Browse Source

去掉Async

dev
zxc 4 years ago
parent
commit
5f5053af21
  1. 52
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java
  2. 52
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java

52
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java

@ -58,6 +58,7 @@ import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.util.*; import java.util.*;
import java.util.concurrent.ExecutorService;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -95,6 +96,8 @@ public class BuildingServiceImpl implements BuildingService {
private IcNeighborHoodService neighborHoodService; private IcNeighborHoodService neighborHoodService;
@Autowired @Autowired
private EpmetCommonServiceOpenFeignClient epmetCommonServiceOpenFeignClient; private EpmetCommonServiceOpenFeignClient epmetCommonServiceOpenFeignClient;
@Autowired
private ExecutorService executorService;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@ -403,33 +406,34 @@ public class BuildingServiceImpl implements BuildingService {
* @date 2022/2/13 10:15 上午 * @date 2022/2/13 10:15 上午
*/ */
@Override @Override
@Async
public Result buildingImportExcel(ImportInfoFormDTO formDTO, MultipartFile file,Result<ImportTaskCommonResultDTO> importTask) throws IOException { public Result buildingImportExcel(ImportInfoFormDTO formDTO, MultipartFile file,Result<ImportTaskCommonResultDTO> importTask) throws IOException {
ExcelReader excelReader = null; executorService.submit(() -> {
try { ExcelReader excelReader = null;
InputStream inputStream = null;
try { try {
inputStream = file.getInputStream(); InputStream inputStream = null;
} catch (IOException e) { try {
return new Result<String>().error("读取文件失败"); inputStream = file.getInputStream();
} } catch (IOException e) {
excelReader = EasyExcel.read(inputStream).build(); log.error("读取文件失败");
// 这里为了简单 所以注册了 同样的head 和Listener 自己使用功能必须不同的Listener }
ReadSheet readSheet = EasyExcel.readSheet(0).head(BuildingInfoModel.class) excelReader = EasyExcel.read(inputStream).build();
.registerReadListener(new ImportBuildingInfoListener(formDTO,icHouseRedis,icBuildingDao,neighborHoodService,epmetCommonServiceOpenFeignClient,importTask.getData().getTaskId())) // 这里为了简单 所以注册了 同样的head 和Listener 自己使用功能必须不同的Listener
.build(); ReadSheet readSheet = EasyExcel.readSheet(0).head(BuildingInfoModel.class)
excelReader.read(readSheet); .registerReadListener(new ImportBuildingInfoListener(formDTO,icHouseRedis,icBuildingDao,neighborHoodService,epmetCommonServiceOpenFeignClient,importTask.getData().getTaskId()))
} catch (Exception e){ .build();
ImportTaskCommonFormDTO input = new ImportTaskCommonFormDTO(); excelReader.read(readSheet);
input.setOperatorId(formDTO.getUserId()); } catch (Exception e){
input.setTaskId(importTask.getData().getTaskId()); ImportTaskCommonFormDTO input = new ImportTaskCommonFormDTO();
input.setProcessStatus(ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL); input.setOperatorId(formDTO.getUserId());
epmetCommonServiceOpenFeignClient.finishImportTask(input); input.setTaskId(importTask.getData().getTaskId());
} finally { input.setProcessStatus(ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL);
if (excelReader != null) { epmetCommonServiceOpenFeignClient.finishImportTask(input);
excelReader.finish(); } finally {
if (excelReader != null) {
excelReader.finish();
}
} }
} });
return new Result<>(); return new Result<>();
} }

52
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java

@ -65,6 +65,7 @@ import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.util.*; import java.util.*;
import java.util.concurrent.ExecutorService;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Slf4j @Slf4j
@ -97,6 +98,8 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
private IcNeighborHoodService neighborHoodService; private IcNeighborHoodService neighborHoodService;
@Autowired @Autowired
private EpmetCommonServiceOpenFeignClient epmetCommonServiceOpenFeignClient; private EpmetCommonServiceOpenFeignClient epmetCommonServiceOpenFeignClient;
@Autowired
private ExecutorService executorService;
@ -351,34 +354,35 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
return result; return result;
} }
@Async
@Override @Override
public Result dispose(MultipartFile file, ImportInfoFormDTO formDTO, Result<ImportTaskCommonResultDTO> importTask) { public Result dispose(MultipartFile file, ImportInfoFormDTO formDTO, Result<ImportTaskCommonResultDTO> importTask) {
ExcelReader excelReader = null; executorService.submit(() -> {
try { ExcelReader excelReader = null;
InputStream inputStream = null;
try { try {
inputStream = file.getInputStream(); InputStream inputStream = null;
} catch (IOException e) { try {
return new Result<String>().error("读取文件失败"); inputStream = file.getInputStream();
} } catch (IOException e) {
excelReader = EasyExcel.read(inputStream).build(); log.error("读取文件失败");
// 这里为了简单 所以注册了 同样的head 和Listener 自己使用功能必须不同的Listener }
ReadSheet readSheet = EasyExcel.readSheet(0).head(HouseInfoModel.class) excelReader = EasyExcel.read(inputStream).build();
.registerReadListener(new ImportHouseInfoListener(formDTO,icBuildingDao,icHouseRedis,neighborHoodService,icHouseService,epmetCommonServiceOpenFeignClient,importTask.getData().getTaskId())) // 这里为了简单 所以注册了 同样的head 和Listener 自己使用功能必须不同的Listener
.build(); ReadSheet readSheet = EasyExcel.readSheet(0).head(HouseInfoModel.class)
excelReader.read(readSheet); .registerReadListener(new ImportHouseInfoListener(formDTO,icBuildingDao,icHouseRedis,neighborHoodService,icHouseService,epmetCommonServiceOpenFeignClient,importTask.getData().getTaskId()))
} catch (Exception e){ .build();
ImportTaskCommonFormDTO input = new ImportTaskCommonFormDTO(); excelReader.read(readSheet);
input.setOperatorId(formDTO.getUserId()); } catch (Exception e){
input.setTaskId(importTask.getData().getTaskId()); ImportTaskCommonFormDTO input = new ImportTaskCommonFormDTO();
input.setProcessStatus(ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL); input.setOperatorId(formDTO.getUserId());
epmetCommonServiceOpenFeignClient.finishImportTask(input); input.setTaskId(importTask.getData().getTaskId());
} finally { input.setProcessStatus(ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL);
if (excelReader != null) { epmetCommonServiceOpenFeignClient.finishImportTask(input);
excelReader.finish(); } finally {
if (excelReader != null) {
excelReader.finish();
}
} }
} });
return new Result(); return new Result();
} }
} }

Loading…
Cancel
Save