【新需求】案例导出去除分页逻辑

This commit is contained in:
金星
2023-07-03 10:39:53 +08:00
parent cdd6ab15d6
commit 3c54e1517c
3 changed files with 38 additions and 10 deletions

View File

@@ -188,7 +188,7 @@ public class CasesApi extends ApiBaseController {
map.put("收藏量","favorites");
map.put("导出时间","exportDate");
map.put("作者","authorName");
List<Cases> list = casesService.managerList(pager.getPageIndex(), pager.getPageSize(), caseVo).getList();
List<Cases> list = casesService.exportCase(caseVo);
List<CaseExportVo> exportVos = new ArrayList<>();
LocalDateTime now = LocalDateTime.now();
for (Cases c:list){

View File

@@ -22,6 +22,8 @@ public interface ICasesService{
* */
PageList<Cases> managerList(int pageIndex,int pageSize,CaseVo caseVo);
List<Cases> exportCase(CaseVo caseVo);
/**
* 案例分页
* */
@@ -103,5 +105,6 @@ public interface ICasesService{
PageList<Cases> queryRecommendPageCasesV2(CasePageVo req);
List<CasesVo> caseIndexV2(CurrentUser current);
}

View File

@@ -3,7 +3,6 @@ package com.xboe.module.boecase.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.text.split.SplitIter;
import cn.hutool.core.util.StrUtil;
import com.xboe.common.OrderCondition;
import com.xboe.common.OrderDirection;
@@ -26,17 +25,12 @@ import com.xboe.school.vo.CasesVo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.transaction.Transactional;
import java.time.LocalDateTime;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
@Slf4j
@@ -451,9 +445,6 @@ public class CasesServiceImpl implements ICasesService {
if (caseVo.getExcellent() != null) {
query.addFilter(FieldFilters.eq("excellent", caseVo.getExcellent()));
}
// if(StringUtil.isNotBlank(caseVo.getMajorType())){
// query.addFilter(FieldFilters.eq("majorType",caseVo.getMajorType()));
// }
if (caseVo.getIsTop() != null) {
query.addFilter(FieldFilters.eq("isTop", caseVo.getIsTop()));
}
@@ -478,6 +469,40 @@ public class CasesServiceImpl implements ICasesService {
return page;
}
@Override
public List<Cases> exportCase(CaseVo caseVo) {
List<IFieldFilter> filters = new ArrayList<>();
filters.add(FieldFilters.eq("deleted", false));
if (StringUtils.isNotBlank(caseVo.getKeyWord())) {
filters.add(FieldFilters.like("title", LikeMatchMode.ANYWHERE, caseVo.getKeyWord()));
}
if (StringUtils.isNotBlank(caseVo.getOrgDomain())) {
filters.add(FieldFilters.eq("orgDomainParent", caseVo.getOrgDomain()));
}
if (caseVo.getExcellent() != null) {
filters.add(FieldFilters.eq("excellent", caseVo.getExcellent()));
}
if (caseVo.getIsTop() != null) {
filters.add(FieldFilters.eq("isTop", caseVo.getIsTop()));
}
if (StringUtils.isNotBlank(caseVo.getAuthorName())) {
filters.add(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");
}
List<Cases> list = casesDao.findListByFilters(order, filters);
return list;
}
@Override
public PageList<CasesFiledVo> queryList(int pageIndex, int pageSize, CaseVo caseVo) {
PageList<CasesFiledVo> pageList = new PageList<>();