namespace HoneyBox.Admin.Business.Models.Dashboard;

/// <summary>
/// 仪表盘概览响应
/// </summary>
public class DashboardOverviewResponse
{
    /// <summary>
    /// 今日注册用户数
    /// </summary>
    public int TodayRegistrations { get; set; }

    /// <summary>
    /// 今日消费金额
    /// </summary>
    public decimal TodayConsumption { get; set; }

    /// <summary>
    /// 今日新消费用户数
    /// </summary>
    public int TodayNewConsumers { get; set; }

    /// <summary>
    /// 总广告收入
    /// </summary>
    public decimal TotalAdRevenue { get; set; }

    /// <summary>
    /// 总用户数
    /// </summary>
    public int TotalUsers { get; set; }

    /// <summary>
    /// 总订单数
    /// </summary>
    public int TotalOrders { get; set; }

    /// <summary>
    /// 总消费金额
    /// </summary>
    public decimal TotalConsumption { get; set; }
}

/// <summary>
/// 广告账户DTO
/// </summary>
public class AdAccountDto
{
    /// <summary>
    /// 账户ID
    /// </summary>
    public int Id { get; set; }

    /// <summary>
    /// 广告图片URL
    /// </summary>
    public string ImgUrl { get; set; } = string.Empty;

    /// <summary>
    /// 跳转链接
    /// </summary>
    public string? Url { get; set; }

    /// <summary>
    /// 排序值
    /// </summary>
    public int Sort { get; set; }

    /// <summary>
    /// 广告类型
    /// </summary>
    public byte Type { get; set; }

    /// <summary>
    /// 跳转类型
    /// </summary>
    public byte? Ttype { get; set; }

    /// <summary>
    /// 关联优惠券ID
    /// </summary>
    public int? CouponId { get; set; }

    /// <summary>
    /// 关联商品ID
    /// </summary>
    public int? GoodsId { get; set; }

    /// <summary>
    /// 创建时间
    /// </summary>
    public DateTime CreatedAt { get; set; }

    /// <summary>
    /// 更新时间
    /// </summary>
    public DateTime UpdatedAt { get; set; }
}

/// <summary>
/// 创建广告账户请求
/// </summary>
public class AdAccountCreateRequest
{
    /// <summary>
    /// 广告图片URL
    /// </summary>
    public string ImgUrl { get; set; } = string.Empty;

    /// <summary>
    /// 跳转链接
    /// </summary>
    public string? Url { get; set; }

    /// <summary>
    /// 排序值
    /// </summary>
    public int Sort { get; set; }

    /// <summary>
    /// 广告类型
    /// </summary>
    public byte Type { get; set; } = 1;

    /// <summary>
    /// 跳转类型
    /// </summary>
    public byte? Ttype { get; set; }

    /// <summary>
    /// 关联优惠券ID
    /// </summary>
    public int? CouponId { get; set; }

    /// <summary>
    /// 关联商品ID
    /// </summary>
    public int? GoodsId { get; set; }
}
