许鹏程
2023-08-16 8bb87356a3aadf27cdde58ca79ad2773cdf02205
src/main/java/com/product/file/service/OnlineDocumentEditService.java
@@ -59,6 +59,20 @@
      try {
         String document_template = ff.getString("document_template");
         String document_template_tail = ff.getString("document_template_tail");
         String fileUuid = ff.getString("file_uuid");
         FieldSetEntity fieldSetEntity = getBaseDao().getFieldSetEntity(CmnConst.PRODUCT_SYS_ATTACHMENTS, fileUuid, false);
         //获取文件类型
         String fileName = fieldSetEntity.getString(CmnConst.FILE_NAME);
         //判断是否为doc文件
         String fileType = fileName.substring(fileName.lastIndexOf(".") + 1);
         if ("doc".equals(fileType)) {
            //将doc文件转换为docx文件
            File f = file;
            file = com.product.file.util.FileUtil.toDocx(file);
            if (f != null) {
               f.delete();
            }
         }
         List<File> fileList = new ArrayList<>(3);
         if (!StringUtils.isEmpty(document_template)) {
            fileList.add(fileManagerService.getFile(document_template));
@@ -72,12 +86,21 @@
         File mergeFile = MergeDoc.mergeDoc(fileList, Global.getSystemConfig("upload.file.temp.path", "./attachment/temp") +
               File.separator + "nest_red_document_" + IdUtil.randomUUID() + "_" + ff.getString("file_uuid"));
         if (mergeFile != null && mergeFile.isFile()) {
            if("doc".equals(fileType)){
               //将docx文件转换为doc文件
               File f = mergeFile;
               mergeFile = com.product.file.util.FileUtil.toDoc(f);
               if (f != null) {
                  f.delete();
               }
            }
            HashMap<String, File> objectObjectHashMap = new HashMap<>();
            objectObjectHashMap.put("mergeFile", mergeFile);
            uploadFile(ff.getString("file_uuid"), objectObjectHashMap);
         } else {
            throw new BaseException(FileCode.NEST_RED_DOCUMENT_FAIL);
         }
         fileList.forEach(FileUtil::del);
      } catch (BaseException e) {
         throw e;
      } catch (Exception e) {
@@ -288,7 +311,7 @@
               //正在被编辑
               String existsKey = keys.toArray(new String[]{})[0];
               //这里会抛出正在编辑的异常
               throwBeingEditDocument(existsKey.substring(existsKey.lastIndexOf("-")+1));
               throwBeingEditDocument(existsKey.substring(existsKey.lastIndexOf("-") + 1));
            } else if (remove) {
               RedisUtil.setOutTime(key, getExpirationTime());
               return;