From fd76418d502b43f825a3a0cded1f447747186526 Mon Sep 17 00:00:00 2001 From: liyawei Date: Mon, 22 Aug 2022 09:09:45 +0800 Subject: [PATCH 01/48] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E4=B8=AD=E5=BF=83-?= =?UTF-8?q?=E6=B3=95=E8=A7=84=E6=9C=88=E6=8A=A5-=E8=A7=A3=E5=BC=80?= =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/LawsMonthlyReportManageEOServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportManageEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportManageEOServiceImpl.java index 1947159ab..c9f25752b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportManageEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportManageEOServiceImpl.java @@ -146,7 +146,7 @@ public class LawsMonthlyReportManageEOServiceImpl extends ServiceImpl Date: Mon, 22 Aug 2022 09:56:17 +0800 Subject: [PATCH 02/48] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E4=B8=AD=E5=BF=83=E7=BB=86=E8=8A=82=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/problemKnowledgeBaseAdd.vue | 2 +- .../components/problemKnowledgeBaseList.vue | 15 +++++++++++---- .../components/problemKnowledgeBaseView.vue | 4 ++-- .../searchCenter/components/DocumentLibrary.vue | 10 ++++++++++ .../components/monthlyReportRegulations.vue | 9 +++++++++ .../components/problemKnowledgeBase.vue | 13 ++++++++++++- .../searchCenter/components/whole.vue | 9 +++++++++ .../views/documentTools/searchCenter/index.vue | 8 ++++---- 8 files changed, 58 insertions(+), 12 deletions(-) diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseAdd.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseAdd.vue index 80477ef65..2319f6904 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseAdd.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseAdd.vue @@ -6,7 +6,7 @@ - {{$t('newlyAdded')}} + {{this.$route.query.id ? $t('edit') :$t('newlyAdded')}}
diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseList.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseList.vue index ec476304d..847fd0229 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseList.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseList.vue @@ -365,14 +365,21 @@ ::v-deep .ant-tag { padding: 2px 4px; background: #9B9DA9; - color: #fff!important; + color: #fff !important; } - ::v-deep .ant-tag-checkable:not(.ant-tag-checkable-checked):hover{ - color: #fff!important; + + ::v-deep .ant-tag-checkable:not(.ant-tag-checkable-checked):hover { + color: #fff !important; } - ::v-deep .ant-tag-checkable-checked{ + + ::v-deep .ant-tag-checkable-checked { background: #21c9cc; } + + ::v-deep p { + margin: 0; + padding: 0; + } \ No newline at end of file diff --git a/jero-web/src/views/documentTools/searchCenter/components/problemKnowledgeBase.vue b/jero-web/src/views/documentTools/searchCenter/components/problemKnowledgeBase.vue index b66553e89..c37ad0f67 100644 --- a/jero-web/src/views/documentTools/searchCenter/components/problemKnowledgeBase.vue +++ b/jero-web/src/views/documentTools/searchCenter/components/problemKnowledgeBase.vue @@ -220,7 +220,9 @@ return words.replace(/\s/g, '') //这里是去除空格 }, getParagraphInfoList() { - let queryParamOne = Object.assign(this.queryParam, this.queryParamOne) + let queryParamIndex = JSON.parse(JSON.stringify(this.queryParam)) + let queryParamAdmin = JSON.parse(JSON.stringify(this.queryParamOne)) + let queryParamOne = Object.assign(queryParamIndex, queryParamAdmin) let queryParam = JSON.parse(JSON.stringify(queryParamOne)) Object.keys(queryParam).forEach(val => { if (queryParam[val] instanceof Array) { @@ -238,6 +240,11 @@ postAction(this.url.getParagraphInfoList, query).then((res) => { if (res.success) { this.conList = res.result.records + if (this.conList && this.conList.length > 0) { + this.conList.forEach(val => { + val.content = val.content.replace(//g, '') + }) + } this.total = res.result.total this.loading = false } else { @@ -482,4 +489,8 @@ overflow: hidden; text-overflow: ellipsis; } + ::v-deep p{ + margin: 0; + padding: 0; + } \ No newline at end of file diff --git a/jero-web/src/views/documentTools/searchCenter/components/whole.vue b/jero-web/src/views/documentTools/searchCenter/components/whole.vue index cc7d965e3..e9dd5df68 100644 --- a/jero-web/src/views/documentTools/searchCenter/components/whole.vue +++ b/jero-web/src/views/documentTools/searchCenter/components/whole.vue @@ -213,6 +213,11 @@ postAction(this.url.getInfoList, query).then((res) => { if (res.success) { this.conList = res.result.records + if (this.conList && this.conList.length > 0) { + this.conList.forEach(val => { + val.content = val.content.replace(//g, '') + }) + } this.total = res.result.total } else { this.conList = [] @@ -351,4 +356,8 @@ text-align: center; line-height: 10; } + ::v-deep p{ + margin: 0; + padding: 0; + } \ No newline at end of file diff --git a/jero-web/src/views/documentTools/searchCenter/index.vue b/jero-web/src/views/documentTools/searchCenter/index.vue index 7e7cd2b69..8270a0c4b 100644 --- a/jero-web/src/views/documentTools/searchCenter/index.vue +++ b/jero-web/src/views/documentTools/searchCenter/index.vue @@ -65,10 +65,10 @@ - - - - + + + +
From ba9cdd2b25784f2200ddfc50fb04121a7871bba2 Mon Sep 17 00:00:00 2001 From: qq787203167 <787203167@qq.com> Date: Mon, 22 Aug 2022 10:14:04 +0800 Subject: [PATCH 03/48] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E4=B8=AD=E5=BF=83=E7=BB=86=E8=8A=82=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/DocumentLibrary.vue | 71 ++++++++++--------- .../components/monthlyReportRegulations.vue | 69 +++++++++--------- .../components/problemKnowledgeBase.vue | 10 +-- .../searchCenter/components/whole.vue | 71 ++++++++++--------- 4 files changed, 116 insertions(+), 105 deletions(-) diff --git a/jero-web/src/views/documentTools/searchCenter/components/DocumentLibrary.vue b/jero-web/src/views/documentTools/searchCenter/components/DocumentLibrary.vue index 25037d858..237828bc4 100644 --- a/jero-web/src/views/documentTools/searchCenter/components/DocumentLibrary.vue +++ b/jero-web/src/views/documentTools/searchCenter/components/DocumentLibrary.vue @@ -130,7 +130,7 @@
@@ -144,51 +144,53 @@ + v-html="item.serial_number"> - + - +
- - -
-
-
- - -
-
- - -
-
- - -
-
-
+ + + + + +
+
+ + + + + + +
+ + + + + + +
+ + + + + +
+
+
@@ -862,6 +864,7 @@ padding: 19px 28px; box-sizing: border-box; margin-left: 38px; + cursor: pointer; } .null-input { diff --git a/jero-web/src/views/documentTools/searchCenter/components/monthlyReportRegulations.vue b/jero-web/src/views/documentTools/searchCenter/components/monthlyReportRegulations.vue index fa6401b60..94fd76cee 100644 --- a/jero-web/src/views/documentTools/searchCenter/components/monthlyReportRegulations.vue +++ b/jero-web/src/views/documentTools/searchCenter/components/monthlyReportRegulations.vue @@ -19,36 +19,38 @@ - - -
-
-
- - -
-
- - -
-
- - -
-
-
+ + + + + +
+
+ + + + + + +
+ + + + + + +
+ + + + + +
+
+ @@ -310,8 +312,9 @@ text-align: center; line-height: 10; } - ::v-deep p{ - margin: 0; - padding: 0; + + ::v-deep p { + margin: 0; + padding: 0; } \ No newline at end of file diff --git a/jero-web/src/views/documentTools/searchCenter/components/problemKnowledgeBase.vue b/jero-web/src/views/documentTools/searchCenter/components/problemKnowledgeBase.vue index c37ad0f67..422241c8f 100644 --- a/jero-web/src/views/documentTools/searchCenter/components/problemKnowledgeBase.vue +++ b/jero-web/src/views/documentTools/searchCenter/components/problemKnowledgeBase.vue @@ -56,14 +56,14 @@ - - + + + +
-
+ diff --git a/jero-web/src/views/documentTools/searchCenter/components/whole.vue b/jero-web/src/views/documentTools/searchCenter/components/whole.vue index e9dd5df68..a630a7709 100644 --- a/jero-web/src/views/documentTools/searchCenter/components/whole.vue +++ b/jero-web/src/views/documentTools/searchCenter/components/whole.vue @@ -8,9 +8,9 @@
  • -
    -
    +
    - +
    + +
    @@ -66,7 +68,7 @@
    -
  • +
    @@ -436,16 +438,17 @@ .text-header { margin-bottom: 11px; + width: 100%; - span { + .text-header-text { font-size: 16px; font-weight: bold; color: #040B29; - display: inline-block; width: 100%; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; + word-break: break-word; } } @@ -495,4 +498,13 @@ margin: 0; padding: 0; } + + .selectText { + width: 100%; + display: inline-block; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + word-break: break-word; + } \ No newline at end of file From 6a6abf7e5daa24bb41bb03acf45273dc40c26381 Mon Sep 17 00:00:00 2001 From: qq787203167 <787203167@qq.com> Date: Tue, 23 Aug 2022 16:15:45 +0800 Subject: [PATCH 43/48] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A6=85=E9=81=93?= =?UTF-8?q?=E5=B7=B2=E7=9F=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/problemKnowledgeBaseAdd.vue | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseAdd.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseAdd.vue index e9f3f7a90..6047ff068 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseAdd.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseAdd.vue @@ -26,7 +26,7 @@ - + {{ item.name}} @@ -78,7 +78,7 @@ - + {{item.problemLabel}} @@ -605,4 +605,13 @@ ::v-deep .ql-snow .ql-picker { height: 36px; } + + .selectText { + width: 100%; + display: inline-block; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + word-break: break-word; + } \ No newline at end of file From 4ed8d70f8cf1b80ff9cef2a901b73054da91eeba Mon Sep 17 00:00:00 2001 From: qq787203167 <787203167@qq.com> Date: Tue, 23 Aug 2022 16:52:52 +0800 Subject: [PATCH 44/48] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=B8=85=E5=8D=95=E7=9A=84=E6=8F=90=E7=A4=BA=E8=AF=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-web/src/views/projectManagement/components/TaskList.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jero-web/src/views/projectManagement/components/TaskList.vue b/jero-web/src/views/projectManagement/components/TaskList.vue index 7aa780bb2..86f5aa9e1 100644 --- a/jero-web/src/views/projectManagement/components/TaskList.vue +++ b/jero-web/src/views/projectManagement/components/TaskList.vue @@ -199,7 +199,8 @@ > - + From b71ca5aad4f70e4244ba17f8d1da5dff3988de48 Mon Sep 17 00:00:00 2001 From: wangzhijiang <12345678> Date: Tue, 23 Aug 2022 18:15:47 +0800 Subject: [PATCH 45/48] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E4=B8=AD=E5=BF=83-?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E7=9F=A5=E8=AF=86=E5=BA=93=E6=A3=80=E7=B4=A2?= =?UTF-8?q?=E5=8A=A0=E6=9D=83=E9=99=90=E3=80=82=E4=B8=8E=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E7=9F=A5=E8=AF=86=E5=BA=93=E6=9D=83=E9=99=90=E4=B8=80=E6=A0=B7?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DocumentSearchServiceImpl.java | 151 ++++++++++++------ 1 file changed, 102 insertions(+), 49 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 9e6ae15f1..079061e34 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 @@ -4,12 +4,14 @@ package com.jero.modules.searchcenter.service.impl; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.constant.enums.CutEnum; import com.jero.common.constant.enums.ModuleEnum; import com.jero.common.constant.enums.YesOrNoEnum; import com.jero.common.es.JeroElasticsearchTemplate; +import com.jero.common.system.vo.LoginUser; import com.jero.generater.modules.online.cgform.entity.OnlCgformField; import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServiceImpl; import com.jero.modules.collection.entity.OnlCgformCollection; @@ -20,6 +22,9 @@ import com.jero.modules.document.service.IBussDocumentLibraryEOService; import com.jero.modules.document.service.impl.BussDocumentLibraryEOServiceImpl; import com.jero.modules.oss.entity.OSSFile; 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.vo.SearchVO; import com.jero.modules.subscribe.entity.OnlCgformSubscribe; import com.jero.modules.subscribe.service.IOnlCgformSubscribeService; @@ -30,6 +35,7 @@ import com.jero.modules.system.service.impl.SysDictItemServiceImpl; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -65,6 +71,8 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { private IOnlCgformCollectionService iOnlCgformCollectionService; @Autowired private IOnlCgformSubscribeService iOnlCgformSubscribeService; + @Autowired + private IProblemKnowledgeBaseUserEOService problemKnowledgeBaseUserEOService; public static final String SEARCH_FLAG = "魑";//标识(es数据带此标识的代表全文和段落的数据,不带此标识的代表列表数据) @@ -1093,6 +1101,8 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { } JSONArray queryJsonMustNot = new JSONArray(); + JSONArray queryShould = new JSONArray(); + String selectValue = (String) map.get("selectValue"); String selectValueTwo = (String) map.get("selectValueTwo"); String problem_type = (String) map.get("problem_type"); @@ -1101,19 +1111,26 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { List fieldList = new ArrayList<>(); fieldList.add("title");//权重5 fieldList.add("content");//权重4 -// fieldList.add("problem_type");//权重3 -// fieldList.add("target_market"); //权重2 - fieldList.add("module_type"); - fieldList.add("id"); - fieldList.add("flag"); + //fieldList.add("module_type"); + //fieldList.add("id"); + //fieldList.add("flag"); JSONArray queryMapJson = new JSONArray(); + JSONArray queryMapInputJson = new JSONArray(); JSONArray queryMapJsonTwo = new JSONArray(); JSONArray queryMapJsonThree = new JSONArray(); - JSONArray queryMapJsonProblemType = new JSONArray(); - JSONArray queryMapJsonTargetMarket = new JSONArray(); JSONArray queryMapJsonAll = new JSONArray(); + //基础查询权限,展示权限为公开的,所有人都能查看,展示权限为私密的,只有配置了权限的用户可以查看。 + if("base".equals("base")){ + JSONArray queryMapJsonBase = new JSONArray(); + + this.createQueryWhere(ShowPermissionsEnum.OPEN.getValue(),"show_permissions",queryMapJsonBase); + + JSONObject jsonObject = jeroElasticsearchTemplate.buildBoolQuery(null, null, queryMapJsonBase); + queryMapJsonAll.add(jsonObject); + } + Map mapHighlight = new HashMap<>(); Map mapHighlight1 = new HashMap<>(); //封装首次的条件 @@ -1128,14 +1145,19 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { map3.put("boost",0.01); }else if("content".equals(field)){ map3.put("boost",0.01); - }else if("file_name".equals(field)){ - map3.put("boost",1); } - - map3.put("query",selectValue); - map2.put(field, map3); - map4.put("match",map2); - queryMapJson.add(map4); + //特殊处理标题字段 + if (field.equals("title")){ + // map2放最内层 + map2.put(field, "*" + selectValue + "*"); + // map4放query + map4.put("wildcard",map2); + } else { + map3.put("query",selectValue); + map2.put(field, map3); + map4.put("match",map2); + } + queryMapInputJson.add(map4); //高亮 if(!"flag".equals(field)){ @@ -1147,41 +1169,23 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { //封装问题类型选择框查询条件。 if (StringUtils.isNotBlank(problem_type)) { - Map map2 = new HashMap<>(); - Map map3 = new HashMap<>(); - Map map4 = new HashMap<>(); - - map3.put("query",problem_type); - map2.put("problem_type", map3); - map4.put("match",map2); - queryMapJson.add(map4); - //高亮 - highlight(mapHighlight, problem_type); - - mapHighlight1.put("fields",mapHighlight); + this.createQueryWhere(problem_type,"problem_type",queryMapJson); } //封装市场选择框查询条件。 if (StringUtils.isNotBlank(target_market)) { - Map map2 = new HashMap<>(); - Map map3 = new HashMap<>(); - Map map4 = new HashMap<>(); - - map3.put("query",target_market); - map2.put("target_market", map3); - map4.put("match",map2); - queryMapJson.add(map4); - //高亮 - highlight(mapHighlight, target_market); - - mapHighlight1.put("fields",mapHighlight); + this.createQueryWhere(target_market,"target_market",queryMapJson); } - if(CollectionUtils.isNotEmpty(queryMapJson)){ - JSONObject jsonObject = jeroElasticsearchTemplate.buildBoolQuery(null, null, queryMapJson); + JSONObject jsonObject = jeroElasticsearchTemplate.buildBoolQuery(queryMapJson, null, null); queryMapJsonAll.add(jsonObject); } + if(CollectionUtils.isNotEmpty(queryMapInputJson)){ + JSONObject jsonObject = jeroElasticsearchTemplate.buildBoolQuery(null, null, queryMapInputJson); + queryMapJsonAll.add(jsonObject); + } + //封装二次的条件 if (StringUtils.isNotBlank(selectValueTwo)) { for (String field : fieldList) { @@ -1194,13 +1198,10 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { map3.put("boost",0.01); }else if("content".equals(field)){ map3.put("boost",0.01); - }else if("file_name".equals(field)){ - map3.put("boost",1); } //特殊处理编号字段 map3.put("query",selectValueTwo); -// map3.put("minimum_should_match",2); map2.put(field, map3); queryMap.put("match", map2); @@ -1241,20 +1242,20 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { Integer pageNo = Integer.parseInt(map.get("pageNo").toString()); Integer pageSize = Integer.parseInt(map.get("pageSize").toString()); IPage page = this.getProblemKnowledgeBasePage(selectValue, selectValueTwo, queryMapJsonAll, mapHighlight1,null, - pageNo, pageSize, null,(String) map.get("cut"),sort,queryJsonMustNot); + pageNo, pageSize, null,(String) map.get("cut"),sort,queryJsonMustNot,queryShould); return page; } @NotNull private IPage getProblemKnowledgeBasePage(String selectValue, String selectValueTwo, JSONArray queryMapJson,Map highlightMap, JSONArray should, Integer pageNo, Integer pageSize, String paragraphFlag, - String cut,JSONObject querySort,JSONArray queryMustNot) { + String cut,JSONObject querySort,JSONArray queryMustNot,JSONArray queryShould) { JSONObject jsonObject = new JSONObject(); //基础添加封装 if ("paragraphFlag".equals(paragraphFlag)) { - jsonObject = jeroElasticsearchTemplate.buildBoolQuery(queryMapJson, queryMustNot, null); + jsonObject = jeroElasticsearchTemplate.buildBoolQuery(queryMapJson, queryMustNot, queryShould); } else { - jsonObject = jeroElasticsearchTemplate.buildBoolQuery(queryMapJson, queryMustNot, null); + jsonObject = jeroElasticsearchTemplate.buildBoolQuery(queryMapJson, queryMustNot, queryShould); } JSONArray jsonArraySort = new JSONArray(); jsonArraySort.add(querySort); @@ -1295,10 +1296,10 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { mapSource.put(key,fieldConyent); } //如果这一条数据中有高亮字段值,但是file_text中没有高亮值, 则赋控制,否则列表中会展示所有的文件内容, 赋空后,则展示基础数据 - String fileText = (String) mapSource.get("content"); + /*String fileText = (String) mapSource.get("content"); if(StringUtils.isNotBlank(fileText) && !fileText.contains("")){ mapSource.put("content",""); - } + }*/ } mapList.add(mapSource); } @@ -1317,6 +1318,58 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { return page; } + /** + * 创建查询条件 + * @param queryValue 查询的值 + * @param fieldKey 查询的字段 + * @param jsonArray + */ + public void createQueryWhere (String queryValue,String fieldKey,JSONArray jsonArray){ + /** + * fieldKeyMap:字段keyMap,用于存 需要查询的字段 以及字段中的条件 "queryMap" + * queryMap:存放查询条件map + * matchMap:匹配Map + */ + Map fieldKeyMap = new HashMap<>(); + Map queryMap = new HashMap<>(); + Map matchMap = new HashMap<>(); + + queryMap.put("query", queryValue); + fieldKeyMap.put(fieldKey, queryMap); + matchMap.put("match",fieldKeyMap); + + // 如果是私密,并且查询字段key是展示权限 的话,查询当前用户拥有权限的问题知识库数据 + if(StringUtils.equals(fieldKey,"show_permissions")){ + //查询出当前登录人所拥有的问题知识库私密数据权限。 + LoginUser currentOperatorUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + QueryWrapper userPermissionQueryWrapper = new QueryWrapper<>(); + userPermissionQueryWrapper.lambda().eq(ProblemKnowledgeBaseUserEO::getUserId,currentOperatorUser.getId()); + List problemKnowledgeBaseUserEOList = this.problemKnowledgeBaseUserEOService.list(userPermissionQueryWrapper); + + if(CollectionUtils.isNotEmpty(problemKnowledgeBaseUserEOList)){ + List problemKnowledgeBaseIdList = problemKnowledgeBaseUserEOList.stream().map(ProblemKnowledgeBaseUserEO::getProblemKnowledgeBaseId).distinct().collect(Collectors.toList()); + + //in查询该用户拥有权限的问题知识库id。 + Map fieldKeyMap2 = new HashMap<>(); + Map matchMap2 = new HashMap<>(); + fieldKeyMap2.put("id", problemKnowledgeBaseIdList); + matchMap2.put("terms",fieldKeyMap2); + jsonArray.add(matchMap2); + }else { + Map fieldKeyMap2 = new HashMap<>(); + Map queryMap2 = new HashMap<>(); + Map matchMap2 = new HashMap<>(); + + queryMap2.put("query", "null"); + fieldKeyMap2.put("id", queryMap2); + matchMap2.put("match",fieldKeyMap2); + jsonArray.add(matchMap2); + } + } + + jsonArray.add(matchMap); + } + } From 8df5807a0bbe5e8417fbd2e6ae3df57e777745f1 Mon Sep 17 00:00:00 2001 From: liyawei Date: Tue, 23 Aug 2022 18:28:16 +0800 Subject: [PATCH 46/48] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E4=B8=AD=E5=BF=83-?= =?UTF-8?q?=E6=B3=95=E8=A7=84=E6=9C=88=E6=8A=A5-bug58587,58589?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LawsMonthlyReportSearchServiceImpl.java | 21 ++++++------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/LawsMonthlyReportSearchServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/LawsMonthlyReportSearchServiceImpl.java index 55375d65b..a4d50bbd6 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/LawsMonthlyReportSearchServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/LawsMonthlyReportSearchServiceImpl.java @@ -64,12 +64,8 @@ public class LawsMonthlyReportSearchServiceImpl implements ILawsMonthlyReportSea String selectValueTwo = searchVO.getSelectValueTwo(); //1. 需要查询的字段 List fieldList = new ArrayList<>(); - fieldList.add("title");//权重5 - fieldList.add("file_text");//权重4 - fieldList.add("content");//权重3 - fieldList.add("file_name"); //权重2 - fieldList.add("module_type"); - fieldList.add("id"); + fieldList.add("title");//权重2 + fieldList.add("content");//权重1 fieldList.add("flag"); JSONArray queryMapJson = new JSONArray(); @@ -87,12 +83,8 @@ public class LawsMonthlyReportSearchServiceImpl implements ILawsMonthlyReportSea Map map4 = new HashMap<>(); if("title".equals(field)){ map3.put("boost",1); - }else if("file_text".equals(field)){ - map3.put("boost",0.01); }else if("content".equals(field)){ map3.put("boost",0.01); - }else if("file_name".equals(field)){ - map3.put("boost",1); } map3.put("query",selectValue); @@ -119,12 +111,8 @@ public class LawsMonthlyReportSearchServiceImpl implements ILawsMonthlyReportSea Map map3 = new HashMap<>(); if("title".equals(field)){ map3.put("boost",1); - }else if("file_text".equals(field)){ - map3.put("boost",0.01); }else if("content".equals(field)){ map3.put("boost",0.01); - }else if("file_name".equals(field)){ - map3.put("boost",1); } //特殊处理编号字段 @@ -190,8 +178,11 @@ public class LawsMonthlyReportSearchServiceImpl implements ILawsMonthlyReportSea } else { jsonObject = jeroElasticsearchTemplate.buildBoolQuery(queryMapJson, queryMustNot, null); } + JSONArray jsonArraySort = new JSONArray(); - jsonArraySort.add(querySort); + if (SEARCH_FLAG.equals(selectValue) && StringUtils.isEmpty(selectValueTwo)) { + jsonArraySort.add(querySort); + } //1. 条件,分页 JSONObject queryObject = jeroElasticsearchTemplate.buildQuery(null, From ffdc017db5581fea6a5def127849040b42617e72 Mon Sep 17 00:00:00 2001 From: liyawei Date: Wed, 24 Aug 2022 09:34:47 +0800 Subject: [PATCH 47/48] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E4=B8=AD=E5=BF=83-?= =?UTF-8?q?=E6=B3=95=E8=A7=84=E6=9C=88=E6=8A=A5-bug58552,58591?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LawsMonthlyReportSearchServiceImpl.java | 29 ++++++++++++++----- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/LawsMonthlyReportSearchServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/LawsMonthlyReportSearchServiceImpl.java index a4d50bbd6..54c828580 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/LawsMonthlyReportSearchServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/LawsMonthlyReportSearchServiceImpl.java @@ -86,10 +86,18 @@ public class LawsMonthlyReportSearchServiceImpl implements ILawsMonthlyReportSea }else if("content".equals(field)){ map3.put("boost",0.01); } + // 标题字段 通配符模糊匹配 + if (field.equals("title")){ + // map2放最内层 + map2.put(field, "*" + selectValue + "*"); - map3.put("query",selectValue); - map2.put(field, map3); - map4.put("match",map2); + // map4放query + map4.put("wildcard",map2); + } else { + map3.put("query", selectValue); + map2.put(field, map3); + map4.put("match", map2); + } queryMapJson.add(map4); //高亮 @@ -115,11 +123,18 @@ public class LawsMonthlyReportSearchServiceImpl implements ILawsMonthlyReportSea map3.put("boost",0.01); } - //特殊处理编号字段 - map3.put("query",selectValueTwo); + // 标题字段 通配符模糊匹配 + if (field.equals("title")){ + // map2放最内层 + map2.put(field, "*" + selectValueTwo + "*"); + // map4放query + queryMap.put("wildcard",map2); + } else { + map3.put("query", selectValueTwo); // map3.put("minimum_should_match",2); - map2.put(field, map3); - queryMap.put("match", map2); + map2.put(field, map3); + queryMap.put("match", map2); + } queryMapJsonTwo.add(queryMap); //高亮 From d8773897742eac95c028f7332a09d89f3939b91a Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Wed, 24 Aug 2022 15:57:46 +0800 Subject: [PATCH 48/48] =?UTF-8?q?=E6=B3=95=E8=A7=84=E6=B8=85=E5=8D=95--?= =?UTF-8?q?=E8=B0=83=E5=8F=96=E8=99=9A=E6=8B=9F=E6=B8=85=E5=8D=95=E8=B4=A3?= =?UTF-8?q?=E4=BB=BB=E9=A2=86=E5=9F=9F=E5=A4=9A=E4=B8=AA=E6=97=B6=E6=8B=86?= =?UTF-8?q?=E5=88=86=E6=88=90=E5=A4=9A=E6=9D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectLawsInventoryEOServiceImpl.java | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java index b23a2b800..44c08d6b0 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java @@ -239,22 +239,21 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl dummyInventoryInfoEOListNew = new ArrayList<>(); if(dummyInventoryInfoEOList.size() != 0){ List projectLawsInventoryEOS = new ArrayList<>(); - if(projectLawsInventoryEOList.size() ==0){ - //责任领域如果有多个,则需要拆分成多条 - for (DummyInventoryInfoEO dummyInventoryInfoEO : dummyInventoryInfoEOList) { - String dutyTerritory = dummyInventoryInfoEO.getDutyTerritory(); - if(StringUtils.isNotBlank(dutyTerritory)){ - for (String dutyTerritoryOne : dutyTerritory.split(",")) { - DummyInventoryInfoEO dummyInventoryInfoEONew = new DummyInventoryInfoEO(); - BeanUtils.copyProperties(dummyInventoryInfoEO,dummyInventoryInfoEONew); - dummyInventoryInfoEONew.setDutyTerritory(dutyTerritoryOne); - dummyInventoryInfoEOListNew.add(dummyInventoryInfoEONew); - } - }else{ - dummyInventoryInfoEOListNew.add(dummyInventoryInfoEO); + //责任领域如果有多个,则需要拆分成多条 + for (DummyInventoryInfoEO dummyInventoryInfoEO : dummyInventoryInfoEOList) { + String dutyTerritory = dummyInventoryInfoEO.getDutyTerritory(); + if(StringUtils.isNotBlank(dutyTerritory)){ + for (String dutyTerritoryOne : dutyTerritory.split(",")) { + DummyInventoryInfoEO dummyInventoryInfoEONew = new DummyInventoryInfoEO(); + BeanUtils.copyProperties(dummyInventoryInfoEO,dummyInventoryInfoEONew); + dummyInventoryInfoEONew.setDutyTerritory(dutyTerritoryOne); + dummyInventoryInfoEOListNew.add(dummyInventoryInfoEONew); } + }else{ + dummyInventoryInfoEOListNew.add(dummyInventoryInfoEO); } - + } + if(projectLawsInventoryEOList.size() ==0){ //此时法规清单中没有数据,直接将维护清单中的数据添加即可 for (DummyInventoryInfoEO dummyInventoryInfoEO : dummyInventoryInfoEOListNew) { ProjectLawsInventoryEO projectLawsInventoryEOTemp = new ProjectLawsInventoryEO();