From 3c54e1517c9e34f3aa4ec938087f26fb1980fc47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=87=91=E6=98=9F?= Date: Mon, 3 Jul 2023 10:39:53 +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=E5=AF=BC=E5=87=BA=E5=8E=BB=E9=99=A4=E5=88=86?= =?UTF-8?q?=E9=A1=B5=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xboe/module/boecase/api/CasesApi.java | 2 +- .../module/boecase/service/ICasesService.java | 3 ++ .../service/impl/CasesServiceImpl.java | 43 +++++++++++++++---- 3 files changed, 38 insertions(+), 10 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 eed97624..ea0b99ce 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 @@ -188,7 +188,7 @@ public class CasesApi extends ApiBaseController { map.put("收藏量","favorites"); map.put("导出时间","exportDate"); map.put("作者","authorName"); - List list = casesService.managerList(pager.getPageIndex(), pager.getPageSize(), caseVo).getList(); + List list = casesService.exportCase(caseVo); List exportVos = new ArrayList<>(); LocalDateTime now = LocalDateTime.now(); for (Cases c:list){ diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/ICasesService.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/ICasesService.java index 149d10f3..6cb790df 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/ICasesService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/ICasesService.java @@ -22,6 +22,8 @@ public interface ICasesService{ * */ PageList managerList(int pageIndex,int pageSize,CaseVo caseVo); + List exportCase(CaseVo caseVo); + /** * 案例分页 * */ @@ -103,5 +105,6 @@ public interface ICasesService{ PageList queryRecommendPageCasesV2(CasePageVo req); List caseIndexV2(CurrentUser current); + } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java index e73cda3c..45e5b28d 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java @@ -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 exportCase(CaseVo caseVo) { + List 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 list = casesDao.findListByFilters(order, filters); + return list; + } + @Override public PageList queryList(int pageIndex, int pageSize, CaseVo caseVo) { PageList pageList = new PageList<>();