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 {