diff --git a/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java b/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java index df332c93..e875706d 100644 --- a/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java +++ b/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java @@ -40,6 +40,7 @@ public class WebMvcConfig implements WebMvcConfigurer { addInterceptor.excludePathPatterns("/api/person/userInfo/getByUserInfoCode"); addInterceptor.excludePathPatterns("/api/att/attFile/upload"); addInterceptor.excludePathPatterns("/api/sarStandardsInfo/sar-standards-info/exportStandardsInfoExcel"); + addInterceptor.excludePathPatterns("/api/lawss/sarLawsInfo/exportStandardsInfoExcel"); //pcms项目数据下发开放接口 addInterceptor.excludePathPatterns("/api/sarStandProjectLibrary/save"); addInterceptor.excludePathPatterns("/api/sar-stand-project-team/save"); 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 949a77e0..34835de1 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 @@ -285,8 +285,12 @@ public class SearchCenterServiceImpl implements SearchCenterService { if (StringUtils.isNotBlank(searchInfoEO.getType())) { boolQueryShould.must(QueryBuilders.wildcardQuery("type.keyword", "*"+searchInfoEO.getType()+"*")); } - if (StringUtils.isNotBlank(searchInfoEO.getStandType())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("standType.keyword", "*"+searchInfoEO.getStandType()+"*")); + if (StringUtils.isNotBlank(searchInfoEO.getStandType()) && StringUtils.isNotBlank(searchInfoEO.getSelectIndex())) { + if(searchInfoEO.getSelectIndex().equals("bussstand")){ + boolQueryShould.must(QueryBuilders.wildcardQuery("type.keyword", "*"+searchInfoEO.getStandType()+"*")); + }else { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("standType.keyword", "*"+searchInfoEO.getStandType()+"*")); + } } if (StringUtils.isNotBlank(searchInfoEO.getStandSort())) { boolQueryBuilder.must(QueryBuilders.wildcardQuery("numbershow.keyword", "*"+searchInfoEO.getStandSort()+" "+"*")); @@ -403,6 +407,9 @@ public class SearchCenterServiceImpl implements SearchCenterService { // 关键字查询属性字段 String keyWordField = field + ".keyword"; String keyWordField2 = field + "Name.keyword"; + if(field.equals("NYLX")){ + field = field+"CLASS"; + } if(collectAttrMap.containsKey(field)){ List fields = new ArrayList<>(); Object json= new JSONTokener(collectAttrMap.get(field).toString()).nextValue(); @@ -480,19 +487,32 @@ public class SearchCenterServiceImpl implements SearchCenterService { private List getStringField(SeniorSearchInfoEO searchInfoEO) { String fieldInfo = InitStandAttrSearchUtil.queryField; + List fieldTimeInfo = InitStandAttrSearchUtil.timeFieldList; String fieldLawsInfo = InitStandAttrSearchUtil.queryFieldLaws; + List fieldLawsTimeInfo = InitStandAttrSearchUtil.timeFieldListLaws; String fieldBussInfo = InitStandAttrSearchUtil.queryFieldBuss; + List fieldBussTimeInfo = InitStandAttrSearchUtil.timeFieldListBuss; + if(!fieldBussTimeInfo.isEmpty()){ + fieldBussTimeInfo.add("FSRQBUSS"); + } List fieldInfoList = Arrays.asList(fieldInfo .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); List fieldLawsInfoList = Arrays.asList(fieldLawsInfo .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); List fieldBussInfoList = Arrays.asList(fieldBussInfo .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); List fieldList = new ArrayList<>(); if(StringUtils.isNotBlank(searchInfoEO.getSelectIndex())){ + fieldInfoList = fieldInfoList.stream().filter(s -> !fieldTimeInfo.contains(s)).collect(Collectors.toList()); + fieldLawsInfoList = fieldLawsInfoList.stream().filter(s -> !fieldLawsTimeInfo.contains(s)).collect(Collectors.toList()); + fieldBussInfoList = fieldBussInfoList.stream().filter(s -> !fieldBussTimeInfo.contains(s)).collect(Collectors.toList()); if(searchInfoEO.getSelectIndex().equals("stand")){ fieldList.addAll(fieldInfoList); }else if(searchInfoEO.getSelectIndex().equals("bussstand")){ fieldList.addAll(fieldBussInfoList); }else if(searchInfoEO.getSelectIndex().equals("laws")){ fieldList.addAll(fieldLawsInfoList); + }else if(searchInfoEO.getSelectIndex().equals("fulltextserch")){ + fieldList.addAll(fieldInfoList); + fieldList.addAll(fieldBussInfoList); + fieldList.addAll(fieldLawsInfoList); } } return fieldList; @@ -732,9 +752,9 @@ public class SearchCenterServiceImpl implements SearchCenterService { List fieldList = getStringField(searchInfoEO); List fieldNameList = new ArrayList<>(); String[] standStr = {"content","standSort","standNumber","standYear","stand_name","standEnName","standNatureName", - "textStatusName","isRelateAccessName","numbershow","standSystem"}; + "textStatusName","isRelateAccessName","numbershow","standSystem","NYLXCLASS","CLLX"}; String[] lawsStr = {"content","lawsType","lawsNumber","lawsName","lawsEnName","lawsNo","issueCompany","lawsTextState","lawsSyqy","lawsSycx","isRelateAccess","lawsYear","lawsNotisyncNum","lawsBulletin","lawsLabel","lawsRemark"}; - String[] bussstandStr = {"content","standSort","stand_code","standYear","stand_name","standEnName","nameshow","standstateshow","numbershow","textStatusBuss"}; + String[] bussstandStr = {"content","standSort","stand_code","standYear","stand_name","standEnName","nameshow","standstateshow","numbershow","textStatusBuss","NYLXCLASS","CLLX"}; for (String field : fieldList) { // 关键字查询属性字段 String keyWordField2 = field + "Name"; @@ -791,7 +811,7 @@ public class SearchCenterServiceImpl implements SearchCenterService { String[] seniortypeLaws = {"lawsSyqy","lawsSycx","CYSDLAWS"}; seniortype = seniortypeLaws.clone(); } else if ("bussstand".equals(searchInfoEO.getSelectIndex())) { - String[] seniortypeBuss = {"standSort", "numbershow", "statecode","CYSD","ZRLX","CLLX","CBCD","textStatus","textStatusName","NYLXCLASS"}; + String[] seniortypeBuss = {"standSort", "numbershow", "statecode","CLLX","textStatus","textStatusName","NYLXCLASS"}; seniortype = seniortypeBuss.clone(); } else { String[] seniortypeMsg = {"module"}; @@ -1153,6 +1173,17 @@ public class SearchCenterServiceImpl implements SearchCenterService { QueryBuilder multiQuery = queryInResult(searchInfoEO); boolQueryBuilder.must(multiQuery); } + + if(StringUtils.isNotBlank(searchInfoEO.getNYLXCLASS())){ + boolQueryBuilder.should(QueryBuilders.multiMatchQuery(searchInfoEO.getNYLXCLASS(), + "textContent" + ).minimumShouldMatch("100%").field("title",10f)); + }else if(StringUtils.isNotBlank(searchInfoEO.getCLLX())){ + boolQueryBuilder.should(QueryBuilders.multiMatchQuery(searchInfoEO.getCLLX(), + "textContent" + ).minimumShouldMatch("100%").field("title",10f)); + } + HighlightBuilder hiBuilder=new HighlightBuilder(); HighlightBuilder.Field highlightTitle = new HighlightBuilder.Field("title"); hiBuilder.field(highlightTitle);