@ApiOperation("技术咨询单-导出")
@RequestMapping(path = "exportDlrTechnicalAdvice",method = RequestMethod.POST)
public EntityResult exportDlrTechnicalAdvice(@RequestBody TechnicalAdviceQueryDTO dto,HttpServletRequest request,HttpServletResponse response) throws IOException, ExecutionException, InterruptedException {
return technicalAdviceService.exportToOss(dto,request,response);
}
@Override
public EntityResult exportToOss(TechnicalAdviceQueryDTO dto, HttpServletRequest request, HttpServletResponse response) {
EntityResult result = new EntityResult<>();
UserEntity userInfo = ContextHelper.getUserInfo();
List<String> roleTypes = userInfo.getRoleTypes();
Map<String, Object> mapParam = buildQueryParam(dto, userInfo);
mapParam.put("language", language);
mapParam.put("language2", language2);
List<TechnicalAdviceExportVO> list = tsAdvisoryOrderDao.queryTechnicalAdviceForExport(mapParam);
if (CollectionUtils.isEmpty(list)) {
result.setMsg("40000000011");
result.setResult("0");
return result;
}
DownloadCenterRecord record = new DownloadCenterRecord();
record.setIsDown(0);
record.setOperType(1);
record.setDownNum(0);
record.setScenCode(CommonConstant.TS_ORDER_TYPE_1);
record.setCreatedBy(userInfo.getUserId());
record.setCreatedOn(new Date());
downloadCenterRecordDao.insert(record);
CompletableFuture.runAsync(()->{
self.exportDlrTechnicalAdvice2(list,mapParam,record,userInfo,response);
},AsyncTaskManager.getThreadPoolExecutor()).whenComplete((v,throwable)->{
if (throwable != null) {
log.error("exportToOss Exception: ", throwable);
} else {
log.info("exportToOss completed successfully.");
}
});
result.setMsg("1400000000249");
result.setRows(record.getId());
return result;
@Override
public void exportDlrTechnicalAdvice2(List<TechnicalAdviceExportVO> list,Map<String, Object> mapParam, DownloadCenterRecord record, UserEntity userInfo, HttpServletResponse response) {
try {
MultipartFile file = ExcelUtils.export2("导出", exportList, col, keys);
String uuid = RandomUtil.randomString(8);
String dateStr = DateUtil.format(new Date(), "yyyyMd");
String fileName = "导出.xlsx";
String directory = "techAdvice";
String objectName = directory + "/" + dateStr + "-" + uuid + "/" + fileName;
aliyunOSSService.uploadOssObject(objectName,file.getInputStream());
record.setOssUrl(objectName);
record.setOssFileName(fileName);
record.setStatus(1);
record.setModifiedBy(userInfo.getUserId());
record.setModifiedOn(new Date());
downloadCenterRecordDao.updateById(record);
log.info("--10000000000100000000000000000000000000000000000000000");
} catch (Exception e) {
record.setStatus(0);
record.setRemark(e.getMessage());
record.setOssFileName("导出失败");
downloadCenterRecordDao.updateById(record);
log.error("exportDlrTechnicalAdvice, {}", e);
throw new RuntimeException(e);
}
}