From e1adaa5a09f919ff72e3758fb05da00c1df329a4 Mon Sep 17 00:00:00 2001
From: "1437892690@qq.com" <1437892690@qq.com>
Date: Wed, 11 Jun 2025 19:18:08 +0800
Subject: [PATCH] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20=E5=AE=9A=E6=97=B6?=
=?UTF-8?q?=E4=BD=9C=E4=B8=9A=E7=AE=A1=E7=90=86=E9=A1=B5=E5=A2=9E=E5=8A=A0?=
=?UTF-8?q?=E4=B8=80=E5=88=97=E6=98=BE=E7=A4=BA=E4=BD=9C=E4=B8=9A=E6=98=AF?=
=?UTF-8?q?=E5=90=A6=E5=B7=B2=E5=8A=A0=E8=BD=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
关联 #[1441426846482432]定时作业管理页增加一列显示作业是否已加载 http://192.168.0.96:8090/demo/rdm.html#/story-detail/939050947543040/939050947543042/1441426846482432
---
.../api/schedule/ReportSendJobSearchApi.java | 22 +++++++++---
.../module/report/dto/ReportSendJobVo.java | 10 ++++++
.../report/schedule/plugin/ReportSendJob.java | 35 +++++++++++--------
3 files changed, 47 insertions(+), 20 deletions(-)
diff --git a/src/main/java/neatlogic/module/report/api/schedule/ReportSendJobSearchApi.java b/src/main/java/neatlogic/module/report/api/schedule/ReportSendJobSearchApi.java
index 1640090..4b2bf83 100644
--- a/src/main/java/neatlogic/module/report/api/schedule/ReportSendJobSearchApi.java
+++ b/src/main/java/neatlogic/module/report/api/schedule/ReportSendJobSearchApi.java
@@ -15,6 +15,9 @@ along with this program. If not, see .*/
package neatlogic.module.report.api.schedule;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.TypeReference;
import neatlogic.framework.auth.core.AuthAction;
import neatlogic.framework.common.constvalue.ApiParamType;
import neatlogic.framework.common.dto.BaseEditorVo;
@@ -22,14 +25,14 @@ import neatlogic.framework.common.util.PageUtil;
import neatlogic.framework.restful.annotation.*;
import neatlogic.framework.restful.constvalue.OperationTypeEnum;
import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase;
+import neatlogic.framework.scheduler.core.IJob;
+import neatlogic.framework.scheduler.core.SchedulerManager;
import neatlogic.framework.scheduler.dao.mapper.SchedulerMapper;
import neatlogic.framework.scheduler.dto.JobAuditVo;
import neatlogic.module.report.auth.label.REPORT_BASE;
import neatlogic.module.report.dao.mapper.ReportSendJobMapper;
import neatlogic.module.report.dto.ReportSendJobVo;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.alibaba.fastjson.TypeReference;
+import neatlogic.module.report.schedule.plugin.ReportSendJob;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
@@ -48,6 +51,9 @@ public class ReportSendJobSearchApi extends PrivateApiComponentBase {
@Resource
private SchedulerMapper schedulerMapper;
+ @Resource
+ private SchedulerManager schedulerManager;
+
@Override
public String getToken() {
return "report/sendjob/search";
@@ -102,8 +108,8 @@ public class ReportSendJobSearchApi extends PrivateApiComponentBase {
/* 查询发送次数与收件人 */
if (CollectionUtils.isNotEmpty(jobList)) {
List toList = reportSendJobMapper.getReportToList(jobList.stream().map(ReportSendJobVo::getId).collect(Collectors.toList()));
- if (CollectionUtils.isNotEmpty(toList)) {
- for (ReportSendJobVo job : jobList) {
+ for (ReportSendJobVo job : jobList) {
+ if (CollectionUtils.isNotEmpty(toList)) {
for (ReportSendJobVo to : toList) {
JobAuditVo jobAuditVo = new JobAuditVo();
jobAuditVo.setJobUuid(job.getId().toString());
@@ -114,6 +120,12 @@ public class ReportSendJobSearchApi extends PrivateApiComponentBase {
}
}
}
+ boolean isLoad = false;
+ IJob jobHandler = SchedulerManager.getHandler(ReportSendJob.class.getName());
+ if (jobHandler != null) {
+ isLoad = schedulerManager.checkJobIsExists(job.getId().toString(), jobHandler.getGroupName());
+ }
+ job.setIsLoad(isLoad ? 1 : 0);
}
}
returnObj.put("jobList", jobList);
diff --git a/src/main/java/neatlogic/module/report/dto/ReportSendJobVo.java b/src/main/java/neatlogic/module/report/dto/ReportSendJobVo.java
index 26c07b4..986fdbf 100755
--- a/src/main/java/neatlogic/module/report/dto/ReportSendJobVo.java
+++ b/src/main/java/neatlogic/module/report/dto/ReportSendJobVo.java
@@ -43,6 +43,8 @@ public class ReportSendJobVo extends BaseEditorVo {
private List reportRelationList;
@EntityField(name = "报表列表", type = ApiParamType.JSONARRAY)
private List reportList;
+ @EntityField(name = "是否已加载", type = ApiParamType.INTEGER)
+ private Integer isLoad;
public Long getId() {
if (id == null) {
@@ -174,4 +176,12 @@ public class ReportSendJobVo extends BaseEditorVo {
public void setReportList(List reportList) {
this.reportList = reportList;
}
+
+ public Integer getIsLoad() {
+ return isLoad;
+ }
+
+ public void setIsLoad(Integer isLoad) {
+ this.isLoad = isLoad;
+ }
}
diff --git a/src/main/java/neatlogic/module/report/schedule/plugin/ReportSendJob.java b/src/main/java/neatlogic/module/report/schedule/plugin/ReportSendJob.java
index 7a4ffd4..91f616a 100644
--- a/src/main/java/neatlogic/module/report/schedule/plugin/ReportSendJob.java
+++ b/src/main/java/neatlogic/module/report/schedule/plugin/ReportSendJob.java
@@ -15,6 +15,7 @@ along with this program. If not, see .*/
package neatlogic.module.report.schedule.plugin;
+import com.alibaba.fastjson.JSONObject;
import neatlogic.framework.asynchronization.threadlocal.TenantContext;
import neatlogic.framework.dao.mapper.UserMapper;
import neatlogic.framework.dto.UserVo;
@@ -31,7 +32,6 @@ import neatlogic.module.report.dto.ReportSendJobVo;
import neatlogic.module.report.dto.ReportVo;
import neatlogic.module.report.service.ReportService;
import neatlogic.module.report.util.ReportFreemarkerUtil;
-import com.alibaba.fastjson.JSONObject;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;
@@ -110,8 +110,10 @@ public class ReportSendJob extends JobBase {
/* 获取报表发送计划*/
ReportSendJobVo sendJob = reportSendJobMapper.getJobById(id);
Map reportMap = null;
- String to = null;
- String cc = null;
+ List toEmailList = new ArrayList<>();
+ List ccEmailList = new ArrayList<>();
+// String to = null;
+// String cc = null;
boolean canExec = false;
if (sendJob != null && Objects.equals(sendJob.getIsActive(), 1)) {
List relatedReportList = sendJob.getReportRelationList();
@@ -121,24 +123,23 @@ public class ReportSendJob extends JobBase {
}
/* 获取收件人与抄送人 */
List receiverList = sendJob.getReceiverList();
- List toEmailList = new ArrayList<>();
- List ccEmailList = new ArrayList<>();
getReceiverList(receiverList, toEmailList, ccEmailList);
- if (CollectionUtils.isNotEmpty(toEmailList)) {
- to = String.join(",", toEmailList);
- }
- if (CollectionUtils.isNotEmpty(ccEmailList)) {
- cc = String.join(",", ccEmailList);
- }
- if (MapUtils.isNotEmpty(reportMap) && StringUtils.isNotBlank(to)) {
+// if (CollectionUtils.isNotEmpty(toEmailList)) {
+// to = String.join(",", toEmailList);
+// }
+// if (CollectionUtils.isNotEmpty(ccEmailList)) {
+// cc = String.join(",", ccEmailList);
+// }
+ if (MapUtils.isNotEmpty(reportMap) && CollectionUtils.isNotEmpty(toEmailList)) {
canExec = true;
}
}
if (canExec) {
/* 发送邮件 */
try {
- EmailUtil.sendEmailWithFile(sendJob.getEmailTitle(), sendJob.getEmailContent(), to, cc, reportMap);
+ EmailUtil.sendEmailWithFile(sendJob.getEmailTitle(), sendJob.getEmailContent(), toEmailList, ccEmailList, reportMap);
} catch (Exception e) {
+ logger.error(e.getMessage(), e);
throw new JobExecutionException(e.getMessage());
}
@@ -162,14 +163,18 @@ public class ReportSendJob extends JobBase {
if ("to".equals(vo.getType())) { //收件人
if (!vo.getReceiver().contains("@")) {
UserVo user = userMapper.getUserBaseInfoByUuid(vo.getReceiver());
- toEmailList.add(user.getEmail());
+ if (user != null && StringUtils.isNotBlank(user.getEmail())) {
+ toEmailList.add(user.getEmail());
+ }
} else {
toEmailList.add(vo.getReceiver());
}
} else if ("cc".equals(vo.getType())) { //抄送人
if (!vo.getReceiver().contains("@")) {
UserVo user = userMapper.getUserBaseInfoByUuid(vo.getReceiver());
- ccEmailList.add(user.getEmail());
+ if (user != null && StringUtils.isNotBlank(user.getEmail())) {
+ ccEmailList.add(user.getEmail());
+ }
} else {
ccEmailList.add(vo.getReceiver());
}
--
Gitee