From 8aadcbe920f02806b9fa363b386d3d6c693c5c56 Mon Sep 17 00:00:00 2001
From: dongyukun <1208714201@qq.com>
Date: 星期五, 07 二月 2025 16:49:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/utils/ScheduleJob.java |   30 +++++++++++++++++++-----------
 1 files changed, 19 insertions(+), 11 deletions(-)

diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/utils/ScheduleJob.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/utils/ScheduleJob.java
index 489738f..5dd970a 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/utils/ScheduleJob.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/utils/ScheduleJob.java
@@ -1,19 +1,14 @@
-/**
- * Copyright (c) 2018 人人开源 All rights reserved.
- *
- * https://www.renren.io
- *
- * 版权所有,侵权必究!
- */
-
 package com.iailab.module.data.job.utils;
 
 import com.iailab.framework.common.constant.Constant;
 import com.iailab.framework.common.exception.ExceptionUtils;
 import com.iailab.framework.common.util.spring.SpringContextUtils;
-import com.iailab.module.data.job.entity.ScheduleJobEntity;
+import com.iailab.framework.tenant.core.context.TenantContextHolder;
+import com.iailab.module.data.job.config.ScheduleJobListConfig;
 import com.iailab.module.data.job.entity.ScheduleJobEntity;
 import com.iailab.module.data.job.entity.ScheduleJobLogEntity;
+import com.iailab.module.data.job.service.ScheduleJobLogService;
+import org.quartz.DisallowConcurrentExecution;
 import org.quartz.JobExecutionContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -28,6 +23,7 @@
  *
  * @author Mark sunlightcs@gmail.com
  */
+@DisallowConcurrentExecution
 public class ScheduleJob extends QuartzJobBean {
 	private Logger logger = LoggerFactory.getLogger(getClass());
 
@@ -36,12 +32,24 @@
         ScheduleJobEntity scheduleJob = (ScheduleJobEntity) context.getMergedJobDataMap().
 				get(ScheduleUtils.JOB_PARAM_KEY);
 
+		// 过滤定时任务
+		if (!ScheduleJobListConfig.scheduleJobList.contains(scheduleJob.getBeanName())) {
+			logger.info("过滤定时任务,BeanName=" + scheduleJob.getBeanName());
+			return;
+		}
+
+        //设置当前租户
+		TenantContextHolder.setTenantId(scheduleJob.getTenantId());
+		Long tenantId = TenantContextHolder.getRequiredTenantId();
+
         //数据库保存执行记录
         ScheduleJobLogEntity log = new ScheduleJobLogEntity();
+		log.setId(System.currentTimeMillis());
         log.setJobId(scheduleJob.getId());
         log.setBeanName(scheduleJob.getBeanName());
         log.setParams(scheduleJob.getParams());
 		log.setCreateDate(new Date());
+		log.setTenantId(tenantId);
 
         //任务开始时间
         long startTime = System.currentTimeMillis();
@@ -72,8 +80,8 @@
 			log.setError(ExceptionUtils.getErrorStackTrace(e));
 		}finally {
 			//获取spring bean
-			/*ScheduleJobLogService scheduleJobLogService = SpringContextUtils.getBean(ScheduleJobLogService.class);
-			scheduleJobLogService.insert(log);*/
+			ScheduleJobLogService scheduleJobLogService = SpringContextUtils.getBean(ScheduleJobLogService.class);
+			//scheduleJobLogService.insert(log);
 		}
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3