From 0a7cf6e8bf35af2bf154707d6ab936edaf71eff9 Mon Sep 17 00:00:00 2001
From: yaowanxin <3588231647@qq.com>
Date: 星期五, 26 九月 2025 15:36:41 +0800
Subject: [PATCH] 档案管理-根据书籍id查借阅记录接口-改注解
---
src/main/java/com/ruoyi/common/utils/job/ScheduleUtils.java | 32 ++++++++++++++++++++++++++++++--
1 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/ruoyi/common/utils/job/ScheduleUtils.java b/src/main/java/com/ruoyi/common/utils/job/ScheduleUtils.java
index bfadce2..85a139c 100644
--- a/src/main/java/com/ruoyi/common/utils/job/ScheduleUtils.java
+++ b/src/main/java/com/ruoyi/common/utils/job/ScheduleUtils.java
@@ -10,9 +10,12 @@
import org.quartz.SchedulerException;
import org.quartz.TriggerBuilder;
import org.quartz.TriggerKey;
+import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.constant.ScheduleConstants;
import com.ruoyi.common.exception.job.TaskException;
import com.ruoyi.common.exception.job.TaskException.Code;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.project.monitor.domain.SysJob;
/**
@@ -80,7 +83,12 @@
scheduler.deleteJob(getJobKey(jobId, jobGroup));
}
- scheduler.scheduleJob(jobDetail, trigger);
+ // 鍒ゆ柇浠诲姟鏄惁杩囨湡
+ if (StringUtils.isNotNull(CronUtils.getNextExecution(job.getCronExpression())))
+ {
+ // 鎵ц璋冨害浠诲姟
+ scheduler.scheduleJob(jobDetail, trigger);
+ }
// 鏆傚仠浠诲姟
if (job.getStatus().equals(ScheduleConstants.Status.PAUSE.getValue()))
@@ -110,4 +118,24 @@
+ "' cannot be used in cron schedule tasks", Code.CONFIG_ERROR);
}
}
-}
\ No newline at end of file
+
+ /**
+ * 妫�鏌ュ寘鍚嶆槸鍚︿负鐧藉悕鍗曢厤缃�
+ *
+ * @param invokeTarget 鐩爣瀛楃涓�
+ * @return 缁撴灉
+ */
+ public static boolean whiteList(String invokeTarget)
+ {
+ String packageName = StringUtils.substringBefore(invokeTarget, "(");
+ int count = StringUtils.countMatches(packageName, ".");
+ if (count > 1)
+ {
+ return StringUtils.containsAnyIgnoreCase(invokeTarget, Constants.JOB_WHITELIST_STR);
+ }
+ Object obj = SpringUtils.getBean(StringUtils.split(invokeTarget, ".")[0]);
+ String beanPackageName = obj.getClass().getPackage().getName();
+ return StringUtils.containsAnyIgnoreCase(beanPackageName, Constants.JOB_WHITELIST_STR)
+ && !StringUtils.containsAnyIgnoreCase(beanPackageName, Constants.JOB_ERROR_STR);
+ }
+}
--
Gitblit v1.9.3