下载最新案例列表导出功能编写

This commit is contained in:
Boolean
2023-07-01 08:16:09 +08:00
parent e5607e36d8
commit 4d0251ac6f
4 changed files with 72 additions and 0 deletions

View File

@@ -1,6 +1,7 @@
package com.xboe.module.boecase.api;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.LocalDateTimeUtil;
import com.xboe.common.PageList;
import com.xboe.common.Pagination;
import com.xboe.common.utils.StringUtil;
@@ -217,6 +218,35 @@ public class CasesApi extends ApiBaseController {
}
}
/**
* 导出案例标题数据
* */
@PostMapping("/exportCaseTitle")
public void exportCaseTitle(CaseVo caseVo,HttpServletResponse response){
OutputStream outputStream;
try {
outputStream = response.getOutputStream();
LinkedHashMap<String,String> map = new LinkedHashMap<>();
map.put("标题","title");
List<Cases> list = casesService.managerCaseTitleList(caseVo);
List<CaseExportVo> exportVos = new ArrayList<>();
LocalDateTime now = LocalDateTime.now();
for (Cases c:list){
CaseExportVo caseExportVo = new CaseExportVo();
caseExportVo.setTitle(c.getTitle());
exportVos.add(caseExportVo);
}
response.setContentType("application/octet-stream");
String current = LocalDateTimeUtil.format(now,"yyyyMMddHHmmss");
response.setHeader("Content-disposition", "attachment;filename=cases-title-"+current+".xls");
ExportsExcelSenderUtil.export(map,exportVos, outputStream,"yyyy-MM-dd HH:mm:ss");
}catch (Exception e){
log.error("导出失败",e.getMessage());
}
}
/**
* 导出我的案例
* */

View File

@@ -361,4 +361,8 @@ public class Cases extends BaseEntity {
this.favorites=favorites;
super.setDeleted(deleted);
}
public Cases(String title) {
this.title = title;
}
}

View File

@@ -22,6 +22,8 @@ public interface ICasesService{
* */
PageList<Cases> managerList(int pageIndex,int pageSize,CaseVo caseVo);
List<Cases> managerCaseTitleList(CaseVo caseVo);
/**
* 案例分页
* */

View File

@@ -430,6 +430,42 @@ public class CasesServiceImpl implements ICasesService {
return page;
}
@Override
public List<Cases> managerCaseTitleList(CaseVo caseVo) {
QueryBuilder query = QueryBuilder.from(Cases.class);
query.addFilter(FieldFilters.eq("deleted", false));
if (StringUtils.isNotBlank(caseVo.getKeyWord())) {
query.addFilter(FieldFilters.like("title", LikeMatchMode.ANYWHERE, caseVo.getKeyWord()));
}
if (StringUtils.isNotBlank(caseVo.getOrgDomain())) {
query.addFilter(FieldFilters.eq("orgDomainParent", caseVo.getOrgDomain()));
}
if (caseVo.getExcellent() != null) {
query.addFilter(FieldFilters.eq("excellent", caseVo.getExcellent()));
}
if (caseVo.getIsTop() != null) {
query.addFilter(FieldFilters.eq("isTop", caseVo.getIsTop()));
}
if (StringUtils.isNotBlank(caseVo.getAuthorName())) {
query.addFilter(FieldFilters.like("authorName", LikeMatchMode.ANYWHERE, caseVo.getAuthorName()));
}
OrderCondition order = null;
if (StringUtils.isNotBlank(caseVo.getOrderField())) {
if (caseVo.getOrderAsc() == null || caseVo.getOrderAsc()) {
order = OrderCondition.asc(caseVo.getOrderField());
} else {
order = OrderCondition.desc(caseVo.getOrderField());
}
} else {
order = OrderCondition.desc("sysCreateTime");
}
query.addOrder(order);
query.addField("new Cases(title)");
List<Cases> result = casesDao.findList(query.builder());
return result;
}
@Override
public PageList<CasesFiledVo> queryList(int pageIndex, int pageSize, CaseVo caseVo) {
PageList<CasesFiledVo> pageList = new PageList<>();