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_