From d08fd4c27f5ded18a7923939cfa693fc149b2a43 Mon Sep 17 00:00:00 2001 From: wangzhijiang <12345678> Date: Wed, 24 Aug 2022 15:23:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E4=B8=AD=E5=BF=83-=E5=85=A8?= =?UTF-8?q?=E9=83=A8=E7=B4=A2=E5=BC=95=EF=BC=8C=E5=A2=9E=E5=8A=A0=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E7=9F=A5=E8=AF=86=E5=BA=93=E6=A3=80=E7=B4=A2=E5=8A=A0?= =?UTF-8?q?=E6=9D=83=E9=99=90=E3=80=82=E4=B8=8E=E9=97=AE=E9=A2=98=E7=9F=A5?= =?UTF-8?q?=E8=AF=86=E5=BA=93=E6=9D=83=E9=99=90=E4=B8=80=E6=A0=B7=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DocumentSearchServiceImpl.java | 40 +++++++++++++++++-- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/DocumentSearchServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/DocumentSearchServiceImpl.java index 079061e34..47125c158 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/DocumentSearchServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/DocumentSearchServiceImpl.java @@ -25,6 +25,7 @@ import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseUserEO; import com.jero.modules.problemKnowledgeBase.enums.ShowPermissionsEnum; import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseUserEOService; +import com.jero.modules.searchcenter.enums.ModuleTypeFlagEnum; import com.jero.modules.searchcenter.vo.SearchVO; import com.jero.modules.subscribe.entity.OnlCgformSubscribe; import com.jero.modules.subscribe.service.IOnlCgformSubscribeService; @@ -434,6 +435,16 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { JSONArray queryMapJsonThree = new JSONArray(); JSONArray queryMapJsonAll = new JSONArray(); + //基础查询权限,展示权限为公开的,所有人都能查看,展示权限为私密的,只有配置了权限的用户可以查看。 + if("base".equals("base")){ + JSONArray queryMapJsonBase = new JSONArray(); + + this.createQueryWhere(ShowPermissionsEnum.OPEN.getValue(),"show_permissions",queryMapJsonBase,SearchEnum.FULL_TEXT_SEARCH.getValue()); + + JSONObject jsonObject = jeroElasticsearchTemplate.buildBoolQuery(null, null, queryMapJsonBase); + queryMapJsonAll.add(jsonObject); + } + Map mapHighlight = new HashMap<>(); Map mapHighlight1 = new HashMap<>(); //封装首次的条件 @@ -1125,7 +1136,7 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { if("base".equals("base")){ JSONArray queryMapJsonBase = new JSONArray(); - this.createQueryWhere(ShowPermissionsEnum.OPEN.getValue(),"show_permissions",queryMapJsonBase); + this.createQueryWhere(ShowPermissionsEnum.OPEN.getValue(),"show_permissions",queryMapJsonBase,SearchEnum.INDEX_PROBLEM_KNOWLEDGE_BASE.getValue()); JSONObject jsonObject = jeroElasticsearchTemplate.buildBoolQuery(null, null, queryMapJsonBase); queryMapJsonAll.add(jsonObject); @@ -1169,12 +1180,12 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { //封装问题类型选择框查询条件。 if (StringUtils.isNotBlank(problem_type)) { - this.createQueryWhere(problem_type,"problem_type",queryMapJson); + this.createQueryWhere(problem_type,"problem_type",queryMapJson,SearchEnum.INDEX_PROBLEM_KNOWLEDGE_BASE.getValue()); } //封装市场选择框查询条件。 if (StringUtils.isNotBlank(target_market)) { - this.createQueryWhere(target_market,"target_market",queryMapJson); + this.createQueryWhere(target_market,"target_market",queryMapJson,SearchEnum.INDEX_PROBLEM_KNOWLEDGE_BASE.getValue()); } if(CollectionUtils.isNotEmpty(queryMapJson)){ @@ -1324,7 +1335,7 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { * @param fieldKey 查询的字段 * @param jsonArray */ - public void createQueryWhere (String queryValue,String fieldKey,JSONArray jsonArray){ + public void createQueryWhere (String queryValue,String fieldKey,JSONArray jsonArray,String indexName){ /** * fieldKeyMap:字段keyMap,用于存 需要查询的字段 以及字段中的条件 "queryMap" * queryMap:存放查询条件map @@ -1368,6 +1379,27 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { } jsonArray.add(matchMap); + + //筛选出 文档库、法规月报在搜索中心 全部索引的数据。 + if(StringUtils.equals(indexName,SearchEnum.FULL_TEXT_SEARCH.getValue())){ + Map fieldKeyMapWdk = new HashMap<>(); + Map queryMapWdk = new HashMap<>(); + Map matchMapWdk = new HashMap<>(); + + queryMapWdk.put("query", ModuleTypeFlagEnum.DOCUMENT_LIBRARY.getValue()); + fieldKeyMapWdk.put("module_type_flag", queryMapWdk); + matchMapWdk.put("match",fieldKeyMapWdk); + jsonArray.add(matchMapWdk); + + Map fieldKeyMapFgyb = new HashMap<>(); + Map queryMapFgyb = new HashMap<>(); + Map matchMapFgyb = new HashMap<>(); + + queryMapFgyb.put("query", ModuleTypeFlagEnum.LAWS_MONTHLY_REPORT.getValue()); + fieldKeyMapFgyb.put("module_type_flag", queryMapFgyb); + matchMapFgyb.put("match",fieldKeyMapFgyb); + jsonArray.add(matchMapFgyb); + } } }