SysJob.java 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package com.ruoyi.quartz.domain;
  2. import java.io.Serializable;
  3. import java.util.Date;
  4. import javax.validation.constraints.NotBlank;
  5. import javax.validation.constraints.Size;
  6. import org.apache.commons.lang3.builder.ToStringBuilder;
  7. import org.apache.commons.lang3.builder.ToStringStyle;
  8. import com.fasterxml.jackson.annotation.JsonFormat;
  9. import com.ruoyi.common.annotation.Excel;
  10. import com.ruoyi.common.annotation.Excel.ColumnType;
  11. import com.ruoyi.common.constant.ScheduleConstants;
  12. import com.ruoyi.common.core.domain.BaseEntity;
  13. import com.ruoyi.common.utils.StringUtils;
  14. import com.ruoyi.quartz.util.CronUtils;
  15. /**
  16. * 定时任务调度表 sys_job
  17. *
  18. * @author ruoyi
  19. */
  20. public class SysJob extends BaseEntity implements Serializable
  21. {
  22. private static final long serialVersionUID = 1L;
  23. /** 任务ID */
  24. @Excel(name = "任务序号", cellType = ColumnType.NUMERIC)
  25. private Long jobId;
  26. /** 任务名称 */
  27. @Excel(name = "任务名称")
  28. private String jobName;
  29. /** 任务组名 */
  30. @Excel(name = "任务组名")
  31. private String jobGroup;
  32. /** 调用目标字符串 */
  33. @Excel(name = "调用目标字符串")
  34. private String invokeTarget;
  35. /** cron执行表达式 */
  36. @Excel(name = "执行表达式 ")
  37. private String cronExpression;
  38. /** cron计划策略 */
  39. @Excel(name = "计划策略 ", readConverterExp = "0=默认,1=立即触发执行,2=触发一次执行,3=不触发立即执行")
  40. private String misfirePolicy = ScheduleConstants.MISFIRE_DEFAULT;
  41. /** 是否并发执行(0允许 1禁止) */
  42. @Excel(name = "并发执行", readConverterExp = "0=允许,1=禁止")
  43. private String concurrent;
  44. /** 任务状态(0正常 1暂停) */
  45. @Excel(name = "任务状态", readConverterExp = "0=正常,1=暂停")
  46. private String status;
  47. @NotBlank(message = "任务名称不能为空")
  48. @Size(min = 0, max = 64, message = "任务名称不能超过64个字符")
  49. public String getJobName()
  50. {
  51. return jobName;
  52. }
  53. @NotBlank(message = "调用目标字符串不能为空")
  54. @Size(min = 0, max = 500, message = "调用目标字符串长度不能超过500个字符")
  55. public String getInvokeTarget()
  56. {
  57. return invokeTarget;
  58. }
  59. @NotBlank(message = "Cron执行表达式不能为空")
  60. @Size(min = 0, max = 255, message = "Cron执行表达式不能超过255个字符")
  61. public String getCronExpression()
  62. {
  63. return cronExpression;
  64. }
  65. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  66. public Date getNextValidTime()
  67. {
  68. if (StringUtils.isNotEmpty(cronExpression))
  69. {
  70. return CronUtils.getNextExecution(cronExpression);
  71. }
  72. return null;
  73. }
  74. }