feat: 搜索中心添加标准体系搜索,目录树添加标准化动态
This commit is contained in:
+28
@@ -6,9 +6,12 @@ import com.adc.da.search.util.DateUtil;
|
|||||||
import com.adc.da.search.util.InitStandAttrSearchUtil;
|
import com.adc.da.search.util.InitStandAttrSearchUtil;
|
||||||
import com.adc.da.sys.dao.DicTypeEODao;
|
import com.adc.da.sys.dao.DicTypeEODao;
|
||||||
import com.adc.da.sys.entity.DicTypeEO;
|
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.JSON;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.beanutils.BeanUtils;
|
import org.apache.commons.beanutils.BeanUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
@@ -40,6 +43,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
|
import javax.annotation.Resource;
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@@ -53,6 +57,9 @@ import java.util.stream.Stream;
|
|||||||
public class SearchCenterServiceImpl implements SearchCenterService {
|
public class SearchCenterServiceImpl implements SearchCenterService {
|
||||||
private final org.slf4j.Logger LOGGER = LoggerFactory.getLogger(SearchCenterServiceImpl.class);
|
private final org.slf4j.Logger LOGGER = LoggerFactory.getLogger(SearchCenterServiceImpl.class);
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ISarMenuStandardService sarMenuStandardService;
|
||||||
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private TransportClient transportClient;
|
private TransportClient transportClient;
|
||||||
@@ -232,6 +239,18 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
|||||||
sortField2 = "standYear";
|
sortField2 = "standYear";
|
||||||
sortField3 = "standSort.keyword";
|
sortField3 = "standSort.keyword";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<String> menuNameList = new ArrayList<>();
|
||||||
|
// 国内海外查询标准体系字段由id变为文字
|
||||||
|
if (StringUtils.isNotBlank(searchInfoEO.getStandSystem())) {
|
||||||
|
ArrayList<String> menuIdList = new ArrayList<>();
|
||||||
|
Collections.addAll(menuIdList,searchInfoEO.getStandSystem().split(","));
|
||||||
|
LambdaQueryWrapper<SarMenuStandard> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.in(SarMenuStandard::getId,menuIdList);
|
||||||
|
wrapper.select(SarMenuStandard::getMenuName);
|
||||||
|
List<SarMenuStandard> sarMenuStandardList = sarMenuStandardService.list(wrapper);
|
||||||
|
menuNameList = sarMenuStandardList.stream().map(SarMenuStandard::getMenuName).collect(Collectors.toList());
|
||||||
|
}
|
||||||
searchRequestBuilder = client.prepareSearch(searchInfoEO.getSelectIndex())
|
searchRequestBuilder = client.prepareSearch(searchInfoEO.getSelectIndex())
|
||||||
.setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
|
.setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
|
||||||
.setFrom((searchInfoEO.getPage()-1)*searchInfoEO.getPageSize())
|
.setFrom((searchInfoEO.getPage()-1)*searchInfoEO.getPageSize())
|
||||||
@@ -347,6 +366,15 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
|||||||
}
|
}
|
||||||
boolQueryBuilder.must(boolQueryShould);
|
boolQueryBuilder.must(boolQueryShould);
|
||||||
}else {
|
}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())) {
|
if ("stand".equals(searchInfoEO.getSelectIndex()) && StringUtils.isNotBlank(searchInfoEO.getStandType())) {
|
||||||
boolQueryBuilder.must(QueryBuilders.wildcardQuery("standType.keyword", "*"+searchInfoEO.getStandType()+"*"));
|
boolQueryBuilder.must(QueryBuilders.wildcardQuery("standType.keyword", "*"+searchInfoEO.getStandType()+"*"));
|
||||||
}
|
}
|
||||||
|
|||||||
+8
-4
@@ -59,7 +59,7 @@ public class ZlTreeServiceImpl extends ServiceImpl<ZlTreeDao, ZlTree> implements
|
|||||||
// 查询当前登录人的权限菜单
|
// 查询当前登录人的权限菜单
|
||||||
List<String> recourceIdList = tsUserService.getResourceUserId(loginUserId);
|
List<String> recourceIdList = tsUserService.getResourceUserId(loginUserId);
|
||||||
|
|
||||||
TreeData res=new TreeData();
|
List<TreeData> resList = new ArrayList<>();
|
||||||
QueryWrapper<ZlTree> wrapper=new QueryWrapper<>();
|
QueryWrapper<ZlTree> wrapper=new QueryWrapper<>();
|
||||||
wrapper.lambda().in(ZlTree::getId, recourceIdList);
|
wrapper.lambda().in(ZlTree::getId, recourceIdList);
|
||||||
wrapper.orderByAsc("length(sort),sort");
|
wrapper.orderByAsc("length(sort),sort");
|
||||||
@@ -72,13 +72,17 @@ public class ZlTreeServiceImpl extends ServiceImpl<ZlTreeDao, ZlTree> implements
|
|||||||
BeanUtils.copyProperties(zlTree,zlTreeData);
|
BeanUtils.copyProperties(zlTree,zlTreeData);
|
||||||
treeData.add(zlTreeData);
|
treeData.add(zlTreeData);
|
||||||
}else {
|
}else {
|
||||||
|
TreeData res=new TreeData();
|
||||||
BeanUtils.copyProperties(zlTree,res);
|
BeanUtils.copyProperties(zlTree,res);
|
||||||
|
resList.add(res);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//递归生成树
|
|
||||||
digui(res,treeData);
|
|
||||||
List<TreeData> treeData1=new ArrayList<>();
|
List<TreeData> treeData1=new ArrayList<>();
|
||||||
treeData1.add(res);
|
//递归生成树
|
||||||
|
for (TreeData data : resList) {
|
||||||
|
digui(data,treeData);
|
||||||
|
treeData1.add(data);
|
||||||
|
}
|
||||||
return treeData1;
|
return treeData1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user