using System.Collections.Generic;

namespace MDL.Models
{
    /// <summary>
    /// FTP文件检查结果
    /// </summary>
    public class FtpCheckResult
    {
        /// <summary>
        /// 文件名
        /// </summary>
        public string Filename { get; set; }
        
        /// <summary>
        /// 是否存在
        /// </summary>
        public bool Exists { get; set; }
        
        /// <summary>
        /// 文件路径
        /// </summary>
        public string FilePath { get; set; }
    }
    
    /// <summary>
    /// FTP批量检查结果
    /// </summary>
    public class FtpBatchCheckResult
    {
        /// <summary>
        /// 状态，成功为"ok"，失败为"error"
        /// </summary>
        public string Status { get; set; }
        
        /// <summary>
        /// 响应时间戳（UTC）
        /// </summary>
        public System.DateTime Timestamp { get; set; }
        
        /// <summary>
        /// 存在的文件数量
        /// </summary>
        public int ExistsCount { get; set; }
        
        /// <summary>
        /// 不存在的文件数量
        /// </summary>
        public int MissingCount { get; set; }
        
        /// <summary>
        /// 总文件数量
        /// </summary>
        public int TotalCount { get; set; }
        
        /// <summary>
        /// 详细结果列表
        /// </summary>
        public List<FtpCheckResult> Results { get; set; }
    }
    
    /// <summary>
    /// FTP检查请求
    /// </summary>
    public class FtpCheckRequest
    {
        /// <summary>
        /// 目录
        /// </summary>
        public string Directory { get; set; }
        
        /// <summary>
        /// 客户代码
        /// </summary>
        public string CustomerCode { get; set; }
        
        /// <summary>
        /// API密钥
        /// </summary>
        public string ApiKey { get; set; }
        
        /// <summary>
        /// 文件列表
        /// </summary>
        public List<string> FileNames { get; set; }
    }
}
