package net.yyc.quartz.entity; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; /** * 每日简报数据模型 */ @Data @Builder @NoArgsConstructor @AllArgsConstructor public class JobBriefing { /** * 报告日期 */ private LocalDate reportDate; /** * 任务统计列表 */ private List jobStats; /** * 错过执行的任务列表 */ private List missedJobs; /** * 生成时间 */ private LocalDateTime generatedAt; @Data @Builder @NoArgsConstructor @AllArgsConstructor public static class JobStatInfo { /** * 任务ID */ private Integer jobId; /** * 任务名称 */ private String jobName; /** * 任务组 */ private String jobGroup; /** * 任务状态(1已发布 2运行中 3暂停) */ private String jobStatus; /** * 下次执行时间 */ private LocalDateTime nextExecuteTime; /** * 执行次数 */ private int execCount; /** * 成功次数 */ private int successCount; /** * 失败次数 */ private int failCount; /** * 成功率 */ private double successRate; /** * 平均执行时间(ms) */ private long avgExecuteTime; /** * 最后执行时间 */ private LocalDateTime lastExecuteTime; /** * 最后执行状态 */ private String lastExecStatus; /** * 异常信息(如果有) */ private String exceptionInfo; } @Data @Builder @NoArgsConstructor @AllArgsConstructor public static class MissedJobInfo { private String jobName; private String jobGroup; private LocalDateTime nextExecuteTime; private String remark; } }