From cb800f38fe1137357d47d69392fcf3dc05a5284e Mon Sep 17 00:00:00 2001 From: wxyclub Date: Thu, 14 Sep 2023 09:03:17 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=90=9C=E7=B4=A2=E4=B8=AD=E5=BF=83?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=A0=87=E5=87=86=E4=BD=93=E7=B3=BB=E6=90=9C?= =?UTF-8?q?=E7=B4=A2=EF=BC=8C=E7=9B=AE=E5=BD=95=E6=A0=91=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=A0=87=E5=87=86=E5=8C=96=E5=8A=A8=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SearchCenterServiceImpl.java | 28 +++++++++++++++++++ .../service/impl/ZlTreeServiceImpl.java | 12 +++++--- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java index f8d38444..6e15d2f9 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java +++ b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java @@ -6,9 +6,12 @@ import com.adc.da.search.util.DateUtil; import com.adc.da.search.util.InitStandAttrSearchUtil; import com.adc.da.sys.dao.DicTypeEODao; import com.adc.da.sys.entity.DicTypeEO; +import com.adc.da.sys.sarMenuStandard.entity.SarMenuStandard; +import com.adc.da.sys.sarMenuStandard.service.ISarMenuStandardService; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.lang3.StringUtils; @@ -40,6 +43,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; +import javax.annotation.Resource; import java.lang.reflect.Field; import java.text.SimpleDateFormat; import java.util.*; @@ -53,6 +57,9 @@ import java.util.stream.Stream; public class SearchCenterServiceImpl implements SearchCenterService { private final org.slf4j.Logger LOGGER = LoggerFactory.getLogger(SearchCenterServiceImpl.class); + @Resource + private ISarMenuStandardService sarMenuStandardService; + @Autowired private TransportClient transportClient; @@ -232,6 +239,18 @@ public class SearchCenterServiceImpl implements SearchCenterService { sortField2 = "standYear"; sortField3 = "standSort.keyword"; } + + List menuNameList = new ArrayList<>(); + // 国内海外查询标准体系字段由id变为文字 + if (StringUtils.isNotBlank(searchInfoEO.getStandSystem())) { + ArrayList menuIdList = new ArrayList<>(); + Collections.addAll(menuIdList,searchInfoEO.getStandSystem().split(",")); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(SarMenuStandard::getId,menuIdList); + wrapper.select(SarMenuStandard::getMenuName); + List sarMenuStandardList = sarMenuStandardService.list(wrapper); + menuNameList = sarMenuStandardList.stream().map(SarMenuStandard::getMenuName).collect(Collectors.toList()); + } searchRequestBuilder = client.prepareSearch(searchInfoEO.getSelectIndex()) .setSearchType(SearchType.DFS_QUERY_THEN_FETCH) .setFrom((searchInfoEO.getPage()-1)*searchInfoEO.getPageSize()) @@ -347,6 +366,15 @@ public class SearchCenterServiceImpl implements SearchCenterService { } boolQueryBuilder.must(boolQueryShould); }else { + if (!menuNameList.isEmpty()) { + menuNameList.forEach(each -> { + if ("stand".equals(searchInfoEO.getSelectIndex())) { + boolQueryBuilder.must(QueryBuilders.matchQuery("standSystem","*"+each+"*")); + }else if ("bussstand".equals(searchInfoEO.getSelectIndex())) { + boolQueryBuilder.must(QueryBuilders.matchQuery("TXLBBUSS",each)); + } + }); + } if ("stand".equals(searchInfoEO.getSelectIndex()) && StringUtils.isNotBlank(searchInfoEO.getStandType())) { boolQueryBuilder.must(QueryBuilders.wildcardQuery("standType.keyword", "*"+searchInfoEO.getStandType()+"*")); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/impl/ZlTreeServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/impl/ZlTreeServiceImpl.java index 4ecad43f..ec4ed733 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/impl/ZlTreeServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/impl/ZlTreeServiceImpl.java @@ -59,7 +59,7 @@ public class ZlTreeServiceImpl extends ServiceImpl implements // 查询当前登录人的权限菜单 List recourceIdList = tsUserService.getResourceUserId(loginUserId); - TreeData res=new TreeData(); + List resList = new ArrayList<>(); QueryWrapper wrapper=new QueryWrapper<>(); wrapper.lambda().in(ZlTree::getId, recourceIdList); wrapper.orderByAsc("length(sort),sort"); @@ -72,13 +72,17 @@ public class ZlTreeServiceImpl extends ServiceImpl implements BeanUtils.copyProperties(zlTree,zlTreeData); treeData.add(zlTreeData); }else { + TreeData res=new TreeData(); BeanUtils.copyProperties(zlTree,res); + resList.add(res); } } - //递归生成树 - digui(res,treeData); List treeData1=new ArrayList<>(); - treeData1.add(res); + //递归生成树 + for (TreeData data : resList) { + digui(data,treeData); + treeData1.add(data); + } return treeData1; }