提交 c6061c70 authored 作者: hzh's avatar hzh

代码优化

上级 9a6b680d
......@@ -38,6 +38,7 @@ import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.CompletableFuture;
/**
* 部门文件下载申请Service业务层处理
......@@ -119,45 +120,48 @@ public class FileApproveServiceImpl extends AbstractBaseService<FileApproveVo, F
fa.setStatus(BusinessStatusEnum.WAITING.getStatus());
}
baseMapper.updateById(fa);
//审批完成
if (StringUtils.equals(processEvent.getStatus(), BusinessStatusEnum.FINISH.getStatus())) {
File originFile = null;
File watermarkFile = null;
try {
//发送邮件
Map<String, Object> entity = (Map<String, Object>) WorkflowUtils.getHistoricVariableByBusinessKey(processEvent.getBusinessKey(), "entity");
String url = entity.get("fileUrl").toString();
String fileName = entity.get("fileName").toString();
originFile = FileUtils.convert(url, fileName);
watermarkFile = FileUtil.touch(FileUtils.addFolderBeforeFileName(originFile.getPath(), "watermark"));
WatermarkConfig watermarkConfig = new WatermarkConfig.Builder()
.watermarkText(fa.getPurpose())
.fontName(WatermarkUtil.getFontName(originFile.getPath(), fa.getPurpose()))
.color(Color.RED)
.alpha(0.3f)
.angle(45)
.build();
boolean result = WatermarkUtil.addTextWatermark(originFile, watermarkFile, watermarkConfig);
List<MailAccount> accountList = mailService.getMailAccountList();
for (MailAccount account : accountList) {
try {
MailUtils.send(account, fa.getEmail(), "部门文件下载", "", false, result ? watermarkFile : originFile);
break;
} catch (Exception e) {
continue;
CompletableFuture.runAsync(() -> {
File originFile = null;
File watermarkFile = null;
try {
//发送邮件
Map<String, Object> entity = (Map<String, Object>) WorkflowUtils.getHistoricVariableByBusinessKey(processEvent.getBusinessKey(), "entity");
String url = entity.get("fileUrl").toString();
String fileName = entity.get("fileName").toString();
originFile = FileUtils.convert(url, fileName);
watermarkFile = FileUtil.touch(FileUtils.addFolderBeforeFileName(originFile.getPath(), "watermark"));
WatermarkConfig watermarkConfig = new WatermarkConfig.Builder()
.watermarkText(fa.getPurpose())
.fontName(WatermarkUtil.getFontName(originFile.getPath(), fa.getPurpose()))
.color(Color.RED)
.alpha(0.3f)
.angle(45)
.build();
boolean result = WatermarkUtil.addTextWatermark(originFile, watermarkFile, watermarkConfig);
List<MailAccount> accountList = mailService.getMailAccountList();
for (MailAccount account : accountList) {
try {
MailUtils.send(account, fa.getEmail(), "部门文件下载", "", false, result ? watermarkFile : originFile);
break;
} catch (Exception e) {
continue;
}
}
} catch (Exception e) {
e.printStackTrace();
log.info("邮件发送失败,邮箱{}", fa.getEmail());
} finally {
if (originFile != null) {
originFile.delete();
}
if (watermarkFile != null) {
watermarkFile.delete();
}
}
} catch (Exception e) {
e.printStackTrace();
log.info("邮件发送失败,邮箱{}", fa.getEmail());
} finally {
if (originFile != null) {
originFile.delete();
}
if (watermarkFile != null) {
watermarkFile.delete();
}
}
});
}
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论