package org.xyzh.ai.client.dto;

import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import java.util.List;

/**
 * @description 文档处理状态响应
 * @filename DocumentStatusResponse.java
 * @author AI Assistant
 * @copyright xyzh
 * @since 2025-11-04
 */
@Data
public class DocumentStatusResponse {

    /**
     * 文档列表
     */
    private List<DocumentStatus> data;

    @Data
    public static class DocumentStatus {
        /**
         * 文档ID
         */
        private String id;

        /**
         * 索引状态：waiting、parsing、cleaning、splitting、indexing、completed、error
         */
        @JSONField(name = "indexing_status")
        private String indexingStatus;

        /**
         * 处理开始时间
         */
        @JSONField(name = "processing_started_at")
        private Long processingStartedAt;

        /**
         * 解析完成时间
         */
        @JSONField(name = "parsing_completed_at")
        private Long parsingCompletedAt;

        /**
         * 清洗完成时间
         */
        @JSONField(name = "cleaning_completed_at")
        private Long cleaningCompletedAt;

        /**
         * 分割完成时间
         */
        @JSONField(name = "splitting_completed_at")
        private Long splittingCompletedAt;

        /**
         * 完成时间
         */
        @JSONField(name = "completed_at")
        private Long completedAt;

        /**
         * 暂停时间
         */
        @JSONField(name = "paused_at")
        private Long pausedAt;

        /**
         * 错误信息
         */
        private String error;

        /**
         * 停止时间
         */
        @JSONField(name = "stopped_at")
        private Long stoppedAt;

        /**
         * 分段数量
         */
        @JSONField(name = "completed_segments")
        private Integer completedSegments;

        /**
         * 总分段数
         */
        @JSONField(name = "total_segments")
        private Integer totalSegments;
    }
}

