fix: 87697 不符合项库--导出文件打不开

This commit is contained in:
2024-07-30 10:13:27 +08:00
parent cc8f20d60a
commit a13b86f93a
3 changed files with 6 additions and 4 deletions
@@ -222,7 +222,7 @@ public class LawsEvaluationNotMetLibrary implements Serializable {
@ApiModelProperty(value = "附件")
@ExcelCollection(name = "", orderNum = "13")
@TableField(exist = false)
private List<ExcelExportUtilPro.FileDetails> fileList = Collections.emptyList();
private List<ExcelExportUtilPro.FileDetails> fileList;
public List<String> obtainFileIds() {
return file != null ? Arrays.asList(file.split(",")) : Collections.emptyList();
@@ -124,7 +124,7 @@ public class LawsEvaluationNotMetLibraryServiceImpl extends ServiceImpl<LawsEval
List<LawsEvaluationNotMetLibrary> newRecordsExport = new ArrayList<>(records);
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, LawsEvaluationNotMetLibrary.class, records);
// 生成超链接
excelExportUtilPro.generateHyperlink(newRecordsExport, workbook, LawsEvaluationNotMetLibrary::getFileList, 15);
excelExportUtilPro.generateHyperlink(newRecordsExport, workbook, LawsEvaluationNotMetLibrary::getFileList, 12);
// 导出excel
workbook.write(fos);
// 生成并导出zip
@@ -1,12 +1,13 @@
package com.jero.modules.laws.utils;
import com.jero.common.util.BeanCopyUtils;
import com.jero.common.util.MinioUtil;
import com.jero.common.util.obs.ObsBootUtil;
import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.system.util.SysWaterMarkUtil;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.apache.poi.ss.usermodel.*;
@@ -32,6 +33,7 @@ public class ExcelExportUtilPro {
private SysWaterMarkUtil sysWaterMarkUtil;
// 文件详细信息类
@Setter
@Getter
public static class FileDetails {
@ApiModelProperty(value = "id")
@@ -85,7 +87,7 @@ public class ExcelExportUtilPro {
List<FileDetails> fileDetailsList = BeanCopyUtils.copyBeanList(ossFileList, FileDetails.class);
fileDetailsConsumer.accept(item, fileDetailsList);
for (OSSFile ossFile : ossFileList) {
InputStream inputStream = MinioUtil.getMinioFile(MinioUtil.getBucketName(), ossFile.getUrl());
InputStream inputStream = ObsBootUtil.getOssFile(ossFile.getUrl());
if (StringUtils.endsWithIgnoreCase(ossFile.getFileName(), ".pdf")) {
inputStream = sysWaterMarkUtil.addWatermarkToPdf(inputStream);
}