【新需求】案例管理支持当前筛选条件案例列表导出,此处可导出案例数据:浏览量、推荐量、引用量、点赞量、评论量、分享量,收藏量、导出时间、作者

This commit is contained in:
金星
2023-06-18 17:12:08 +08:00
parent c5d1e1a871
commit 36e2b892d3
2 changed files with 65 additions and 9 deletions

View File

@@ -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<String,String> 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<Cases> list = casesService.managerList(pager.getPageIndex(), pager.getPageSize(), caseVo).getList();
List<CaseExportVo> 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());
}
}
/**
* 导出我的案例
* */

View File

@@ -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;
}