package com.heyu.api.baidu.response.common;


import com.fasterxml.jackson.annotation.JsonProperty;
import com.heyu.api.baidu.response.BBaseResp;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * PaddleOCR-VL 文档解析查询响应
 *
 * 查询解析结果，包含页面级别的文字、表格、公式等结构化信息
 */
@NoArgsConstructor
@Data
public class BPaddleOcrQueryResp extends BBaseResp {

    @JsonProperty("error_code")
    private Integer errorCode;

    @JsonProperty("error_msg")
    private String errorMsg;

    @JsonProperty("log_id")
    private String logId;

    @JsonProperty("task_progress")
    private String taskProgress;

    @JsonProperty("result")
    private ResultDTO result;

    @NoArgsConstructor
    @Data
    public static class ResultDTO {
        @JsonProperty("pages")
        private List<PagesDTO> pages;
    }

    @NoArgsConstructor
    @Data
    public static class PagesDTO {
        @JsonProperty("page_num")
        private Integer pageNum;

        @JsonProperty("text")
        private String text;

        @JsonProperty("tables")
        private List<TablesDTO> tables;

        @JsonProperty("formulas")
        private List<FormulasDTO> formulas;

        @NoArgsConstructor
        @Data
        public static class TablesDTO {
            @JsonProperty("html")
            private String html;

            @JsonProperty("position")
            private List<Integer> position;
        }

        @NoArgsConstructor
        @Data
        public static class FormulasDTO {
            @JsonProperty("latex")
            private String latex;

            @JsonProperty("position")
            private List<Integer> position;
        }
    }
}
