feat(定时报告): 富文本编辑器
This commit is contained in:
parent
f51f02a57a
commit
164d398ca5
@ -41,6 +41,7 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import org.quartz.*;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.util.HtmlUtils;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.io.File;
|
||||
@ -67,9 +68,7 @@ public class EmailTaskHandler extends TaskHandler implements Job {
|
||||
protected JobDataMap jobDataMap(GlobalTaskEntity taskEntity) {
|
||||
JobDataMap jobDataMap = new JobDataMap();
|
||||
jobDataMap.put("taskEntity", taskEntity);
|
||||
EmailXpackService emailXpackService = SpringContextUtil.getBean(EmailXpackService.class);
|
||||
XpackEmailTemplateDTO emailTemplateDTO = emailXpackService.emailTemplate(taskEntity.getTaskId());
|
||||
jobDataMap.put("emailTemplate", emailTemplateDTO);
|
||||
|
||||
SysUserEntity creator = authUserServiceImpl.getUserByIdNoCache(taskEntity.getCreator());
|
||||
jobDataMap.put("creator", creator);
|
||||
return jobDataMap;
|
||||
@ -109,10 +108,9 @@ public class EmailTaskHandler extends TaskHandler implements Job {
|
||||
Long instanceId = saveInstance(taskInstance);
|
||||
taskInstance.setInstanceId(instanceId);
|
||||
|
||||
XpackEmailTemplateDTO emailTemplate = (XpackEmailTemplateDTO) jobDataMap.get("emailTemplate");
|
||||
SysUserEntity creator = (SysUserEntity) jobDataMap.get("creator");
|
||||
LogUtil.info("start execute send panel report task...");
|
||||
proxy(taskEntity.getTaskType()).sendReport(taskInstance, emailTemplate, creator, isTempTask);
|
||||
proxy(taskEntity.getTaskType()).sendReport(taskInstance, creator, isTempTask);
|
||||
if (isTempTask) {
|
||||
removeTask(scheduleManager, taskEntity);
|
||||
}
|
||||
@ -160,13 +158,14 @@ public class EmailTaskHandler extends TaskHandler implements Job {
|
||||
}
|
||||
|
||||
@Async("priorityExecutor")
|
||||
public void sendReport(GlobalTaskInstance taskInstance, XpackEmailTemplateDTO emailTemplateDTO, SysUserEntity user, Boolean isTempTask) {
|
||||
public void sendReport(GlobalTaskInstance taskInstance, SysUserEntity user, Boolean isTempTask) {
|
||||
|
||||
EmailXpackService emailXpackService = SpringContextUtil.getBean(EmailXpackService.class);
|
||||
AuthUserServiceImpl userService = SpringContextUtil.getBean(AuthUserServiceImpl.class);
|
||||
SysUserService sysUserService = SpringContextUtil.getBean(SysUserService.class);
|
||||
List<File> files = null;
|
||||
try {
|
||||
XpackEmailTemplateDTO emailTemplateDTO = emailXpackService.emailTemplate(taskInstance.getTaskId());
|
||||
XpackEmailTaskRequest taskForm = emailXpackService.taskForm(taskInstance.getTaskId());
|
||||
if (ObjectUtils.isEmpty(taskForm) || (!isTempTask && CronUtils.taskExpire(taskForm.getEndTime()))) {
|
||||
removeInstance(taskInstance);
|
||||
@ -202,7 +201,7 @@ public class EmailTaskHandler extends TaskHandler implements Job {
|
||||
|
||||
String contentStr = "";
|
||||
if (ObjectUtils.isNotEmpty(content)) {
|
||||
contentStr = new String(content, "UTF-8");
|
||||
contentStr = HtmlUtils.htmlUnescape(new String(content, "UTF-8"));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -4,20 +4,17 @@ import io.dataease.auth.entity.SysUserEntity;
|
||||
|
||||
import io.dataease.plugins.common.entity.GlobalTaskInstance;
|
||||
|
||||
import io.dataease.plugins.xpack.email.dto.response.XpackEmailTemplateDTO;
|
||||
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
|
||||
@Service("emailTaskViewHandler")
|
||||
public class EmailTaskViewHandler extends EmailTaskHandler {
|
||||
|
||||
|
||||
@Async("priorityExecutor")
|
||||
public void sendReport(GlobalTaskInstance taskInstance, XpackEmailTemplateDTO emailTemplateDTO, SysUserEntity user, Boolean isTempTask) {
|
||||
super.sendReport(taskInstance, emailTemplateDTO, user, isTempTask);
|
||||
public void sendReport(GlobalTaskInstance taskInstance, SysUserEntity user, Boolean isTempTask) {
|
||||
super.sendReport(taskInstance, user, isTempTask);
|
||||
}
|
||||
}
|
||||
|
||||
@ -28,6 +28,7 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.util.HtmlUtils;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
import java.io.*;
|
||||
@ -136,6 +137,9 @@ public class XEmailTaskServer {
|
||||
String emailContent;
|
||||
try {
|
||||
emailContent = new String(bytes, "UTF-8");
|
||||
if (StringUtils.isNotBlank(emailContent)) {
|
||||
emailContent = HtmlUtils.htmlUnescape(emailContent);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
@ -176,7 +180,7 @@ public class XEmailTaskServer {
|
||||
}
|
||||
String imageUrl = "/system/ui/image/" + fileId;
|
||||
String html = "<div>" +
|
||||
"<h2>" + content + "</h2>" +
|
||||
content +
|
||||
"<img style='width: 100%;' id='" + panelId + "' src='" + imageUrl + "' />" +
|
||||
"</div>";
|
||||
|
||||
|
||||
@ -39,3 +39,10 @@ WHERE (`component` = 'msg/setting');
|
||||
|
||||
ALTER TABLE `panel_group`
|
||||
ADD COLUMN `panel_sort` bigint(13) NULL COMMENT '排序' AFTER `watermark_open`;
|
||||
|
||||
|
||||
|
||||
|
||||
ALTER TABLE `sys_task_email`
|
||||
CHANGE COLUMN `content` `content` MEDIUMBLOB NULL DEFAULT NULL COMMENT '内容' ;
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user