1 /* 2 * Copyright 2009-2017 Alibaba Cloud All rights reserved. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #ifndef ALIBABACLOUD_OCR_MODEL_RECOGNIZEVATINVOICERESULT_H_ 18 #define ALIBABACLOUD_OCR_MODEL_RECOGNIZEVATINVOICERESULT_H_ 19 20 #include <string> 21 #include <vector> 22 #include <utility> 23 #include <alibabacloud/core/ServiceResult.h> 24 #include <alibabacloud/ocr/OcrExport.h> 25 26 namespace AlibabaCloud 27 { 28 namespace Ocr 29 { 30 namespace Model 31 { 32 class ALIBABACLOUD_OCR_EXPORT RecognizeVATInvoiceResult : public ServiceResult 33 { 34 public: 35 struct Data 36 { 37 struct Content 38 { 39 std::string checker; 40 std::string payeeAddress; 41 std::string payeeName; 42 std::string payerAddress; 43 std::string antiFakeCode; 44 std::string payerBankName; 45 std::string invoiceNo; 46 std::string payerRegisterNo; 47 std::string payerName; 48 std::string withoutTaxAmount; 49 std::string invoiceAmount; 50 std::string taxAmount; 51 std::string payeeBankName; 52 std::string clerk; 53 std::string invoiceCode; 54 std::string payeeRegisterNo; 55 std::string invoiceDate; 56 std::string sumAmount; 57 std::string payee; 58 }; 59 struct Box 60 { 61 std::vector<std::string> payerRegisterNoes; 62 std::vector<std::string> payerAddresses; 63 std::vector<std::string> invoiceAmounts; 64 std::vector<std::string> invoiceDates; 65 std::vector<std::string> payeeAddresses; 66 std::vector<std::string> clerks; 67 std::vector<std::string> withoutTaxAmounts; 68 std::vector<std::string> checkers; 69 std::vector<std::string> invoiceCodes; 70 std::vector<std::string> taxAmounts; 71 std::vector<std::string> sumAmounts; 72 std::vector<std::string> payerNames; 73 std::vector<std::string> invoiceFakeCodes; 74 std::vector<std::string> payeeNames; 75 std::vector<std::string> payeeBankNames; 76 std::vector<std::string> payees; 77 std::vector<std::string> invoiceNoes; 78 std::vector<std::string> payerBankNames; 79 std::vector<std::string> payeeRegisterNoes; 80 }; 81 Content content; 82 Box box; 83 }; 84 85 86 RecognizeVATInvoiceResult(); 87 explicit RecognizeVATInvoiceResult(const std::string &payload); 88 ~RecognizeVATInvoiceResult(); 89 Data getData()const; 90 91 protected: 92 void parse(const std::string &payload); 93 private: 94 Data data_; 95 96 }; 97 } 98 } 99 } 100 #endif // !ALIBABACLOUD_OCR_MODEL_RECOGNIZEVATINVOICERESULT_H_