1. 优化代码

jinan_dev
xueqingkun 5 months ago
parent 7ce757592d
commit 77246070d0

@ -38,6 +38,9 @@ public class MinioServiceImpl implements MinioService {
private final MinioFileMapper minioFileMapper; private final MinioFileMapper minioFileMapper;
@Value("${fu-hsi-config.watermark.template}")
private String watermarkTemplate;
@Override @Override
public String uploadFile(MultipartFile file) throws IOException { public String uploadFile(MultipartFile file) throws IOException {
return uploadFile(file, false); return uploadFile(file, false);
@ -69,7 +72,8 @@ public class MinioServiceImpl implements MinioService {
public void downloadFile(String fileId, HttpServletResponse response) { public void downloadFile(String fileId, HttpServletResponse response) {
MinioFile minioFile = minioFileMapper.selectById(fileId); MinioFile minioFile = minioFileMapper.selectById(fileId);
String fileType = minioFile.getFileType(); String fileType = minioFile.getFileType();
this.downloadFileWithWatermark(fileId, fileType, UserUtil.getUser().getUserName(), response); String waterMarkName = StrUtil.format(watermarkTemplate, Map.of("userName", UserUtil.getUser().getUserName()));
this.downloadFileWithWatermark(fileId, fileType, waterMarkName, response);
} }

@ -32,6 +32,7 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.aop.framework.AopContext; import org.springframework.aop.framework.AopContext;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
@ -72,6 +73,9 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
private final CaseEvidencePropertyService caseEvidencePropertyService; private final CaseEvidencePropertyService caseEvidencePropertyService;
@Value("${fu-hsi-config.watermark.template}")
private String watermarkTemplate;
@Override @Override
@Transactional(transactionManager = "dataSourceTransactionManager", rollbackFor = Exception.class) @Transactional(transactionManager = "dataSourceTransactionManager", rollbackFor = Exception.class)
public String saveEvidence(CaseEvidenceDTO caseEvidenceDTO) { public String saveEvidence(CaseEvidenceDTO caseEvidenceDTO) {
@ -967,13 +971,16 @@ public class CaseEvidenceServiceImpl extends ServiceImpl<CaseEvidenceMapper, Cas
for (EvidenceFileDTO evidenceFileDTO : evidenceFileDTOList) { for (EvidenceFileDTO evidenceFileDTO : evidenceFileDTOList) {
MinioFile minioFile = minioService.getMinioFile(evidenceFileDTO.getFileId()); MinioFile minioFile = minioService.getMinioFile(evidenceFileDTO.getFileId());
if (null != minioFile) { if (null != minioFile) {
if (StrUtil.equalsAnyIgnoreCase(minioFile.getFileType(), "pdf")) { if (StrUtil.equalsAnyIgnoreCase(minioFile.getFileType(), "pdf")) {
String waterMarkName = StrUtil.format(watermarkTemplate, Map.of("userName", UserUtil.getUser().getUserName()));
ByteArrayOutputStream bos = new ByteArrayOutputStream(); ByteArrayOutputStream bos = new ByteArrayOutputStream();
WatermarkUtil.pdfByText(minioService.getObjectInputStream(minioFile), bos, UserUtil.getUser().getUserName(), Map.of()); WatermarkUtil.pdfByText(minioService.getObjectInputStream(minioFile), bos, waterMarkName, Map.of());
fileInputStreamMap.put(minioFile.getFilename(), new ByteArrayInputStream(bos.toByteArray())); fileInputStreamMap.put(minioFile.getFilename(), new ByteArrayInputStream(bos.toByteArray()));
} else if (StrUtil.equalsAnyIgnoreCase(minioFile.getFileType(), "jpg", "png", "jpeg", "bmp")) { } else if (StrUtil.equalsAnyIgnoreCase(minioFile.getFileType(), "jpg", "png", "jpeg", "bmp")) {
String waterMarkName = StrUtil.format(watermarkTemplate, Map.of("userName", UserUtil.getUser().getUserName()));
ByteArrayOutputStream bos = new ByteArrayOutputStream(); ByteArrayOutputStream bos = new ByteArrayOutputStream();
WatermarkUtil.imageByText(UserUtil.getUser().getUserName(), minioService.getObjectInputStream(minioFile), bos, Map.of("formatName", minioFile.getFileType())); WatermarkUtil.imageByText(waterMarkName, minioService.getObjectInputStream(minioFile), bos, Map.of("formatName", minioFile.getFileType()));
fileInputStreamMap.put(minioFile.getFilename(), new ByteArrayInputStream(bos.toByteArray())); fileInputStreamMap.put(minioFile.getFilename(), new ByteArrayInputStream(bos.toByteArray()));
} else { } else {
fileInputStreamMap.put(minioFile.getFilename(), minioService.getObjectInputStream(minioFile)); fileInputStreamMap.put(minioFile.getFilename(), minioService.getObjectInputStream(minioFile));

Loading…
Cancel
Save