From 36e2b892d30fd48c9e01de4891c52da4957335cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=87=91=E6=98=9F?= Date: Sun, 18 Jun 2023 17:12:08 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=96=B0=E9=9C=80=E6=B1=82=E3=80=91?= =?UTF-8?q?=E6=A1=88=E4=BE=8B=E7=AE=A1=E7=90=86=E6=94=AF=E6=8C=81=E5=BD=93?= =?UTF-8?q?=E5=89=8D=E7=AD=9B=E9=80=89=E6=9D=A1=E4=BB=B6=E6=A1=88=E4=BE=8B?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E5=AF=BC=E5=87=BA=EF=BC=8C=E6=AD=A4=E5=A4=84?= =?UTF-8?q?=E5=8F=AF=E5=AF=BC=E5=87=BA=E6=A1=88=E4=BE=8B=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=EF=BC=9A=E6=B5=8F=E8=A7=88=E9=87=8F=E3=80=81=E6=8E=A8=E8=8D=90?= =?UTF-8?q?=E9=87=8F=E3=80=81=E5=BC=95=E7=94=A8=E9=87=8F=E3=80=81=E7=82=B9?= =?UTF-8?q?=E8=B5=9E=E9=87=8F=E3=80=81=E8=AF=84=E8=AE=BA=E9=87=8F=E3=80=81?= =?UTF-8?q?=E5=88=86=E4=BA=AB=E9=87=8F=EF=BC=8C=E6=94=B6=E8=97=8F=E9=87=8F?= =?UTF-8?q?=E3=80=81=E5=AF=BC=E5=87=BA=E6=97=B6=E9=97=B4=E3=80=81=E4=BD=9C?= =?UTF-8?q?=E8=80=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xboe/module/boecase/api/CasesApi.java | 47 +++++++++++++++++++ .../xboe/module/boecase/vo/CaseExportVo.java | 27 +++++++---- 2 files changed, 65 insertions(+), 9 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesApi.java index 53eee909..504d5bdb 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesApi.java @@ -1,6 +1,7 @@ package com.xboe.module.boecase.api; import java.io.OutputStream; +import java.time.LocalDateTime; import java.util.*; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -16,6 +17,7 @@ import com.xboe.module.boecase.vo.CaseExportVo; import com.xboe.module.dict.entity.DictItem; import com.xboe.module.excel.ExportsExcelSenderUtil; +import lombok.Data; import org.apache.commons.lang3.StringUtils; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -139,6 +141,51 @@ public class CasesApi extends ApiBaseController { return success(casesPageList); } + /** + * 导出案例数据 + * */ + @PostMapping("/exportCase") + public void exportCase(Pagination pager, CaseVo caseVo,HttpServletResponse response){ + OutputStream OutputStream=null; + try { + OutputStream = response.getOutputStream(); + LinkedHashMap map = new LinkedHashMap<>(); + map.put("浏览量","views"); + map.put("推荐量","recommends"); + map.put("引用量","cites"); + map.put("点赞量","praises"); + map.put("评论量","comments"); + map.put("分享量","shares"); + map.put("收藏量","favorites"); + map.put("导出时间","exportDate"); + map.put("作者","authorName"); + List list = casesService.managerList(pager.getPageIndex(), pager.getPageSize(), caseVo).getList(); + List exportVos = new ArrayList<>(); + LocalDateTime now = LocalDateTime.now(); + for (Cases c:list){ + CaseExportVo caseExportVo = new CaseExportVo(); + caseExportVo.setViews(c.getViews()); + caseExportVo.setRecommends(c.getRecommends()); + caseExportVo.setCites(c.getCites()); + caseExportVo.setPraises(c.getPraises()); + caseExportVo.setComments(c.getComments()); + caseExportVo.setShares(c.getShares()); + caseExportVo.setFavorites(c.getFavorites()); + caseExportVo.setExportDate(now); + caseExportVo.setAuthorName(c.getAuthorName()); + + + exportVos.add(caseExportVo); + } + + response.setContentType("application/octet-stream"); + response.setHeader("Content-disposition", "attachment;filename=cases.xlsx"); + ExportsExcelSenderUtil.export(map,exportVos, OutputStream,"yyyy-MM-dd HH:mm:ss"); + }catch (Exception e){ + log.error("导出失败",e.getMessage()); + } + } + /** * 导出我的案例 * */ diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/vo/CaseExportVo.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/vo/CaseExportVo.java index 7c04eb2d..6a5bcef9 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/vo/CaseExportVo.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/vo/CaseExportVo.java @@ -8,21 +8,30 @@ import java.time.LocalDateTime; @Data public class CaseExportVo { + private Integer views; + + private Integer recommends; + + private Integer cites; + + private Integer praises; + + private Integer comments; + + private Integer shares; + + private Integer favorites; + + private LocalDateTime exportDate; + + private String authorName; private String title; private String status; - private LocalDateTime endTime; - private String caseScope; - private Integer views; - - private Integer praises; - - private Integer shares; - - private Integer favorites; + private LocalDateTime endTime; }