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.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<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())
|
||||
.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()+"*"));
|
||||
}
|
||||
|
||||
+8
-4
@@ -59,7 +59,7 @@ public class ZlTreeServiceImpl extends ServiceImpl<ZlTreeDao, ZlTree> implements
|
||||
// 查询当前登录人的权限菜单
|
||||
List<String> recourceIdList = tsUserService.getResourceUserId(loginUserId);
|
||||
|
||||
TreeData res=new TreeData();
|
||||
List<TreeData> resList = new ArrayList<>();
|
||||
QueryWrapper<ZlTree> wrapper=new QueryWrapper<>();
|
||||
wrapper.lambda().in(ZlTree::getId, recourceIdList);
|
||||
wrapper.orderByAsc("length(sort),sort");
|
||||
@@ -72,13 +72,17 @@ public class ZlTreeServiceImpl extends ServiceImpl<ZlTreeDao, ZlTree> implements
|
||||
BeanUtils.copyProperties(zlTree,zlTreeData);
|
||||
treeData.add(zlTreeData);
|
||||
}else {
|
||||
TreeData res=new TreeData();
|
||||
BeanUtils.copyProperties(zlTree,res);
|
||||
resList.add(res);
|
||||
}
|
||||
}
|
||||
//递归生成树
|
||||
digui(res,treeData);
|
||||
List<TreeData> treeData1=new ArrayList<>();
|
||||
treeData1.add(res);
|
||||
//递归生成树
|
||||
for (TreeData data : resList) {
|
||||
digui(data,treeData);
|
||||
treeData1.add(data);
|
||||
}
|
||||
return treeData1;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user