From 65decc5d3c922cb5c03b842667712d3b9bb7a451 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= Date: Fri, 6 Sep 2024 11:20:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A8=E6=96=87=E6=A3=80=E7=B4=A2=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=8A=A8=E6=80=81=E6=B6=88=E6=81=AF=E8=AF=BB=E5=8F=96?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E9=99=84=E4=BB=B6PDF=E4=B8=8EWORD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/es/JeroElasticsearchTemplate.java | 2 + .../modules/document/utils/ReadPdfUtil.java | 2 +- .../impl/LawsHomeSearchServiceImpl.java | 38 ++++++++++++++++++- 3 files changed, 39 insertions(+), 3 deletions(-) diff --git a/laws-base/laws-base-core/src/main/java/com/jero/common/es/JeroElasticsearchTemplate.java b/laws-base/laws-base-core/src/main/java/com/jero/common/es/JeroElasticsearchTemplate.java index adb82a81..7ce909f3 100644 --- a/laws-base/laws-base-core/src/main/java/com/jero/common/es/JeroElasticsearchTemplate.java +++ b/laws-base/laws-base-core/src/main/java/com/jero/common/es/JeroElasticsearchTemplate.java @@ -386,7 +386,9 @@ public class JeroElasticsearchTemplate { e.printStackTrace(); } try { + log.info("url:" + url + ":" + data.toJSONString()); String result = this.put(url, data.toJSONString()).getString("result"); + log.info("result:" + result); return "created".equals(result) || "updated".equals(result); } catch (Exception e) { log.error(e.getMessage() + "\n-- url: " + url + "\n-- data: " + data.toJSONString()); diff --git a/laws-modules/src/main/java/com/jero/modules/document/utils/ReadPdfUtil.java b/laws-modules/src/main/java/com/jero/modules/document/utils/ReadPdfUtil.java index dcb9f7bc..0a53375e 100644 --- a/laws-modules/src/main/java/com/jero/modules/document/utils/ReadPdfUtil.java +++ b/laws-modules/src/main/java/com/jero/modules/document/utils/ReadPdfUtil.java @@ -22,7 +22,7 @@ public class ReadPdfUtil { public static String readPdf(String path) { if(MinioUtil.doesObjectExist(path)){ try (InputStream in = MinioUtil.download(path)) { - if(Objects.isNull(in) || in.available() == 0){ + if(Objects.isNull(in)){ return null; } try (PDDocument document = PDDocument.load(in)) { diff --git a/laws-modules/src/main/java/com/jero/modules/laws/home/service/impl/LawsHomeSearchServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/home/service/impl/LawsHomeSearchServiceImpl.java index acec6174..f36d88a8 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/home/service/impl/LawsHomeSearchServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/home/service/impl/LawsHomeSearchServiceImpl.java @@ -1270,6 +1270,12 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService { while (startIndex < listIds.size()) { int endIndex = getEndIndex(startIndex, batchCount, listIds); List listIdsSub = listIds.subList(startIndex, endIndex); + if (Objects.equals(opType, LawsHomeSearchCommon.LAWS_ES_DELETE)) { + for (String s : listIdsSub) { + jeroElasticsearchTemplate.delete(HomeSearchEnum.INDEX_NAME_DOCUMENT_ZQ.getValue(), HomeSearchEnum.TYPE_NAME_DOCUMENT_ZQ.getValue(), s); + } + break; + } List listLawsDomesticStandard = lawsDomesticStandardService.listByIds(listIdsSub); if (CollectionUtils.isEmpty(listLawsDomesticStandard)) { break; @@ -1402,6 +1408,12 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService { while (startIndex < listIds.size()) { int endIndex = getEndIndex(startIndex, batchCount, listIds); List listIdsSub = listIds.subList(startIndex, endIndex); + if (Objects.equals(opType, LawsHomeSearchCommon.LAWS_ES_DELETE)) { + for (String s : listIdsSub) { + jeroElasticsearchTemplate.delete(HomeSearchEnum.INDEX_NAME_DOCUMENT_ZQ.getValue(), HomeSearchEnum.TYPE_NAME_DOCUMENT_ZQ.getValue(), s); + } + break; + } List listLawsOverseasStandard = lawsOverseasStandardService.listByIds(listIdsSub); if (CollectionUtils.isEmpty(listLawsOverseasStandard)) { break; @@ -1494,6 +1506,12 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService { while (startIndex < listIds.size()) { int endIndex = getEndIndex(startIndex, batchCount, listIds); List listIdsSub = listIds.subList(startIndex, endIndex); + if (Objects.equals(opType, LawsHomeSearchCommon.LAWS_ES_DELETE)) { + for (String s : listIdsSub) { + jeroElasticsearchTemplate.delete(HomeSearchEnum.INDEX_NAME_DOCUMENT_ZQ.getValue(), HomeSearchEnum.TYPE_NAME_DOCUMENT_ZQ.getValue(), s); + } + break; + } List listLawsEnterpriseStandard = lawsEnterpriseStandardService.listByIds(listIdsSub); if (CollectionUtils.isEmpty(listLawsEnterpriseStandard)) { break; @@ -1570,6 +1588,12 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService { // 从第0个下标开始 List listIds = Arrays.asList(ids.split(",")); try { + if (Objects.equals(opType, LawsHomeSearchCommon.LAWS_ES_DELETE)) { + for (String s : listIds) { + jeroElasticsearchTemplate.delete(HomeSearchEnum.INDEX_NAME_DOCUMENT_ZQ.getValue(), HomeSearchEnum.TYPE_NAME_DOCUMENT_ZQ.getValue(), s); + } + return; + } List listLawsNewsFeed = lawsNewsFeedService.listByIds(listIds); if (CollectionUtils.isEmpty(listLawsNewsFeed)) { return; @@ -1586,7 +1610,11 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService { obj.setCreateTime(lawsNewsFeed.getCreateTime()); obj.setPushRangeFlag(lawsNewsFeed.getPushRangeFlag()); obj.setReleaseStatus(String.valueOf(lawsNewsFeed.getReleaseStatus())); - updateESLawsNewsFeed(opType, lawsNewsFeed, obj); + List list = new ArrayList<>(); + if(!StringUtils.isBlank(lawsNewsFeed.getDataText())){ + list = oSSFileService.listByIds(Arrays.asList(lawsNewsFeed.getDataText().split(","))); + } + updateESLawsNewsFeed(opType, lawsNewsFeed, obj, list); } catch (Exception e) { log.error(SYNC_ES_ERR, e.getMessage()); } @@ -1596,13 +1624,19 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService { } } - private void updateESLawsNewsFeed(String opType, LawsNewsFeed lawsNewsFeed, LawsHomeNormalSearchVO obj) { + private void updateESLawsNewsFeed(String opType, LawsNewsFeed lawsNewsFeed, LawsHomeNormalSearchVO obj, List list) { if (Objects.equals(opType, LawsHomeSearchCommon.LAWS_ES_ADD) || Objects.equals(opType, LawsHomeSearchCommon.LAWS_ES_UPDATE)) { StringBuilder str = new StringBuilder(); if (!StringUtils.isBlank(lawsNewsFeed.getDynamicDetails())) { str = new StringBuilder(Jsoup.parse(lawsNewsFeed.getDynamicDetails()).text()); } + if(!CollectionUtils.isEmpty(list)){ + StringBuilder fileTextAll = getStringBuilder(list); + if(!StringUtils.isBlank(fileTextAll.toString())){ + str.append(fileTextAll.toString()); + } + } addES(obj, lawsNewsFeed.getId(), str, null); } else if (Objects.equals(opType, LawsHomeSearchCommon.LAWS_ES_DELETE)) { jeroElasticsearchTemplate.delete(HomeSearchEnum.INDEX_NAME_DOCUMENT_ZQ.getValue(), HomeSearchEnum.TYPE_NAME_DOCUMENT_ZQ.getValue(), lawsNewsFeed.getId());