fix(X-Pack): 定时报告pdf文件名根据仪表板名称生成
This commit is contained in:
parent
052dd1e86e
commit
508d79a74a
@ -9,6 +9,7 @@ import io.dataease.commons.model.AuthURD;
|
||||
import io.dataease.commons.utils.*;
|
||||
import io.dataease.dto.PermissionProxy;
|
||||
import io.dataease.dto.chart.ViewOption;
|
||||
import io.dataease.dto.panel.PanelGroupDTO;
|
||||
import io.dataease.ext.ExtTaskMapper;
|
||||
import io.dataease.job.sechedule.ScheduleManager;
|
||||
import io.dataease.job.sechedule.strategy.TaskHandler;
|
||||
@ -31,6 +32,7 @@ import io.dataease.plugins.xpack.wecom.dto.entity.WecomMsgResult;
|
||||
import io.dataease.plugins.xpack.wecom.service.WecomXpackService;
|
||||
import io.dataease.service.chart.ChartViewService;
|
||||
import io.dataease.service.chart.ViewExportExcel;
|
||||
import io.dataease.service.panel.PanelGroupService;
|
||||
import io.dataease.service.sys.SysUserService;
|
||||
import io.dataease.service.system.EmailService;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
@ -269,7 +271,9 @@ public class EmailTaskHandler extends TaskHandler implements Job {
|
||||
emailService.sendWithImageAndFiles(recipients, emailTemplateDTO.getTitle(), contentStr, bytes, files);
|
||||
} else {
|
||||
bytes = emailXpackService.printPdf(url, token, xpackPixelEntity, false, true);
|
||||
emailService.sendPdfWithFiles(recipients, emailTemplateDTO.getTitle(), contentStr, bytes, files);
|
||||
PanelGroupDTO panelInfo = CommonBeanFactory.getBean(PanelGroupService.class).findOne(panelId);
|
||||
String pdfFileName = panelInfo.getName() + "pdf";
|
||||
emailService.sendPdfWithFiles(recipients, emailTemplateDTO.getTitle(), contentStr, bytes, files, pdfFileName);
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
|
||||
@ -83,7 +83,7 @@ public class EmailService {
|
||||
}
|
||||
|
||||
|
||||
public void sendPdfWithFiles(String to, String title, String content, byte[] bytes, List<File> files) {
|
||||
public void sendPdfWithFiles(String to, String title, String content, byte[] bytes, List<File> files, String pdfFileName) {
|
||||
if (ArrayUtils.isEmpty(bytes)) {
|
||||
send(to, title, content);
|
||||
return;
|
||||
@ -98,7 +98,7 @@ public class EmailService {
|
||||
MimeMessage mimeMessage = driver.createMimeMessage();
|
||||
try {
|
||||
multipart = addContent(multipart, content);
|
||||
multipart = addPdf(multipart, bytes);
|
||||
multipart = addPdf(multipart, bytes, pdfFileName);
|
||||
if (CollectionUtils.isNotEmpty(files)) {
|
||||
multipart = addFiles(multipart, files);
|
||||
}
|
||||
@ -165,11 +165,11 @@ public class EmailService {
|
||||
return multipart;
|
||||
}
|
||||
|
||||
private MimeMultipart addPdf(MimeMultipart multipart, byte[] bytes) throws Exception {
|
||||
private MimeMultipart addPdf(MimeMultipart multipart, byte[] bytes, String pdfFileName) throws Exception {
|
||||
MimeBodyPart attach = new MimeBodyPart();
|
||||
ByteArrayDataSource fileDataSource = new ByteArrayDataSource(bytes, "application/pdf");
|
||||
attach.setDataHandler(new DataHandler(fileDataSource));
|
||||
attach.setFileName(MimeUtility.encodeText("panel.pdf", "gb2312", null));
|
||||
attach.setFileName(MimeUtility.encodeText(pdfFileName, "gb2312", null));
|
||||
multipart.addBodyPart(attach);
|
||||
multipart.setSubType("related");
|
||||
return multipart;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user