diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java index 1b0476151..bcbc097bd 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java @@ -1828,7 +1828,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl> mapList = bussDocumentLibraryEOMapper.selectMapsAll((String) map.get("id")); - List connectIdList = new ArrayList<>(); + List connectIdList = new ArrayList<>();//已删除的文件关联id for (OnlCgformField onlCgformField : fieldFileList) { String connectId = (String) mapList.get(0).get(onlCgformField.getDbFieldName()); //如果文件没有修改则不用删除 @@ -1836,7 +1836,12 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl fileIdListDelete = new ArrayList<>(); + if(connectIdList.size() != 0){ + List fileInfosByConnectId = iOSSFileService.getFileInfosByConnectId(StringUtils.join(connectIdList, ",")); + fileIdListDelete = fileInfosByConnectId.stream().map(OSSFile::getId).collect(Collectors.toList()); + } //删除文件 iOSSFileService.deleteByConnectIdList(connectIdList); //删除文档库数据 @@ -1870,6 +1875,17 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl objectMap : mapListTempEn) { jeroElasticsearchTemplate.delete(SearchEnum.FULL_TEXT_SEARCH_EN.getValue(), SearchEnum.FULL_TEXT_SEARCH_EN.getValue(), (String) objectMap.get("id")); } + //处理编辑时已删除的文件(在es中同步删除文件单独生成的一条数据) + if(fileIdListDelete.size() != 0){ + for (String fileId : fileIdListDelete) { + jeroElasticsearchTemplate.delete(SearchEnum.FULL_TEXT_SEARCH_CN.getValue(), + SearchEnum.FULL_TEXT_SEARCH_CN.getValue(), + (String) map.get("id")+fileId); + jeroElasticsearchTemplate.delete(SearchEnum.FULL_TEXT_SEARCH_EN.getValue(), + SearchEnum.FULL_TEXT_SEARCH_EN.getValue(), + (String) map.get("id")+fileId); + } + } jeroElasticsearchTemplate.saveOrUpdate(SearchEnum.INDEX_NAME_DOCUMENT.getValue(), SearchEnum.TYPE_NAME_DOCUMENT.getValue(), (String) map.get("id"), jsonObject); //添加全文 jeroElasticsearchTemplate.saveBatch(SearchEnum.FULL_TEXT_SEARCH_CN.getValue(), SearchEnum.FULL_TEXT_SEARCH_CN.getValue(), arrayCn);