全文检索添加动态消息读取上传附件PDF与WORD

This commit is contained in:
梁琦涛
2024-09-06 11:20:02 +08:00
parent 27c99fe0fd
commit 65decc5d3c
3 changed files with 39 additions and 3 deletions
@@ -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());
@@ -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)) {
@@ -1270,6 +1270,12 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
while (startIndex < listIds.size()) {
int endIndex = getEndIndex(startIndex, batchCount, listIds);
List<String> 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<LawsDomesticStandard> 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<String> 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<LawsOverseasStandard> 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<String> 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<LawsEnterpriseStandard> listLawsEnterpriseStandard = lawsEnterpriseStandardService.listByIds(listIdsSub);
if (CollectionUtils.isEmpty(listLawsEnterpriseStandard)) {
break;
@@ -1570,6 +1588,12 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
// 从第0个下标开始
List<String> 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<LawsNewsFeed> 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<OSSFile> 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<OSSFile> 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());