fix: 企标修改流程文件转换错误
This commit is contained in:
+1
-1
@@ -406,7 +406,7 @@ public class BusProcessModelHisServiceImpl extends ServiceImpl<BusProcessModelHi
|
||||
ossFileService.updateById(replaceFile);
|
||||
// 将文件扩展名去掉
|
||||
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.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author: Mzaxd
|
||||
@@ -59,15 +60,16 @@ public class OnlyOfficePdfUtil {
|
||||
private static final int TIMEOUT = 60000; // 通用超时设置
|
||||
|
||||
@SneakyThrows
|
||||
public void convertAndSavePdfFile(String fileName, String key, String onlineFilePath) {
|
||||
log.info("转换的请求参数:onlyOfficeUrl:{}, filePdfName:{}, key:{}, onlineFilePath:{}", onlyOfficeUrl, fileName, key, onlineFilePath);
|
||||
public void convertAndSavePdfFile(String fileName, String originFileId, String onlineFilePath) {
|
||||
String key = UUID.randomUUID().toString();
|
||||
log.info("转换的请求参数:onlyOfficeUrl:{}, filePdfName:{}, key:{}, originFileId:{}, onlineFilePath:{}", onlyOfficeUrl, fileName, key, originFileId, onlineFilePath);
|
||||
// 获取onlyOffice转换后文件的url
|
||||
String fileUrl = convertFile(fileName, key, onlineFilePath);
|
||||
log.info("文件转换后PDF的URL: {}", fileUrl);
|
||||
|
||||
try (CloseableHttpClient httpClient = HttpClientBuilder.create().build()) {
|
||||
// 根据url获取转换后的文件
|
||||
fetchAndSaveFile(httpClient, fileName, fileUrl, key);
|
||||
fetchAndSaveFile(httpClient, fileName, fileUrl, originFileId);
|
||||
} // 自动关闭httpClient
|
||||
}
|
||||
|
||||
@@ -109,7 +111,7 @@ public class OnlyOfficePdfUtil {
|
||||
}
|
||||
|
||||
@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";
|
||||
HttpGet get = new HttpGet(fileUrl);
|
||||
try (CloseableHttpResponse response = httpClient.execute(get)) {
|
||||
@@ -125,7 +127,7 @@ public class OnlyOfficePdfUtil {
|
||||
if (oConvertUtils.isNotEmpty(savePath)) {
|
||||
// 如果有的话,删除原来的pdf版本
|
||||
LambdaQueryWrapper<OSSFile> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(OSSFile::getBindId, key);
|
||||
lambdaQueryWrapper.eq(OSSFile::getBindId, originFileId);
|
||||
ossFileService.remove(lambdaQueryWrapper);
|
||||
|
||||
// 上传成功 进行数据库存储
|
||||
@@ -133,7 +135,7 @@ public class OnlyOfficePdfUtil {
|
||||
// 文件名
|
||||
ossFile.setFileName(pdfFileName);
|
||||
ossFile.setUrl(savePath);
|
||||
ossFile.setBindId(key);
|
||||
ossFile.setBindId(originFileId);
|
||||
ossFileService.save(ossFile);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user