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 457c91eb..ffdbc9b2 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 @@ -1247,7 +1247,7 @@ public class SearchCenterServiceImpl implements SearchCenterService { hiBuilder.field(highlightItem); HighlightBuilder.Field highlightDate = new HighlightBuilder.Field("issue_time"); hiBuilder.field(highlightDate); - hiBuilder.preTags(""); + hiBuilder.preTags(""); hiBuilder.postTags(""); updateIndex("fulltextserch"); // _score 全文词频排序 @@ -1266,17 +1266,30 @@ public class SearchCenterServiceImpl implements SearchCenterService { for (SearchHit searchHit : response.getHits().getHits()) { searchHit.getSourceAsMap().put("id", searchHit.getId()); Map sourceAsMap = searchHit.getSourceAsMap(); + String textStatusColor = ""; + if(StringUtils.isNotBlank(sourceAsMap.getOrDefault("textStatusFull","").toString())){ + String textStatus = sourceAsMap.getOrDefault("textStatusFull","").toString(); + if("废止".equals(textStatus) || "被代替".equals(textStatus) || "作废".equals(textStatus) ){ + textStatusColor = "redClass"; + }else if("参考".equals(textStatus)){ + textStatusColor = "yellowClass"; + } + } //解析高亮字段 Map highlightFields = searchHit.getHighlightFields(); HighlightField field= highlightFields.get("title"); if(field!= null){ Text[] fragments = field.fragments(); - String n_field = ""; + StringBuilder n_field = new StringBuilder(); for (Text fragment : fragments) { - n_field += fragment; + n_field.append(fragment); } //高亮标题覆盖原标题 - sourceAsMap.put("title",n_field); + if(StringUtils.isNotBlank(textStatusColor)){ + sourceAsMap.put("title", ""+ n_field.toString()+""); + }else { + sourceAsMap.put("title", n_field.toString()); + } } Map highlightFieldsnameshowStr = searchHit.getHighlightFields(); @@ -1345,7 +1358,7 @@ public class SearchCenterServiceImpl implements SearchCenterService { } - queryBuilder1 = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue().toUpperCase(), + queryBuilder1 = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(), "title" ).minimumShouldMatch("100%").field("title",1000f); boolQueryBuilder.must(queryBuilder1); @@ -1373,7 +1386,7 @@ public class SearchCenterServiceImpl implements SearchCenterService { HighlightBuilder hiBuilder=new HighlightBuilder(); HighlightBuilder.Field highlightTitle = new HighlightBuilder.Field("title"); hiBuilder.field(highlightTitle); - hiBuilder.preTags(""); + hiBuilder.preTags(""); hiBuilder.postTags(""); updateIndex("fulltextserch"); //1.按照资源库分类排序可实现数据的第一层排序(增加资源库自定义顺序标记,按标记排序) @@ -1396,17 +1409,30 @@ public class SearchCenterServiceImpl implements SearchCenterService { for (SearchHit searchHit : response.getHits().getHits()) { searchHit.getSourceAsMap().put("id", searchHit.getId()); Map sourceAsMap = searchHit.getSourceAsMap(); + String textStatusColor = ""; + if(StringUtils.isNotBlank(sourceAsMap.getOrDefault("textStatusFull","").toString())){ + String textStatus = sourceAsMap.getOrDefault("textStatusFull","").toString(); + if("废止".equals(textStatus) || "被代替".equals(textStatus) || "作废".equals(textStatus) ){ + textStatusColor = "redClass"; + }else if("参考".equals(textStatus)){ + textStatusColor = "yellowClass"; + } + } //解析高亮字段 Map highlightFields = searchHit.getHighlightFields(); HighlightField field= highlightFields.get("title"); if(field!= null){ Text[] fragments = field.fragments(); - String n_field = ""; + StringBuilder n_field = new StringBuilder(); for (Text fragment : fragments) { - n_field += fragment; + n_field.append(fragment); } //高亮标题覆盖原标题 - sourceAsMap.put("title",n_field); + if(StringUtils.isNotBlank(textStatusColor)){ + sourceAsMap.put("title", ""+n_field.toString()+""); + }else { + sourceAsMap.put("title", n_field.toString()); + } } result.add(sourceAsMap); } @@ -1623,7 +1649,7 @@ public class SearchCenterServiceImpl implements SearchCenterService { hiBuilder.field(highlightUser); HighlightBuilder.Field highlightDate = new HighlightBuilder.Field("issue_time"); hiBuilder.field(highlightDate); - hiBuilder.preTags(""); + hiBuilder.preTags(""); hiBuilder.postTags(""); updateIndex("fulltextserch"); @@ -1642,29 +1668,44 @@ public class SearchCenterServiceImpl implements SearchCenterService { for (SearchHit searchHit : response.getHits().getHits()) { searchHit.getSourceAsMap().put("id", searchHit.getId()); Map sourceAsMap = searchHit.getSourceAsMap(); + + String textStatusColor = ""; + if(StringUtils.isNotBlank(sourceAsMap.getOrDefault("textStatusFull","").toString())){ + String textStatus = sourceAsMap.getOrDefault("textStatusFull","").toString(); + if("废止".equals(textStatus) || "被代替".equals(textStatus) || "作废".equals(textStatus) ){ + textStatusColor = "redClass"; + }else if("参考".equals(textStatus)){ + textStatusColor = "yellowClass"; + } + } + //解析高亮字段 Map highlightFields = searchHit.getHighlightFields(); HighlightField field= highlightFields.get("title"); if(field!= null){ Text[] fragments = field.fragments(); - String n_field = ""; + StringBuilder n_field = new StringBuilder(); for (Text fragment : fragments) { - n_field += fragment; + n_field.append(fragment); } //高亮标题覆盖原标题 - sourceAsMap.put("title",n_field); + if(StringUtils.isNotBlank(textStatusColor)){ + sourceAsMap.put("title", ""+n_field.toString()+""); + }else { + sourceAsMap.put("title", n_field.toString()); + } } Map highlightFieldsnameshowStr = searchHit.getHighlightFields(); HighlightField fieldnameshowStr= highlightFieldsnameshowStr.get("textContent"); if(fieldnameshowStr!= null){ Text[] fragments = fieldnameshowStr.fragments(); - String n_field = ""; + StringBuilder n_field = new StringBuilder(); for (Text fragment : fragments) { - n_field += fragment; + n_field.append(fragment); } //高亮标题覆盖原标题 - sourceAsMap.put("textContent",n_field); + sourceAsMap.put("textContent", n_field.toString()); } result.add(sourceAsMap); } diff --git a/adc-da-search/src/main/java/com/adc/da/search/service/impl/StandLawsSearchServiceImpl.java b/adc-da-search/src/main/java/com/adc/da/search/service/impl/StandLawsSearchServiceImpl.java index 691f9c82..95c50228 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/service/impl/StandLawsSearchServiceImpl.java +++ b/adc-da-search/src/main/java/com/adc/da/search/service/impl/StandLawsSearchServiceImpl.java @@ -248,6 +248,8 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService { fullTextSearchEO.put("sortTitle", String.valueOf(attrInfoMap.get("standSort"))); fullTextSearchEO.put("numberTitle", String.valueOf(attrInfoMap.get("standNumber"))); fullTextSearchEO.put("nameTitle", String.valueOf(attrInfoMap.get("standName"))); + fullTextSearchEO.put("textStatusFull", attrInfoMap.getOrDefault("textStatusName","")); + // 全文检索 加入 发布稿 分解单条款内容逻辑 StringBuilder itemBuilder = new StringBuilder(); @@ -327,6 +329,8 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService { fullTextSearchEO.put("sortTitle", String.valueOf(attrInfoMap.get("lawsTypeName"))); fullTextSearchEO.put("numberTitle", String.valueOf(attrInfoMap.get("lawsNumber"))); fullTextSearchEO.put("nameTitle", String.valueOf(attrInfoMap.get("lawsName"))); + fullTextSearchEO.put("textStatusFull", attrInfoMap.getOrDefault("lawsTextStateName","")); + if (null != attrInfoMap.get("issueTime") && !"".equals(attrInfoMap.get("issueTime")) && !"null".equals(attrInfoMap.get("issueTime"))) { fullTextSearchEO.put("issue_time", dateFormatToStr(String.valueOf(attrInfoMap.get("issueTime")))); @@ -387,6 +391,7 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService { fullTextSearchEO.put("sortTitle", String.valueOf(attrInfoMap.get("standSort"))); fullTextSearchEO.put("numberTitle", String.valueOf(attrInfoMap.get("standNumber"))); fullTextSearchEO.put("nameTitle", String.valueOf(attrInfoMap.get("stand_name"))); + fullTextSearchEO.put("textStatusFull", attrInfoMap.getOrDefault("textStatusBussName","")); if (null != attrInfoMap.get("issueTime") && !"".equals(attrInfoMap.get("issueTime")) && !"null".equals(attrInfoMap.get("issueTime"))) { fullTextSearchEO.put("issue_time", dateFormatToStr(String.valueOf(attrInfoMap.get("issueTime")))); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java index 96a67174..fdd6f412 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java @@ -586,26 +586,26 @@ public class SarBussionessStandServiceImpl extends ServiceImpl usNew = Arrays.stream(strUsNew.split(",")) .map(String::trim).collect(Collectors.toList()); List usOld = Arrays.stream(strUsOld.split(",")) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java index 6896763d..6c6aa130 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java @@ -1987,26 +1987,26 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl !s.equals("")).collect(Collectors.toList()); // 在研稿件 - String strUsNew = newMap.getOrDefault("CA", "").toString()+ - ","+newMap.getOrDefault("GLWJ", "").toString()+ - ","+newMap.getOrDefault("XGD", "").toString()+ - ","+newMap.getOrDefault("BPG", "").toString()+ - ","+newMap.getOrDefault("ZQYJG", "").toString()+ - ","+newMap.getOrDefault("SSG", "").toString()+ - ","+newMap.getOrDefault("JDWJ", "").toString()+ - ","+newMap.getOrDefault("KWJ", "").toString()+ - ","+newMap.getOrDefault("XDB", "").toString()+ - ","+newMap.getOrDefault("ZBJBD", "").toString(); - String strUsOld = oldMap.getOrDefault("CA", "").toString()+ - ","+oldMap.getOrDefault("GLWJ", "").toString()+ - ","+oldMap.getOrDefault("XGD", "").toString()+ - ","+oldMap.getOrDefault("BPG", "").toString()+ - ","+oldMap.getOrDefault("ZQYJG", "").toString()+ - ","+oldMap.getOrDefault("SSG", "").toString()+ - ","+oldMap.getOrDefault("JDWJ", "").toString()+ - ","+oldMap.getOrDefault("KWJ", "").toString()+ - ","+oldMap.getOrDefault("XDB", "").toString()+ - ","+oldMap.getOrDefault("ZBJBD", "").toString(); + String strUsNew = verifyObj(newMap.getOrDefault("CA", "")).toString()+ + ","+ verifyObj(newMap.getOrDefault("GLWJ", "")).toString()+ + ","+ verifyObj(newMap.getOrDefault("XGD", "")).toString()+ + ","+ verifyObj(newMap.getOrDefault("BPG", "")).toString()+ + ","+ verifyObj(newMap.getOrDefault("ZQYJG", "")).toString()+ + ","+ verifyObj(newMap.getOrDefault("SSG", "")).toString()+ + ","+ verifyObj(newMap.getOrDefault("JDWJ", "")).toString()+ + ","+ verifyObj(newMap.getOrDefault("KWJ", "")).toString()+ + ","+ verifyObj(newMap.getOrDefault("XDB", "")).toString()+ + ","+ verifyObj(newMap.getOrDefault("ZBJBD", "")).toString(); + String strUsOld = verifyObj(oldMap.getOrDefault("CA", "")).toString()+ + ","+ verifyObj(oldMap.getOrDefault("GLWJ", "")).toString()+ + ","+ verifyObj(oldMap.getOrDefault("XGD", "")).toString()+ + ","+ verifyObj(oldMap.getOrDefault("BPG", "")).toString()+ + ","+ verifyObj(oldMap.getOrDefault("ZQYJG", "")).toString()+ + ","+ verifyObj(oldMap.getOrDefault("SSG", "")).toString()+ + ","+ verifyObj(oldMap.getOrDefault("JDWJ", "")).toString()+ + ","+ verifyObj(oldMap.getOrDefault("KWJ", "")).toString()+ + ","+ verifyObj(oldMap.getOrDefault("XDB", "")).toString()+ + ","+ verifyObj(oldMap.getOrDefault("ZBJBD", "")).toString(); List usNew = Arrays.stream(strUsNew.split(",")) .map(String::trim).collect(Collectors.toList()); List usOld = Arrays.stream(strUsOld.split(","))