JobBriefing.java 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. package net.yyc.quartz.entity;
  2. import lombok.AllArgsConstructor;
  3. import lombok.Builder;
  4. import lombok.Data;
  5. import lombok.NoArgsConstructor;
  6. import java.time.LocalDate;
  7. import java.time.LocalDateTime;
  8. import java.util.List;
  9. /**
  10. * 每日简报数据模型
  11. */
  12. @Data
  13. @Builder
  14. @NoArgsConstructor
  15. @AllArgsConstructor
  16. public class JobBriefing {
  17. /**
  18. * 报告日期
  19. */
  20. private LocalDate reportDate;
  21. /**
  22. * 任务统计列表
  23. */
  24. private List<JobStatInfo> jobStats;
  25. /**
  26. * 错过执行的任务列表
  27. */
  28. private List<MissedJobInfo> missedJobs;
  29. /**
  30. * 生成时间
  31. */
  32. private LocalDateTime generatedAt;
  33. @Data
  34. @Builder
  35. @NoArgsConstructor
  36. @AllArgsConstructor
  37. public static class JobStatInfo {
  38. /**
  39. * 任务ID
  40. */
  41. private Integer jobId;
  42. /**
  43. * 任务名称
  44. */
  45. private String jobName;
  46. /**
  47. * 任务组
  48. */
  49. private String jobGroup;
  50. /**
  51. * 任务状态(1已发布 2运行中 3暂停)
  52. */
  53. private String jobStatus;
  54. /**
  55. * 下次执行时间
  56. */
  57. private LocalDateTime nextExecuteTime;
  58. /**
  59. * 执行次数
  60. */
  61. private int execCount;
  62. /**
  63. * 成功次数
  64. */
  65. private int successCount;
  66. /**
  67. * 失败次数
  68. */
  69. private int failCount;
  70. /**
  71. * 成功率
  72. */
  73. private double successRate;
  74. /**
  75. * 平均执行时间(ms)
  76. */
  77. private long avgExecuteTime;
  78. /**
  79. * 最后执行时间
  80. */
  81. private LocalDateTime lastExecuteTime;
  82. /**
  83. * 最后执行状态
  84. */
  85. private String lastExecStatus;
  86. /**
  87. * 异常信息(如果有)
  88. */
  89. private String exceptionInfo;
  90. }
  91. @Data
  92. @Builder
  93. @NoArgsConstructor
  94. @AllArgsConstructor
  95. public static class MissedJobInfo {
  96. private String jobName;
  97. private String jobGroup;
  98. private LocalDateTime nextExecuteTime;
  99. private String remark;
  100. }
  101. }