提交下载模版接口

This commit is contained in:
Guava
2023-06-28 20:30:13 +08:00
parent 2e460d5e87
commit 6f964bf28d

View File

@@ -37,7 +37,6 @@ import java.io.OutputStream;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@@ -123,6 +122,27 @@ public class CasesRecommendApi extends ApiBaseController {
}
/**
* 下载错误数据
*
* @return
* @throws Exception
*/
@PostMapping("/download-template")
public void downloadTemplate(HttpServletResponse response) throws Exception {
// 通过工具类创建writer默认创建xls格式
ExcelWriter writer = ExcelUtil.getWriter();
writer.writeHeadRow(ListUtil.toList("标题"));
response.setContentType("application/vnd.ms-excel;charset=utf-8");
response.setHeader("Content-Disposition", "attachment;filename=failData.xls");
ServletOutputStream out = response.getOutputStream();
writer.flush(out, true);
writer.close();
IoUtil.close(out);
}
/**
* 下载错误数据
*
@@ -186,17 +206,17 @@ public class CasesRecommendApi extends ApiBaseController {
throw new RuntimeException("缺少必要参数");
}
try(OutputStream outputStream = response.getOutputStream()) {
try (OutputStream outputStream = response.getOutputStream()) {
// 用个List<Map>装表格的所有内容
// 拼接上列明。我这里用的最土的方法,很不优雅别学我
LinkedHashMap<String,String> map = new LinkedHashMap<>();
map.put("案例名称","caseTitle");
map.put("推送用户","pushUserName");
map.put("所属组织","recommendOrgName");
map.put("推送时间","pushTime");
map.put("是否查看","readFlag");
map.put("首次查看时间","readStartTime");
map.put("总查看时间","totalReadTime");
LinkedHashMap<String, String> map = new LinkedHashMap<>();
map.put("案例名称", "caseTitle");
map.put("推送用户", "pushUserName");
map.put("所属组织", "recommendOrgName");
map.put("推送时间", "pushTime");
map.put("是否查看", "readFlag");
map.put("首次查看时间", "readStartTime");
map.put("总查看时间", "totalReadTime");
CasesRecommend casesRecommend = iCasesRecommendService.findById(vo.getCasesRecommendId());
@@ -212,7 +232,7 @@ public class CasesRecommendApi extends ApiBaseController {
exportVo.setPushTime(DateUtil.formatDateTime(record.getPushTime()));
exportVo.setReadFlag(record.getReadFlag() == 1 ? "" : "");
exportVo.setReadStartTime(DateUtil.formatDateTime(record.getReadStartTime()));
if (ObjectUtil.isNotEmpty(record.getReadStartTime()) && ObjectUtil.isNotEmpty(record.getReadEndTime())){
if (ObjectUtil.isNotEmpty(record.getReadStartTime()) && ObjectUtil.isNotEmpty(record.getReadEndTime())) {
exportVo.setTotalReadTime(DateUtil.formatBetween(record.getReadStartTime(), record.getReadEndTime()));
}
return exportVo;
@@ -221,10 +241,10 @@ public class CasesRecommendApi extends ApiBaseController {
response.setContentType("application/octet-stream");
response.setHeader("Content-disposition", "attachment;filename=casesRecommend.xls");
ExportsExcelSenderUtil.export(map, exportVos, outputStream,"yyyy-MM-dd HH:mm:ss");
}catch (Exception e){
ExportsExcelSenderUtil.export(map, exportVos, outputStream, "yyyy-MM-dd HH:mm:ss");
} catch (Exception e) {
e.printStackTrace();
log.error("导出失败",e.getMessage());
log.error("导出失败", e.getMessage());
}
}