houzhongjian
2024-10-30 a28ca3f36d0ace05966a8c0fac1e4b5fe921f882
iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/utils/ScheduleJob.java
@@ -1,19 +1,13 @@
/**
 * 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.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 +22,7 @@
 *
 * @author Mark sunlightcs@gmail.com
 */
@DisallowConcurrentExecution
public class ScheduleJob extends QuartzJobBean {
   private Logger logger = LoggerFactory.getLogger(getClass());
@@ -36,12 +31,18 @@
        ScheduleJobEntity scheduleJob = (ScheduleJobEntity) context.getMergedJobDataMap().
            get(ScheduleUtils.JOB_PARAM_KEY);
        //设置当前租户
      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 +73,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);
      }
    }
}