package com.erp.task.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Map;

/**
 * 任务统计DTO
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TaskStatsDTO {

    /**
     * 总任务数
     */
    private Long totalTasks;

    /**
     * 运行中任务数
     */
    private Long runningTasks;

    /**
     * 停止任务数
     */
    private Long stoppedTasks;

    /**
     * 今日执行次数
     */
    private Long todayExecutions;

    /**
     * 今日成功次数
     */
    private Long todaySuccess;

    /**
     * 今日失败次数
     */
    private Long todayFailed;

    /**
     * 今日平均耗时（毫秒）
     */
    private Long todayAvgDuration;

    /**
     * 本周执行统计
     */
    private Map<String, Long> weeklyExecutions;

    /**
     * 各分组任务数
     */
    private Map<String, Long> groupTaskCount;

    /**
     * 任务健康度（百分比）
     */
    private Double healthRate;

    /**
     * 告警任务数
     */
    private Long alertTasks;
}
