namespace HoneyBox.Admin.Business.Models.Diamond;

#region Request Models

/// <summary>
/// 钻石商品列表查询请求
/// </summary>
public class DiamondProductListRequest : PagedRequest
{
    /// <summary>
    /// 商品名称（模糊搜索）
    /// </summary>
    public string? Name { get; set; }

    /// <summary>
    /// 状态：0-禁用 1-启用
    /// </summary>
    public int? Status { get; set; }
}

/// <summary>
/// 创建钻石商品请求
/// </summary>
public class DiamondProductCreateRequest
{
    /// <summary>
    /// 商品名称
    /// </summary>
    public string Name { get; set; } = string.Empty;

    /// <summary>
    /// 产品ID（商品编号）
    /// </summary>
    public string ProductsId { get; set; } = string.Empty;

    /// <summary>
    /// 产品类型
    /// </summary>
    public string ProductsType { get; set; } = string.Empty;

    /// <summary>
    /// 基础奖励（JSON格式）
    /// </summary>
    public string BaseReward { get; set; } = string.Empty;

    /// <summary>
    /// 价格
    /// </summary>
    public decimal Price { get; set; }

    /// <summary>
    /// 是否首充商品：0-否 1-是
    /// </summary>
    public int IsFirst { get; set; }

    /// <summary>
    /// 首充额外奖励（JSON格式）
    /// </summary>
    public string? FirstBonusReward { get; set; }

    /// <summary>
    /// 首充图片URL
    /// </summary>
    public string? FirstChargeImage { get; set; }

    /// <summary>
    /// 首充选中图片URL
    /// </summary>
    public string? FirstSelectChargeImage { get; set; }

    /// <summary>
    /// 普通图片URL
    /// </summary>
    public string? NormalImage { get; set; }

    /// <summary>
    /// 普通选中图片URL
    /// </summary>
    public string? NormalSelectImage { get; set; }

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

    /// <summary>
    /// 状态：0-禁用 1-启用
    /// </summary>
    public int Status { get; set; } = 1;
}

/// <summary>
/// 更新钻石商品请求
/// </summary>
public class DiamondProductUpdateRequest : DiamondProductCreateRequest
{
}

/// <summary>
/// 钻石商品状态更新请求
/// </summary>
public class DiamondProductStatusRequest
{
    /// <summary>
    /// 状态：0-禁用 1-启用
    /// </summary>
    public int Status { get; set; }
}

#endregion

#region Response Models

/// <summary>
/// 钻石商品响应模型
/// </summary>
public class DiamondProductResponse
{
    /// <summary>
    /// 商品ID
    /// </summary>
    public int Id { get; set; }

    /// <summary>
    /// 商品名称
    /// </summary>
    public string Name { get; set; } = string.Empty;

    /// <summary>
    /// 产品ID（商品编号）
    /// </summary>
    public string ProductsId { get; set; } = string.Empty;

    /// <summary>
    /// 产品类型
    /// </summary>
    public string ProductsType { get; set; } = string.Empty;

    /// <summary>
    /// 基础奖励（JSON格式）
    /// </summary>
    public string BaseReward { get; set; } = string.Empty;

    /// <summary>
    /// 价格
    /// </summary>
    public decimal Price { get; set; }

    /// <summary>
    /// 是否首充商品：0-否 1-是
    /// </summary>
    public int IsFirst { get; set; }

    /// <summary>
    /// 首充额外奖励（JSON格式）
    /// </summary>
    public string? FirstBonusReward { get; set; }

    /// <summary>
    /// 首充图片URL
    /// </summary>
    public string? FirstChargeImage { get; set; }

    /// <summary>
    /// 首充选中图片URL
    /// </summary>
    public string? FirstSelectChargeImage { get; set; }

    /// <summary>
    /// 普通图片URL
    /// </summary>
    public string? NormalImage { get; set; }

    /// <summary>
    /// 普通选中图片URL
    /// </summary>
    public string? NormalSelectImage { get; set; }

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

    /// <summary>
    /// 状态：0-禁用 1-启用
    /// </summary>
    public int Status { get; set; }

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

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

/// <summary>
/// 最大排序值响应
/// </summary>
public class DiamondMaxSortResponse
{
    /// <summary>
    /// 最大排序值
    /// </summary>
    public int MaxSort { get; set; }
}

#endregion
