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

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

/**
 * https://console.bce.baidu.com/support/?_=1740411162437&timestamp=1740411519148#/api?product=AI&project=%E6%96%87%E5%AD%97%E8%AF%86%E5%88%AB&parent=%E4%BA%A4%E9%80%9A%E5%9C%BA%E6%99%AFOCR&api=rest%2F2.0%2Focr%2Fv1%2Fvehicle_invoice&method=post
 *
 *机动车销售发票识别
 *
 *
 * {
 *     "log_id": 283449393728149457,
 *     "words_result_num": 26,
 *     "words_result": {
 *         "InvoiceNum": "00875336",
 *         "Saler": "深圳市新能源汽车销售有限公司",
 *         "LimitPassenger": "5",
 *         "MachineCode": "669745967911",
 *         "VinNum": "LJLGTCRP1J4007581",
 *         "TaxRate": "16%",
 *         "PriceTaxLow": "106100.00",
 *         "InvoiceDate": "2018-11-29",
 *         "Price": "￥91465.52",
 *         "SalerBank": "中国工商银行股份有限公司深圳岭园支行",
 *         "TaxAuthor": "国家锐务总局深圳市龙岗区税务局第五税务所",
 *         "ManuModel": "江淮牌HFC7007EYBD6",
 *         "CertificateNum": "WCH0794J0976801",
 *         "Purchaser": "苏子潇",
 *         "VehicleType": "纯电动轿车",
 *         "InvoiceCode": "14975047560",
 *         "PriceTax": "壹拾万陆仟壹佰圆整",
 *         "SalerPhone": "0755-83489306",
 *         "SalerAddress": "深圳市龙岗区龙岗街道百世国际汽车城",
 *         "Origin": "安徽省合肥市",
 *         "EngineNum": "18958407",
 *         "Tax": "14634.48",
 *         "PurchaserCode": "5135934475603742222",
 *         "TaxAuthorCode": "14037589413",
 *         "SalerAccountNum": "中国工商银行股份有限公司深圳岭园支行",
 *         "SalerCode": "9144928346458292278H"
 *     }
 * }
 *
 */
@NoArgsConstructor
@Data
public class BVehicleInvoiceResp extends BBaseResp {


    @JsonProperty("log_id")
    private Long logId;
    @JsonProperty("words_result_num")
    private Integer wordsResultNum;
    @JsonProperty("words_result")
    private WordsResultDTO wordsResult;

    @NoArgsConstructor
    @Data
    public static class WordsResultDTO {
        @JsonProperty("InvoiceNum")
        private String invoiceNum;
        @JsonProperty("Saler")
        private String saler;
        @JsonProperty("LimitPassenger")
        private String limitPassenger;
        @JsonProperty("MachineCode")
        private String machineCode;
        @JsonProperty("VinNum")
        private String vinNum;
        @JsonProperty("TaxRate")
        private String taxRate;
        @JsonProperty("PriceTaxLow")
        private String priceTaxLow;
        @JsonProperty("InvoiceDate")
        private String invoiceDate;
        @JsonProperty("Price")
        private String price;
        @JsonProperty("SalerBank")
        private String salerBank;
        @JsonProperty("TaxAuthor")
        private String taxAuthor;
        @JsonProperty("ManuModel")
        private String manuModel;
        @JsonProperty("CertificateNum")
        private String certificateNum;
        @JsonProperty("Purchaser")
        private String purchaser;
        @JsonProperty("VehicleType")
        private String vehicleType;
        @JsonProperty("InvoiceCode")
        private String invoiceCode;
        @JsonProperty("PriceTax")
        private String priceTax;
        @JsonProperty("SalerPhone")
        private String salerPhone;
        @JsonProperty("SalerAddress")
        private String salerAddress;
        @JsonProperty("Origin")
        private String origin;
        @JsonProperty("EngineNum")
        private String engineNum;
        @JsonProperty("Tax")
        private String tax;
        @JsonProperty("PurchaserCode")
        private String purchaserCode;
        @JsonProperty("TaxAuthorCode")
        private String taxAuthorCode;
        @JsonProperty("SalerAccountNum")
        private String salerAccountNum;
        @JsonProperty("SalerCode")
        private String salerCode;
    }
}
