DashboardOverviewOutputDto.cs 1.82 KB
namespace FoodLabeling.Application.Contracts.Dtos.Dashboard;

/// <summary>
/// 仪表盘总览输出
/// </summary>
public class DashboardOverviewOutputDto
{
    /// <summary>今日打印标签</summary>
    public DashboardMetricCardDto LabelsPrintedToday { get; set; } = new();

    /// <summary>启用模板数</summary>
    public DashboardMetricCardDto ActiveTemplates { get; set; } = new();

    /// <summary>活跃用户数</summary>
    public DashboardMetricCardDto ActiveUsers { get; set; } = new();

    /// <summary>门店数</summary>
    public DashboardMetricCardDto Locations { get; set; } = new();

    /// <summary>人员数</summary>
    public DashboardMetricCardDto People { get; set; } = new();

    /// <summary>产品数</summary>
    public DashboardMetricCardDto Products { get; set; } = new();

    /// <summary>指标卡片</summary>
    public List<DashboardMetricCardDto> MetricCards { get; set; } = new();

    /// <summary>近7天打印趋势</summary>
    public List<DashboardDailyTrendPointDto> WeeklyPrintVolume { get; set; } = new();

    /// <summary>按分类分布</summary>
    public List<DashboardCategoryDistributionDto> CategoryDistribution { get; set; } = new();

    /// <summary>分类分布总数</summary>
    public int CategoryDistributionTotal { get; set; }

    /// <summary>按分类分布(前端直观命名)</summary>
    public List<DashboardCategoryDistributionDto> ByCategory { get; set; } = new();

    /// <summary>按分类分布总数(前端直观命名)</summary>
    public int ByCategoryTotal { get; set; }

    /// <summary>最近打印标签(全门店最新若干条,用于 Recent Labels 区块)</summary>
    public List<DashboardRecentLabelItemDto> RecentLabels { get; set; } = new();

    /// <summary>统计时间</summary>
    public DateTime GeneratedAt { get; set; }
}