fix: 企标修改流程文件转换错误

This commit is contained in:
2024-04-25 18:03:06 +08:00
parent 90b532fe9d
commit edb4e5bd75
2 changed files with 9 additions and 7 deletions
@@ -406,7 +406,7 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
ossFileService.updateById(replaceFile); ossFileService.updateById(replaceFile);
// 将文件扩展名去掉 // 将文件扩展名去掉
String fileTitleName = fileName.substring(0, fileName.lastIndexOf(".")); String fileTitleName = fileName.substring(0, fileName.lastIndexOf("."));
onlineOfficePdfUtil.convertAndSavePdfFile(fileTitleName, ossFile.getId(), his.getEditFilePath()); onlineOfficePdfUtil.convertAndSavePdfFile(fileTitleName, replaceFile.getId(), his.getEditFilePath());
} }
} }
@@ -32,6 +32,7 @@ import javax.annotation.Resource;
import java.io.InputStream; import java.io.InputStream;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.UUID;
/** /**
* @author: Mzaxd * @author: Mzaxd
@@ -59,15 +60,16 @@ public class OnlyOfficePdfUtil {
private static final int TIMEOUT = 60000; // 通用超时设置 private static final int TIMEOUT = 60000; // 通用超时设置
@SneakyThrows @SneakyThrows
public void convertAndSavePdfFile(String fileName, String key, String onlineFilePath) { public void convertAndSavePdfFile(String fileName, String originFileId, String onlineFilePath) {
log.info("转换的请求参数:onlyOfficeUrl:{}, filePdfName:{}, key:{}, onlineFilePath:{}", onlyOfficeUrl, fileName, key, onlineFilePath); String key = UUID.randomUUID().toString();
log.info("转换的请求参数:onlyOfficeUrl:{}, filePdfName:{}, key:{}, originFileId:{}, onlineFilePath:{}", onlyOfficeUrl, fileName, key, originFileId, onlineFilePath);
// 获取onlyOffice转换后文件的url // 获取onlyOffice转换后文件的url
String fileUrl = convertFile(fileName, key, onlineFilePath); String fileUrl = convertFile(fileName, key, onlineFilePath);
log.info("文件转换后PDF的URL: {}", fileUrl); log.info("文件转换后PDF的URL: {}", fileUrl);
try (CloseableHttpClient httpClient = HttpClientBuilder.create().build()) { try (CloseableHttpClient httpClient = HttpClientBuilder.create().build()) {
// 根据url获取转换后的文件 // 根据url获取转换后的文件
fetchAndSaveFile(httpClient, fileName, fileUrl, key); fetchAndSaveFile(httpClient, fileName, fileUrl, originFileId);
} // 自动关闭httpClient } // 自动关闭httpClient
} }
@@ -109,7 +111,7 @@ public class OnlyOfficePdfUtil {
} }
@SneakyThrows @SneakyThrows
private void fetchAndSaveFile(CloseableHttpClient httpClient, String fileName, String fileUrl, String key) { private void fetchAndSaveFile(CloseableHttpClient httpClient, String fileName, String fileUrl, String originFileId) {
String pdfFileName = fileName + ".pdf"; String pdfFileName = fileName + ".pdf";
HttpGet get = new HttpGet(fileUrl); HttpGet get = new HttpGet(fileUrl);
try (CloseableHttpResponse response = httpClient.execute(get)) { try (CloseableHttpResponse response = httpClient.execute(get)) {
@@ -125,7 +127,7 @@ public class OnlyOfficePdfUtil {
if (oConvertUtils.isNotEmpty(savePath)) { if (oConvertUtils.isNotEmpty(savePath)) {
// 如果有的话,删除原来的pdf版本 // 如果有的话,删除原来的pdf版本
LambdaQueryWrapper<OSSFile> lambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<OSSFile> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(OSSFile::getBindId, key); lambdaQueryWrapper.eq(OSSFile::getBindId, originFileId);
ossFileService.remove(lambdaQueryWrapper); ossFileService.remove(lambdaQueryWrapper);
// 上传成功 进行数据库存储 // 上传成功 进行数据库存储
@@ -133,7 +135,7 @@ public class OnlyOfficePdfUtil {
// 文件名 // 文件名
ossFile.setFileName(pdfFileName); ossFile.setFileName(pdfFileName);
ossFile.setUrl(savePath); ossFile.setUrl(savePath);
ossFile.setBindId(key); ossFile.setBindId(originFileId);
ossFileService.save(ossFile); ossFileService.save(ossFile);
} }
} }