From 2bdb1a09547cb842234be4c67b535314c23bc1a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= Date: Thu, 29 Aug 2024 15:52:29 +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=E6=8B=86=E5=88=86id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/LawsHomeSearchServiceImpl.java | 41 +++++++++++++++++-- 1 file changed, 37 insertions(+), 4 deletions(-) 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 e61404fe..fa233a52 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 @@ -41,6 +41,8 @@ import com.jero.modules.laws.standard.service.ILawsOverseasStandardService; import com.jero.modules.laws.utils.HighlightUtil; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; +import com.jero.modules.split.entity.SarFileSplitInfoEO; +import com.jero.modules.split.service.ISarFileSplitInfoService; import com.jero.modules.tag.entity.LawsTag; import com.jero.modules.tag.service.ILawsTagService; import lombok.extern.slf4j.Slf4j; @@ -95,6 +97,8 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService { private CommonAPI commonAPI; @Resource private ILawsTagService lawsTagService; + @Resource + private ISarFileSplitInfoService sarFileSplitInfoService; @Value(value = "${jero.path.upload}") private String uploadpath; @@ -841,7 +845,7 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService { sort.add(m5); // 查询字段 - List arr = Arrays.asList(CONTENT,"title",RESOURCE_TYPE,"id","release_date"); + List arr = Arrays.asList(CONTENT,"title",RESOURCE_TYPE,"id","release_date","file_id"); IPage page = getIPage(queryMapJsonAll, mapHighlight1, pageNo, pageSize, sort,arr); getRecords(page); @@ -891,6 +895,26 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService { if(map.containsKey(createTime) && !Objects.isNull(map.get(createTime))){ map.put(createTime,new SimpleDateFormat(YYYY_MM_DD).format(Long.parseLong(map.get(createTime).toString()))); } + // 添加文档拆分id + String splitId = "splitId"; + String resourceType = map.getOrDefault("resourceType","100").toString(); + if(Objects.equals(resourceType,LawsHomeSearchCommon.LAWS_DOMESTIC_STANDARD) || + Objects.equals(resourceType,LawsHomeSearchCommon.LAWS_OVERSEAS_STANDARD) || + Objects.equals(resourceType,LawsHomeSearchCommon.LAWS_ENTERPRISE_STANDARD)){ + String fileId = "fileId"; + if(map.containsKey(fileId) && !Objects.isNull(map.get(fileId))){ + LambdaQueryWrapper querySarFileSplitInfoEO = new LambdaQueryWrapper<>(); + querySarFileSplitInfoEO.eq(SarFileSplitInfoEO::getStandardId,map.get("id")); + querySarFileSplitInfoEO.in(SarFileSplitInfoEO::getFileId, + Arrays.asList(map.get(fileId).toString().split(","))); + SarFileSplitInfoEO sarFileSplitInfoEO = sarFileSplitInfoService.getOne(querySarFileSplitInfoEO,false); + if(!Objects.isNull(sarFileSplitInfoEO)){ + map.put(splitId,sarFileSplitInfoEO.getId()); + }else{ + map.put(splitId,""); + } + } + } listNew.add(map); }); page.setRecords(listNew); @@ -1533,7 +1557,7 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService { if(!StringUtils.isBlank(lawsNewsFeed.getDynamicDetails())){ str = new StringBuilder(Jsoup.parse(lawsNewsFeed.getDynamicDetails()).text()); } - addES(obj, lawsNewsFeed.getId(), str); + 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()); } @@ -1542,7 +1566,11 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService { public void updateElasticsearch(LawsHomeNormalSearchVO obj,List listFile){ String idTemp = obj.getId(); StringBuilder fileTextAll = getStringBuilder(listFile); - addES(obj, idTemp, fileTextAll); + List fileIds = new ArrayList<>(); + if(!CollectionUtils.isEmpty(listFile)){ + fileIds = listFile.stream().map(OSSFile::getId).collect(Collectors.toList()); + } + addES(obj, idTemp, fileTextAll,fileIds); } @NotNull @@ -1578,7 +1606,7 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService { } } - private void addES(LawsHomeNormalSearchVO obj, String idTemp, StringBuilder fileTextAll){ + private void addES(LawsHomeNormalSearchVO obj, String idTemp, StringBuilder fileTextAll,List fileIds){ Map map = new HashMap<>(); map.put("id", obj.getId()); map.put("title", obj.getTitle()); @@ -1594,6 +1622,11 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService { map.put(STANDARD_CODE,"," + obj.getStandardCode() + ","); map.put(ENTERPRISE_STANDARD_STATE,"," + obj.getEnterpriseStandardState() + ","); map.put(GRADE_CLASSIFICATION,"," + obj.getGradeClassification() + ","); + if(!CollectionUtils.isEmpty(fileIds)){ + map.put("file_id",String.join(",",fileIds)); + }else{ + map.put("file_id",""); + } map.put("release_date",obj.getReleaseDate()); // 没有时间 强行加入最早时间 try {