| | |
| | | package com.ruoyi.quartz.domain;
|
| | |
|
| | | import java.io.Serializable;
|
| | | import java.util.Date;
|
| | | import javax.validation.constraints.NotBlank;
|
| | | import javax.validation.constraints.Size;
|
| | | import org.apache.commons.lang3.builder.ToStringBuilder;
|
| | | import org.apache.commons.lang3.builder.ToStringStyle;
|
| | | import com.fasterxml.jackson.annotation.JsonFormat;
|
| | | import com.ruoyi.common.annotation.Excel;
|
| | | import com.ruoyi.common.annotation.Excel.ColumnType;
|
| | | import com.ruoyi.common.constant.ScheduleConstants;
|
| | | import com.ruoyi.common.core.domain.BaseEntity;
|
| | | import com.ruoyi.common.utils.StringUtils;
|
| | | import com.ruoyi.quartz.util.CronUtils;
|
| | |
|
| | | /**
|
| | | * 定时任务调度表 sys_job
|
| | | * |
| | | * @author ruoyi
|
| | | */
|
| | | public class SysJob extends BaseEntity implements Serializable
|
| | | {
|
| | | private static final long serialVersionUID = 1L;
|
| | |
|
| | | /** 任务ID */
|
| | | @Excel(name = "任务序号", cellType = ColumnType.NUMERIC)
|
| | | private Long jobId;
|
| | |
|
| | | /** 任务名称 */
|
| | | @Excel(name = "任务名称")
|
| | | private String jobName;
|
| | |
|
| | | /** 任务组名 */
|
| | | @Excel(name = "任务组名")
|
| | | private String jobGroup;
|
| | |
|
| | | /** 调用目标字符串 */
|
| | | @Excel(name = "调用目标字符串")
|
| | | private String invokeTarget;
|
| | |
|
| | | /** cron执行表达式 */
|
| | | @Excel(name = "执行表达式 ")
|
| | | private String cronExpression;
|
| | |
|
| | | /** cron计划策略 */
|
| | | @Excel(name = "计划策略 ", readConverterExp = "0=默认,1=立即触发执行,2=触发一次执行,3=不触发立即执行")
|
| | | private String misfirePolicy = ScheduleConstants.MISFIRE_DEFAULT;
|
| | |
|
| | | /** 是否并发执行(0允许 1禁止) */
|
| | | @Excel(name = "并发执行", readConverterExp = "0=允许,1=禁止")
|
| | | private String concurrent;
|
| | |
|
| | | /** 任务状态(0正常 1暂停) */
|
| | | @Excel(name = "任务状态", readConverterExp = "0=正常,1=暂停")
|
| | | private String status;
|
| | |
|
| | | public Long getJobId()
|
| | | {
|
| | | return jobId;
|
| | | }
|
| | |
|
| | | public void setJobId(Long jobId)
|
| | | {
|
| | | this.jobId = jobId;
|
| | | }
|
| | |
|
| | | @NotBlank(message = "任务名称不能为空")
|
| | | @Size(min = 0, max = 64, message = "任务名称不能超过64个字符")
|
| | | public String getJobName()
|
| | | {
|
| | | return jobName;
|
| | | }
|
| | |
|
| | | public void setJobName(String jobName)
|
| | | {
|
| | | this.jobName = jobName;
|
| | | }
|
| | |
|
| | | public String getJobGroup()
|
| | | {
|
| | | return jobGroup;
|
| | | }
|
| | |
|
| | | public void setJobGroup(String jobGroup)
|
| | | {
|
| | | this.jobGroup = jobGroup;
|
| | | }
|
| | |
|
| | | @NotBlank(message = "调用目标字符串不能为空")
|
| | | @Size(min = 0, max = 500, message = "调用目标字符串长度不能超过500个字符")
|
| | | public String getInvokeTarget()
|
| | | {
|
| | | return invokeTarget;
|
| | | }
|
| | |
|
| | | public void setInvokeTarget(String invokeTarget)
|
| | | {
|
| | | this.invokeTarget = invokeTarget;
|
| | | }
|
| | |
|
| | | @NotBlank(message = "Cron执行表达式不能为空")
|
| | | @Size(min = 0, max = 255, message = "Cron执行表达式不能超过255个字符")
|
| | | public String getCronExpression()
|
| | | {
|
| | | return cronExpression;
|
| | | }
|
| | |
|
| | | public void setCronExpression(String cronExpression)
|
| | | {
|
| | | this.cronExpression = cronExpression;
|
| | | }
|
| | |
|
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
| | | public Date getNextValidTime()
|
| | | {
|
| | | if (StringUtils.isNotEmpty(cronExpression))
|
| | | {
|
| | | return CronUtils.getNextExecution(cronExpression);
|
| | | }
|
| | | return null;
|
| | | }
|
| | |
|
| | | public String getMisfirePolicy()
|
| | | {
|
| | | return misfirePolicy;
|
| | | }
|
| | |
|
| | | public void setMisfirePolicy(String misfirePolicy)
|
| | | {
|
| | | this.misfirePolicy = misfirePolicy;
|
| | | }
|
| | |
|
| | | public String getConcurrent()
|
| | | {
|
| | | return concurrent;
|
| | | }
|
| | |
|
| | | public void setConcurrent(String concurrent)
|
| | | {
|
| | | this.concurrent = concurrent;
|
| | | }
|
| | |
|
| | | public String getStatus()
|
| | | {
|
| | | return status;
|
| | | }
|
| | |
|
| | | public void setStatus(String status)
|
| | | {
|
| | | this.status = status;
|
| | | }
|
| | |
|
| | | @Override
|
| | | public String toString() {
|
| | | return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
| | | .append("jobId", getJobId())
|
| | | .append("jobName", getJobName())
|
| | | .append("jobGroup", getJobGroup())
|
| | | .append("cronExpression", getCronExpression())
|
| | | .append("nextValidTime", getNextValidTime())
|
| | | .append("misfirePolicy", getMisfirePolicy())
|
| | | .append("concurrent", getConcurrent())
|
| | | .append("status", getStatus())
|
| | | .append("createBy", getCreateBy())
|
| | | .append("createTime", getCreateTime())
|
| | | .append("updateBy", getUpdateBy())
|
| | | .append("updateTime", getUpdateTime())
|
| | | .append("remark", getRemark())
|
| | | .toString();
|
| | | }
|
| | | }
|
| | | package com.ruoyi.quartz.domain; |
| | | |
| | | import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; |
| | | import com.alibaba.excel.annotation.ExcelProperty; |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.ruoyi.common.annotation.ExcelDictFormat; |
| | | import com.ruoyi.common.constant.ScheduleConstants; |
| | | import com.ruoyi.common.convert.ExcelDictConvert; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.quartz.util.CronUtils; |
| | | import lombok.Data; |
| | | import lombok.NoArgsConstructor; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | import javax.validation.constraints.NotBlank; |
| | | import javax.validation.constraints.Size; |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 定时任务调度表 sys_job |
| | | * |
| | | * @deprecated 3.4.0删除 迁移至xxl-job |
| | | * @author ruoyi |
| | | */ |
| | | |
| | | @Data |
| | | @NoArgsConstructor |
| | | @Accessors(chain = true) |
| | | @TableName("sys_job") |
| | | @ExcelIgnoreUnannotated |
| | | public class SysJob implements Serializable { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 任务ID |
| | | */ |
| | | @ExcelProperty(value = "任务序号") |
| | | @TableId(value = "job_id", type = IdType.AUTO) |
| | | private Long jobId; |
| | | |
| | | /** |
| | | * 任务名称 |
| | | */ |
| | | @NotBlank(message = "任务名称不能为空") |
| | | @Size(min = 0, max = 64, message = "任务名称不能超过64个字符") |
| | | @ExcelProperty(value = "任务名称") |
| | | private String jobName; |
| | | |
| | | /** |
| | | * 任务组名 |
| | | */ |
| | | @ExcelProperty(value = "任务组名", converter = ExcelDictConvert.class) |
| | | @ExcelDictFormat(dictType = "sys_job_group") |
| | | private String jobGroup; |
| | | |
| | | /** |
| | | * 调用目标字符串 |
| | | */ |
| | | @NotBlank(message = "调用目标字符串不能为空") |
| | | @Size(min = 0, max = 500, message = "调用目标字符串长度不能超过500个字符") |
| | | @ExcelProperty(value = "调用目标字符串") |
| | | private String invokeTarget; |
| | | |
| | | /** |
| | | * cron执行表达式 |
| | | */ |
| | | @NotBlank(message = "Cron执行表达式不能为空") |
| | | @Size(min = 0, max = 255, message = "Cron执行表达式不能超过255个字符") |
| | | @ExcelProperty(value = "执行表达式") |
| | | private String cronExpression; |
| | | |
| | | /** |
| | | * cron计划策略 |
| | | */ |
| | | @ExcelProperty(value = "计划策略 ", converter = ExcelDictConvert.class) |
| | | @ExcelDictFormat(readConverterExp = "0=默认,1=立即触发执行,2=触发一次执行,3=不触发立即执行") |
| | | private String misfirePolicy = ScheduleConstants.MISFIRE_DEFAULT; |
| | | |
| | | /** |
| | | * 是否并发执行(0允许 1禁止) |
| | | */ |
| | | @ExcelProperty(value = "并发执行", converter = ExcelDictConvert.class) |
| | | @ExcelDictFormat(readConverterExp = "0=允许,1=禁止") |
| | | private String concurrent; |
| | | |
| | | /** |
| | | * 任务状态(0正常 1暂停) |
| | | */ |
| | | @ExcelProperty(value = "任务状态", converter = ExcelDictConvert.class) |
| | | @ExcelDictFormat(dictType = "sys_job_status") |
| | | private String status; |
| | | |
| | | /** |
| | | * 创建者 |
| | | */ |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | /** |
| | | * 创建时间 |
| | | */ |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Date createTime; |
| | | |
| | | /** |
| | | * 更新者 |
| | | */ |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | /** |
| | | * 更新时间 |
| | | */ |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Date updateTime; |
| | | |
| | | /** |
| | | * 备注 |
| | | */ |
| | | private String remark; |
| | | |
| | | /** |
| | | * 请求参数 |
| | | */ |
| | | @TableField(exist = false) |
| | | private Map<String, Object> params = new HashMap<>(); |
| | | |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | public Date getNextValidTime() { |
| | | if (StringUtils.isNotEmpty(cronExpression)) { |
| | | return CronUtils.getNextExecution(cronExpression); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | } |