SysJob.java 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. package com.ruoyi.job.domain;
  2. import java.util.Date;
  3. import javax.validation.constraints.NotBlank;
  4. import javax.validation.constraints.Size;
  5. import org.apache.commons.lang3.builder.ToStringBuilder;
  6. import org.apache.commons.lang3.builder.ToStringStyle;
  7. import com.fasterxml.jackson.annotation.JsonFormat;
  8. import com.ruoyi.common.core.annotation.Excel;
  9. import com.ruoyi.common.core.annotation.Excel.ColumnType;
  10. import com.ruoyi.common.core.constant.ScheduleConstants;
  11. import com.ruoyi.common.core.utils.StringUtils;
  12. import com.ruoyi.common.core.web.domain.BaseEntity;
  13. import com.ruoyi.job.util.CronUtils;
  14. /**
  15. * 定时任务调度表 sys_job
  16. *
  17. * @author ruoyi
  18. */
  19. public class SysJob extends BaseEntity
  20. {
  21. private static final long serialVersionUID = 1L;
  22. /** 任务ID */
  23. @Excel(name = "任务序号", cellType = ColumnType.NUMERIC)
  24. private Long jobId;
  25. /** 任务名称 */
  26. @Excel(name = "任务名称")
  27. private String jobName;
  28. /** 任务组名 */
  29. @Excel(name = "任务组名")
  30. private String jobGroup;
  31. /** 调用目标字符串 */
  32. @Excel(name = "调用目标字符串")
  33. private String invokeTarget;
  34. /** cron执行表达式 */
  35. @Excel(name = "执行表达式 ")
  36. private String cronExpression;
  37. /** cron计划策略 */
  38. @Excel(name = "计划策略 ", readConverterExp = "0=默认,1=立即触发执行,2=触发一次执行,3=不触发立即执行")
  39. private String misfirePolicy = ScheduleConstants.MISFIRE_DEFAULT;
  40. /** 是否并发执行(0允许 1禁止) */
  41. @Excel(name = "并发执行", readConverterExp = "0=允许,1=禁止")
  42. private String concurrent;
  43. /** 任务状态(0正常 1暂停) */
  44. @Excel(name = "任务状态", readConverterExp = "0=正常,1=暂停")
  45. private String status;
  46. public Long getJobId()
  47. {
  48. return jobId;
  49. }
  50. public void setJobId(Long jobId)
  51. {
  52. this.jobId = jobId;
  53. }
  54. @NotBlank(message = "任务名称不能为空")
  55. @Size(min = 0, max = 64, message = "任务名称不能超过64个字符")
  56. public String getJobName()
  57. {
  58. return jobName;
  59. }
  60. public void setJobName(String jobName)
  61. {
  62. this.jobName = jobName;
  63. }
  64. public String getJobGroup()
  65. {
  66. return jobGroup;
  67. }
  68. public void setJobGroup(String jobGroup)
  69. {
  70. this.jobGroup = jobGroup;
  71. }
  72. @NotBlank(message = "调用目标字符串不能为空")
  73. @Size(min = 0, max = 500, message = "调用目标字符串长度不能超过500个字符")
  74. public String getInvokeTarget()
  75. {
  76. return invokeTarget;
  77. }
  78. public void setInvokeTarget(String invokeTarget)
  79. {
  80. this.invokeTarget = invokeTarget;
  81. }
  82. @NotBlank(message = "Cron执行表达式不能为空")
  83. @Size(min = 0, max = 255, message = "Cron执行表达式不能超过255个字符")
  84. public String getCronExpression()
  85. {
  86. return cronExpression;
  87. }
  88. public void setCronExpression(String cronExpression)
  89. {
  90. this.cronExpression = cronExpression;
  91. }
  92. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  93. public Date getNextValidTime()
  94. {
  95. if (StringUtils.isNotEmpty(cronExpression))
  96. {
  97. return CronUtils.getNextExecution(cronExpression);
  98. }
  99. return null;
  100. }
  101. public String getMisfirePolicy()
  102. {
  103. return misfirePolicy;
  104. }
  105. public void setMisfirePolicy(String misfirePolicy)
  106. {
  107. this.misfirePolicy = misfirePolicy;
  108. }
  109. public String getConcurrent()
  110. {
  111. return concurrent;
  112. }
  113. public void setConcurrent(String concurrent)
  114. {
  115. this.concurrent = concurrent;
  116. }
  117. public String getStatus()
  118. {
  119. return status;
  120. }
  121. public void setStatus(String status)
  122. {
  123. this.status = status;
  124. }
  125. @Override
  126. public String toString() {
  127. return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
  128. .append("jobId", getJobId())
  129. .append("jobName", getJobName())
  130. .append("jobGroup", getJobGroup())
  131. .append("cronExpression", getCronExpression())
  132. .append("nextValidTime", getNextValidTime())
  133. .append("misfirePolicy", getMisfirePolicy())
  134. .append("concurrent", getConcurrent())
  135. .append("status", getStatus())
  136. .append("createBy", getCreateBy())
  137. .append("createTime", getCreateTime())
  138. .append("updateBy", getUpdateBy())
  139. .append("updateTime", getUpdateTime())
  140. .append("remark", getRemark())
  141. .toString();
  142. }
  143. }