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 55d5206cd..e3f73be0e 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 @@ -393,6 +393,8 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl areaList = onlCgformAreaServiceImpl.queryList(onlCgformArea); //字段属性 List fieldList = onlCgformFieldService.getFieldList(flag); + //文件类型字段 + List fieldFileList = fieldList.stream().filter(e -> FieldTypeEnum.FILE.getValue().equals(e.getFieldShowType())).collect(Collectors.toList()); //过滤出字段为树形结构的 if (fieldList.size() != 0) { @@ -1055,7 +1057,6 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl fileIdList = oSSFileAll.stream().map(OSSFile::getId).collect(Collectors.toList()); - List fileInfos = iOSSFileService.getFileInfos(StringUtils.join(fileIdList, ",")); List> mapListTemp = new ArrayList<>(); try { @@ -1343,6 +1344,8 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl fieldList = onlCgformFieldService.getFieldList(ModuleEnum.DOCUMENT_LIBRARY.getValue()); + //获取搜索中心字段 + List searchFieldList = fieldList.stream().filter(e -> YesOrNoEnum.YES.getValue().equals(e.getIsShowSearch())).collect(Collectors.toList()); //时间类型字段 List fieldDateList = fieldList.stream() .filter(e -> FieldTypeEnum.DATE_SINGLE.getValue().equals(e.getFieldShowType())).collect(Collectors.toList()); @@ -1389,6 +1392,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl> fileTextList = new ArrayList<>(); + List oSSFileAll = new ArrayList<>(); for (Map.Entry entry : map.entrySet()) { String key = entry.getKey(); Object value = entry.getValue(); @@ -1426,11 +1430,12 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl list = readFileContent(oSSFileList); - if(list.size() != 0){ - fileTextList.add(list) ; - } +// List list = readFileContent(oSSFileList); +// if(list.size() != 0){ +// fileTextList.add(list) ; +// } } iOSSFileService.updateFileInfo(oSSFileList); valuesBuilder.append("'" + valueTemp + "'" + ","); @@ -1466,6 +1471,68 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl fileIdList = oSSFileAll.stream().map(OSSFile::getId).collect(Collectors.toList()); + List fileInfos = iOSSFileService.getFileInfos(StringUtils.join(fileIdList, ",")); + List> mapListTemp = new ArrayList<>(); + try { + if(fileInfos.size() != 0){ + for (OSSFile ossFile : fileInfos) { + Map stringMap = new HashMap<>(); + String fileText = ""; + if(ossFile.getFileName().endsWith(".doc") + || ossFile.getFileName().endsWith(".docx") + || ossFile.getFileName().endsWith(".DOC") + || ossFile.getFileName().endsWith(".DOCX")){ + String wordContent = ReadWordUtil.readWord(ossFile.getUrl()); + if(StringUtils.isNotBlank(wordContent)){ + fileText = wordContent; + } + }else if(ossFile.getFileName().endsWith(".pdf")||ossFile.getFileName().endsWith(".PDF")){ + String pdfContent = ReadPdfUtil.readPdf(ossFile.getUrl()); + if(StringUtils.isNotBlank(pdfContent)){ + fileText = pdfContent; + } + } + for (OnlCgformField onlCgformField : searchFieldList) { + String s = (String) map.get(onlCgformField.getDbFieldName()); + if(StringUtils.isBlank(s)){ + s = ""; + } + stringMap.put(onlCgformField.getDbFieldName(),s); + } + + stringMap.put("id",(String) map.get("id")+ossFile.getId()); + stringMap.put("module_type", "文档库"); + stringMap.put("serial_number", map.get("serial_number")); + stringMap.put("title", map.get("title")); + stringMap.put("content", sb.toString()); + stringMap.put("file_text",fileText); + stringMap.put("file_name",ossFile.getFileName()); + mapListTemp.add(stringMap); + } + }else{ + Map stringMap = new HashMap<>(); + for (OnlCgformField onlCgformField : searchFieldList) { + String s = (String) map.get(onlCgformField.getDbFieldName()); + if(StringUtils.isBlank(s)){ + s = ""; + } + stringMap.put(onlCgformField.getDbFieldName(),s); + } + stringMap.put("id",(String) map.get("id")); + stringMap.put("module_type", "文档库"); + stringMap.put("serial_number", map.get("serial_number")); + stringMap.put("title", map.get("title")); + stringMap.put("content", sb.toString()); + stringMap.put("file_text",""); + stringMap.put("file_name",""); + mapListTemp.add(stringMap); + } + + } catch (Exception e) { + log.error("文档库新增es错误"); + } + String insertField = fieldsBuilder.substring(0, fieldsBuilder.length() - 1); String insertValue = valuesBuilder.substring(0, valuesBuilder.length() - 1); @@ -2937,9 +3004,16 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl> mapList = bussDocumentLibraryEOMapper.selectMapsAll(documentIds); List serialNumberList = new ArrayList<>(); + List hrefList = new ArrayList<>(); for (Map map : mapList) { serialNumberList.add((String) map.get("serial_number")); + String href = "" + (String) map.get("serial_number") + ","; + hrefList.add(href); } + + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String content = sysUser.getRealname() + "向内推送了" + StringUtils.join(serialNumberList, ",") + ",请注意查看。"; String contentInfo = sysUser.getRealname() + "向内推送了" + StringUtils.join(serialNumberList, ",") + ",请注意查看。"; @@ -2948,7 +3022,10 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl