using TakeoutSaaS.Application.App.Stores.Dto;

namespace TakeoutSaaS.Application.App.Merchants.Dto;

/// <summary>
/// 当前租户商户中心聚合信息。
/// </summary>
public sealed class CurrentMerchantCenterDto
{
    /// <summary>
    /// 商户主体详情。
    /// </summary>
    public MerchantDetailDto Merchant { get; init; } = new();

    /// <summary>
    /// 商户证照列表。
    /// </summary>
    public IReadOnlyList<MerchantDocumentDto> Documents { get; init; } = [];

    /// <summary>
    /// 商户合同列表。
    /// </summary>
    public IReadOnlyList<MerchantContractDto> Contracts { get; init; } = [];

    /// <summary>
    /// 商户员工列表。
    /// </summary>
    public IReadOnlyList<StoreStaffDto> Staffs { get; init; } = [];

    /// <summary>
    /// 商户审核日志列表。
    /// </summary>
    public IReadOnlyList<MerchantAuditLogDto> AuditLogs { get; init; } = [];

    /// <summary>
    /// 商户变更日志列表。
    /// </summary>
    public IReadOnlyList<MerchantChangeLogDto> ChangeLogs { get; init; } = [];
}
