From 1439176a860be060652357aafbdfdf997c82ee91 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Thu, 26 May 2022 11:54:29 +0800 Subject: [PATCH 1/2] feat: There is no way the,xxx --- .../com/adc/da/search/bean/SearchCenter.java | 4 +++- .../search/server/ResetSearchCenterService.java | 17 +++++++++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/search/bean/SearchCenter.java b/adc-da-slrs/src/main/java/com/adc/da/search/bean/SearchCenter.java index 7019fed0..03cf6688 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/search/bean/SearchCenter.java +++ b/adc-da-slrs/src/main/java/com/adc/da/search/bean/SearchCenter.java @@ -22,7 +22,9 @@ public class SearchCenter { // private Integer countStand; @NotNull - @ApiModelProperty(value = "执行参数 ALL 存在更新 不存在新增 ,UPD 只 更新存在 es 里的标准 ,ADD 只新增不存在 es 的标准, DEL 只删除不存在标准库的数据(删除只能用DEL 减少自动错删)") + @ApiModelProperty(value = "执行参数 ALL 存在更新 不存在新增 ,UPD 只 更新存在 es 里的标准 ,ADD 只新增不存在 es 的标准," + + " DEL 只删除不存在标准库的数据(删除只能用DEL 减少自动错删)," + + "UPDATENONEXISTENT (只支持文本查询接口)更新不存在字段业务数据(其他任务导致ES不同步)") private String execType; @NotNull diff --git a/adc-da-slrs/src/main/java/com/adc/da/search/server/ResetSearchCenterService.java b/adc-da-slrs/src/main/java/com/adc/da/search/server/ResetSearchCenterService.java index 656f5fcd..934cd0b0 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/search/server/ResetSearchCenterService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/search/server/ResetSearchCenterService.java @@ -263,8 +263,20 @@ public class ResetSearchCenterService { String search = getSearch(searchCenter); List> searchListData = elasticsearchService.searchAll("fulltextserch",search); + List esIdList = new ArrayList<>(); + if("UPDATENONEXISTENT".equals(searchCenter.getExecType().toUpperCase())){ + List> filterList = searchListData.stream().filter(stringObjectMap -> { + if(stringObjectMap.get("standTypeOrder") == null){ + return true; + }else { + return false; + } + }).collect(Collectors.toList()); + esIdList = filterList.stream().map(stringObjectMap -> stringObjectMap.get("id").toString()).collect(Collectors.toList()); + }else { + esIdList = searchListData.stream().map(stringObjectMap -> stringObjectMap.get("id").toString()).collect(Collectors.toList()); + } - List esIdList = searchListData.stream().map(stringObjectMap -> stringObjectMap.get("id").toString()).collect(Collectors.toList()); page.setValidFlag("0"); if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty()){ @@ -286,8 +298,9 @@ public class ResetSearchCenterService { if(!esIdList.isEmpty()){ // 交集 更新 + List finalEsIdList = esIdList; List intersection = rowsStand.stream() - .filter(item -> new ArrayList<>(esIdList) + .filter(item -> new ArrayList<>(finalEsIdList) .contains(item.getId())) .collect(Collectors.toList()); if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !intersection.isEmpty()){ From 55afc3e507d707a5237369a6d133e27b30bed790 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Thu, 26 May 2022 11:58:02 +0800 Subject: [PATCH 2/2] feat: There is no way the,xxx --- .../server/ResetSearchCenterService.java | 43 ++++++++++++++++--- 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/search/server/ResetSearchCenterService.java b/adc-da-slrs/src/main/java/com/adc/da/search/server/ResetSearchCenterService.java index 934cd0b0..e1aeeefc 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/search/server/ResetSearchCenterService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/search/server/ResetSearchCenterService.java @@ -314,7 +314,8 @@ public class ResetSearchCenterService { } - if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()))){ + if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()) + || "UPDATENONEXISTENT".equals(searchCenter.getExecType().toUpperCase()))){ for(SarStandardsInfo sarStandardsInfoEO : updList){ countUpdateSuccess++; standFunc(sarStandardsInfoEO); @@ -534,7 +535,19 @@ public class ResetSearchCenterService { List> searchListData = elasticsearchService.searchAll("fulltextserch",search); - List esIdList = searchListData.stream().map(stringObjectMap -> stringObjectMap.get("id").toString()).collect(Collectors.toList()); + List esIdList = new ArrayList<>(); + if("UPDATENONEXISTENT".equals(searchCenter.getExecType().toUpperCase())){ + List> filterList = searchListData.stream().filter(stringObjectMap -> { + if(stringObjectMap.get("standTypeOrder") == null){ + return true; + }else { + return false; + } + }).collect(Collectors.toList()); + esIdList = filterList.stream().map(stringObjectMap -> stringObjectMap.get("id").toString()).collect(Collectors.toList()); + }else { + esIdList = searchListData.stream().map(stringObjectMap -> stringObjectMap.get("id").toString()).collect(Collectors.toList()); + } sarLawsInfoEOPage.setLawsType("FOREIGN"); @@ -557,8 +570,9 @@ public class ResetSearchCenterService { if(!esIdList.isEmpty()){ // 交集 更新 + List finalEsIdList = esIdList; List intersection = rowsStand.stream() - .filter(item -> new ArrayList<>(esIdList) + .filter(item -> new ArrayList<>(finalEsIdList) .contains(item.getId())) .collect(Collectors.toList()); if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !intersection.isEmpty()){ @@ -572,7 +586,8 @@ public class ResetSearchCenterService { } - if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()))){ + if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()) + || "UPDATENONEXISTENT".equals(searchCenter.getExecType().toUpperCase()))){ for(SarLawsStandInfo sarLawsInfoEO : updList){ countUpdateSuccess++; lawsAttrInfoShowSearchDetails(sarLawsInfoEO); @@ -852,7 +867,19 @@ public class ResetSearchCenterService { List> searchListData = elasticsearchService.searchAll("fulltextserch",search); - List esIdList = searchListData.stream().map(stringObjectMap -> stringObjectMap.get("id").toString()).collect(Collectors.toList()); + List esIdList = new ArrayList<>(); + if("UPDATENONEXISTENT".equals(searchCenter.getExecType().toUpperCase())){ + List> filterList = searchListData.stream().filter(stringObjectMap -> { + if(stringObjectMap.get("standTypeOrder") == null){ + return true; + }else { + return false; + } + }).collect(Collectors.toList()); + esIdList = filterList.stream().map(stringObjectMap -> stringObjectMap.get("id").toString()).collect(Collectors.toList()); + }else { + esIdList = searchListData.stream().map(stringObjectMap -> stringObjectMap.get("id").toString()).collect(Collectors.toList()); + } sarBussionessStandEOPage.setValidFlag("0"); sarBussionessStandEOPage.setOrderBy("SAR_BUSSIONESS_STAND.issue_time is null,SAR_BUSSIONESS_STAND.issue_time desc,SAR_BUSSIONESS_STAND.id"); @@ -881,8 +908,9 @@ public class ResetSearchCenterService { if(!esIdList.isEmpty()){ // 交集 更新 + List finalEsIdList = esIdList; List intersection = rowsStand.stream() - .filter(item -> new ArrayList<>(esIdList) + .filter(item -> new ArrayList<>(finalEsIdList) .contains(item.getId())) .collect(Collectors.toList()); if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty() && !intersection.isEmpty()){ @@ -894,7 +922,8 @@ public class ResetSearchCenterService { } } - if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()))){ + if(!updList.isEmpty() && ("ALL".equals(searchCenter.getExecType().toUpperCase()) || "UPD".equals(searchCenter.getExecType().toUpperCase()) + || "UPDATENONEXISTENT".equals(searchCenter.getExecType().toUpperCase()))){ for(SarBussionessStand sarBussionessStandEO : updList){ countUpdateSuccess++; bussAttrInfoShowSearchDetails(sarBussionessStandEO);