Browse Source

Add new tags for corp group.

sdk-team 6 years ago
parent
commit
b3f8f634b5

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2020-08-16 Version: 1.36.585
+- Add new tags for corp group.
+
 2020-08-14 Version: 1.36.584
 - Add sdk.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.584
+1.36.585

+ 16 - 0
vcs/CMakeLists.txt

@@ -53,6 +53,8 @@ set(vcs_public_header_model
 	include/alibabacloud/vcs/model/GetDeviceLiveUrlResult.h
 	include/alibabacloud/vcs/model/GetDeviceVideoUrlRequest.h
 	include/alibabacloud/vcs/model/GetDeviceVideoUrlResult.h
+	include/alibabacloud/vcs/model/GetFaceModelResultRequest.h
+	include/alibabacloud/vcs/model/GetFaceModelResultResult.h
 	include/alibabacloud/vcs/model/GetFaceOptionsRequest.h
 	include/alibabacloud/vcs/model/GetFaceOptionsResult.h
 	include/alibabacloud/vcs/model/GetInventoryRequest.h
@@ -69,8 +71,12 @@ set(vcs_public_header_model
 	include/alibabacloud/vcs/model/InvokeMotorModelResult.h
 	include/alibabacloud/vcs/model/ListBodyAlgorithmResultsRequest.h
 	include/alibabacloud/vcs/model/ListBodyAlgorithmResultsResult.h
+	include/alibabacloud/vcs/model/ListCorpGroupMetricsRequest.h
+	include/alibabacloud/vcs/model/ListCorpGroupMetricsResult.h
 	include/alibabacloud/vcs/model/ListCorpGroupsRequest.h
 	include/alibabacloud/vcs/model/ListCorpGroupsResult.h
+	include/alibabacloud/vcs/model/ListCorpMetricsRequest.h
+	include/alibabacloud/vcs/model/ListCorpMetricsResult.h
 	include/alibabacloud/vcs/model/ListCorpsRequest.h
 	include/alibabacloud/vcs/model/ListCorpsResult.h
 	include/alibabacloud/vcs/model/ListDevicesRequest.h
@@ -83,6 +89,8 @@ set(vcs_public_header_model
 	include/alibabacloud/vcs/model/ListMetricsResult.h
 	include/alibabacloud/vcs/model/ListMotorAlgorithmResultsRequest.h
 	include/alibabacloud/vcs/model/ListMotorAlgorithmResultsResult.h
+	include/alibabacloud/vcs/model/ListPersonTraceRequest.h
+	include/alibabacloud/vcs/model/ListPersonTraceResult.h
 	include/alibabacloud/vcs/model/ListPersonsRequest.h
 	include/alibabacloud/vcs/model/ListPersonsResult.h
 	include/alibabacloud/vcs/model/RecognizeFaceQualityRequest.h
@@ -146,6 +154,8 @@ set(vcs_src
 	src/model/GetDeviceLiveUrlResult.cc
 	src/model/GetDeviceVideoUrlRequest.cc
 	src/model/GetDeviceVideoUrlResult.cc
+	src/model/GetFaceModelResultRequest.cc
+	src/model/GetFaceModelResultResult.cc
 	src/model/GetFaceOptionsRequest.cc
 	src/model/GetFaceOptionsResult.cc
 	src/model/GetInventoryRequest.cc
@@ -162,8 +172,12 @@ set(vcs_src
 	src/model/InvokeMotorModelResult.cc
 	src/model/ListBodyAlgorithmResultsRequest.cc
 	src/model/ListBodyAlgorithmResultsResult.cc
+	src/model/ListCorpGroupMetricsRequest.cc
+	src/model/ListCorpGroupMetricsResult.cc
 	src/model/ListCorpGroupsRequest.cc
 	src/model/ListCorpGroupsResult.cc
+	src/model/ListCorpMetricsRequest.cc
+	src/model/ListCorpMetricsResult.cc
 	src/model/ListCorpsRequest.cc
 	src/model/ListCorpsResult.cc
 	src/model/ListDevicesRequest.cc
@@ -176,6 +190,8 @@ set(vcs_src
 	src/model/ListMetricsResult.cc
 	src/model/ListMotorAlgorithmResultsRequest.cc
 	src/model/ListMotorAlgorithmResultsResult.cc
+	src/model/ListPersonTraceRequest.cc
+	src/model/ListPersonTraceResult.cc
 	src/model/ListPersonsRequest.cc
 	src/model/ListPersonsResult.cc
 	src/model/RecognizeFaceQualityRequest.cc

+ 32 - 0
vcs/include/alibabacloud/vcs/VcsClient.h

@@ -54,6 +54,8 @@
 #include "model/GetDeviceLiveUrlResult.h"
 #include "model/GetDeviceVideoUrlRequest.h"
 #include "model/GetDeviceVideoUrlResult.h"
+#include "model/GetFaceModelResultRequest.h"
+#include "model/GetFaceModelResultResult.h"
 #include "model/GetFaceOptionsRequest.h"
 #include "model/GetFaceOptionsResult.h"
 #include "model/GetInventoryRequest.h"
@@ -70,8 +72,12 @@
 #include "model/InvokeMotorModelResult.h"
 #include "model/ListBodyAlgorithmResultsRequest.h"
 #include "model/ListBodyAlgorithmResultsResult.h"
+#include "model/ListCorpGroupMetricsRequest.h"
+#include "model/ListCorpGroupMetricsResult.h"
 #include "model/ListCorpGroupsRequest.h"
 #include "model/ListCorpGroupsResult.h"
+#include "model/ListCorpMetricsRequest.h"
+#include "model/ListCorpMetricsResult.h"
 #include "model/ListCorpsRequest.h"
 #include "model/ListCorpsResult.h"
 #include "model/ListDevicesRequest.h"
@@ -84,6 +90,8 @@
 #include "model/ListMetricsResult.h"
 #include "model/ListMotorAlgorithmResultsRequest.h"
 #include "model/ListMotorAlgorithmResultsResult.h"
+#include "model/ListPersonTraceRequest.h"
+#include "model/ListPersonTraceResult.h"
 #include "model/ListPersonsRequest.h"
 #include "model/ListPersonsResult.h"
 #include "model/RecognizeFaceQualityRequest.h"
@@ -169,6 +177,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::GetDeviceVideoUrlResult> GetDeviceVideoUrlOutcome;
 			typedef std::future<GetDeviceVideoUrlOutcome> GetDeviceVideoUrlOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::GetDeviceVideoUrlRequest&, const GetDeviceVideoUrlOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetDeviceVideoUrlAsyncHandler;
+			typedef Outcome<Error, Model::GetFaceModelResultResult> GetFaceModelResultOutcome;
+			typedef std::future<GetFaceModelResultOutcome> GetFaceModelResultOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::GetFaceModelResultRequest&, const GetFaceModelResultOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetFaceModelResultAsyncHandler;
 			typedef Outcome<Error, Model::GetFaceOptionsResult> GetFaceOptionsOutcome;
 			typedef std::future<GetFaceOptionsOutcome> GetFaceOptionsOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::GetFaceOptionsRequest&, const GetFaceOptionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetFaceOptionsAsyncHandler;
@@ -193,9 +204,15 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListBodyAlgorithmResultsResult> ListBodyAlgorithmResultsOutcome;
 			typedef std::future<ListBodyAlgorithmResultsOutcome> ListBodyAlgorithmResultsOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::ListBodyAlgorithmResultsRequest&, const ListBodyAlgorithmResultsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListBodyAlgorithmResultsAsyncHandler;
+			typedef Outcome<Error, Model::ListCorpGroupMetricsResult> ListCorpGroupMetricsOutcome;
+			typedef std::future<ListCorpGroupMetricsOutcome> ListCorpGroupMetricsOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::ListCorpGroupMetricsRequest&, const ListCorpGroupMetricsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListCorpGroupMetricsAsyncHandler;
 			typedef Outcome<Error, Model::ListCorpGroupsResult> ListCorpGroupsOutcome;
 			typedef std::future<ListCorpGroupsOutcome> ListCorpGroupsOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::ListCorpGroupsRequest&, const ListCorpGroupsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListCorpGroupsAsyncHandler;
+			typedef Outcome<Error, Model::ListCorpMetricsResult> ListCorpMetricsOutcome;
+			typedef std::future<ListCorpMetricsOutcome> ListCorpMetricsOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::ListCorpMetricsRequest&, const ListCorpMetricsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListCorpMetricsAsyncHandler;
 			typedef Outcome<Error, Model::ListCorpsResult> ListCorpsOutcome;
 			typedef std::future<ListCorpsOutcome> ListCorpsOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::ListCorpsRequest&, const ListCorpsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListCorpsAsyncHandler;
@@ -214,6 +231,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListMotorAlgorithmResultsResult> ListMotorAlgorithmResultsOutcome;
 			typedef std::future<ListMotorAlgorithmResultsOutcome> ListMotorAlgorithmResultsOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::ListMotorAlgorithmResultsRequest&, const ListMotorAlgorithmResultsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListMotorAlgorithmResultsAsyncHandler;
+			typedef Outcome<Error, Model::ListPersonTraceResult> ListPersonTraceOutcome;
+			typedef std::future<ListPersonTraceOutcome> ListPersonTraceOutcomeCallable;
+			typedef std::function<void(const VcsClient*, const Model::ListPersonTraceRequest&, const ListPersonTraceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListPersonTraceAsyncHandler;
 			typedef Outcome<Error, Model::ListPersonsResult> ListPersonsOutcome;
 			typedef std::future<ListPersonsOutcome> ListPersonsOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::ListPersonsRequest&, const ListPersonsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListPersonsAsyncHandler;
@@ -309,6 +329,9 @@ namespace AlibabaCloud
 			GetDeviceVideoUrlOutcome getDeviceVideoUrl(const Model::GetDeviceVideoUrlRequest &request)const;
 			void getDeviceVideoUrlAsync(const Model::GetDeviceVideoUrlRequest& request, const GetDeviceVideoUrlAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetDeviceVideoUrlOutcomeCallable getDeviceVideoUrlCallable(const Model::GetDeviceVideoUrlRequest& request) const;
+			GetFaceModelResultOutcome getFaceModelResult(const Model::GetFaceModelResultRequest &request)const;
+			void getFaceModelResultAsync(const Model::GetFaceModelResultRequest& request, const GetFaceModelResultAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetFaceModelResultOutcomeCallable getFaceModelResultCallable(const Model::GetFaceModelResultRequest& request) const;
 			GetFaceOptionsOutcome getFaceOptions(const Model::GetFaceOptionsRequest &request)const;
 			void getFaceOptionsAsync(const Model::GetFaceOptionsRequest& request, const GetFaceOptionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetFaceOptionsOutcomeCallable getFaceOptionsCallable(const Model::GetFaceOptionsRequest& request) const;
@@ -333,9 +356,15 @@ namespace AlibabaCloud
 			ListBodyAlgorithmResultsOutcome listBodyAlgorithmResults(const Model::ListBodyAlgorithmResultsRequest &request)const;
 			void listBodyAlgorithmResultsAsync(const Model::ListBodyAlgorithmResultsRequest& request, const ListBodyAlgorithmResultsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListBodyAlgorithmResultsOutcomeCallable listBodyAlgorithmResultsCallable(const Model::ListBodyAlgorithmResultsRequest& request) const;
+			ListCorpGroupMetricsOutcome listCorpGroupMetrics(const Model::ListCorpGroupMetricsRequest &request)const;
+			void listCorpGroupMetricsAsync(const Model::ListCorpGroupMetricsRequest& request, const ListCorpGroupMetricsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListCorpGroupMetricsOutcomeCallable listCorpGroupMetricsCallable(const Model::ListCorpGroupMetricsRequest& request) const;
 			ListCorpGroupsOutcome listCorpGroups(const Model::ListCorpGroupsRequest &request)const;
 			void listCorpGroupsAsync(const Model::ListCorpGroupsRequest& request, const ListCorpGroupsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListCorpGroupsOutcomeCallable listCorpGroupsCallable(const Model::ListCorpGroupsRequest& request) const;
+			ListCorpMetricsOutcome listCorpMetrics(const Model::ListCorpMetricsRequest &request)const;
+			void listCorpMetricsAsync(const Model::ListCorpMetricsRequest& request, const ListCorpMetricsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListCorpMetricsOutcomeCallable listCorpMetricsCallable(const Model::ListCorpMetricsRequest& request) const;
 			ListCorpsOutcome listCorps(const Model::ListCorpsRequest &request)const;
 			void listCorpsAsync(const Model::ListCorpsRequest& request, const ListCorpsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListCorpsOutcomeCallable listCorpsCallable(const Model::ListCorpsRequest& request) const;
@@ -354,6 +383,9 @@ namespace AlibabaCloud
 			ListMotorAlgorithmResultsOutcome listMotorAlgorithmResults(const Model::ListMotorAlgorithmResultsRequest &request)const;
 			void listMotorAlgorithmResultsAsync(const Model::ListMotorAlgorithmResultsRequest& request, const ListMotorAlgorithmResultsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListMotorAlgorithmResultsOutcomeCallable listMotorAlgorithmResultsCallable(const Model::ListMotorAlgorithmResultsRequest& request) const;
+			ListPersonTraceOutcome listPersonTrace(const Model::ListPersonTraceRequest &request)const;
+			void listPersonTraceAsync(const Model::ListPersonTraceRequest& request, const ListPersonTraceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListPersonTraceOutcomeCallable listPersonTraceCallable(const Model::ListPersonTraceRequest& request) const;
 			ListPersonsOutcome listPersons(const Model::ListPersonsRequest &request)const;
 			void listPersonsAsync(const Model::ListPersonsRequest& request, const ListPersonsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListPersonsOutcomeCallable listPersonsCallable(const Model::ListPersonsRequest& request) const;

+ 54 - 0
vcs/include/alibabacloud/vcs/model/GetFaceModelResultRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VCS_MODEL_GETFACEMODELRESULTREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_GETFACEMODELRESULTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT GetFaceModelResultRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetFaceModelResultRequest();
+				~GetFaceModelResultRequest();
+
+				std::string getPictureUrl()const;
+				void setPictureUrl(const std::string& pictureUrl);
+				std::string getPictureContent()const;
+				void setPictureContent(const std::string& pictureContent);
+				std::string getPictureId()const;
+				void setPictureId(const std::string& pictureId);
+
+            private:
+				std::string pictureUrl_;
+				std::string pictureContent_;
+				std::string pictureId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_GETFACEMODELRESULTREQUEST_H_

+ 81 - 0
vcs/include/alibabacloud/vcs/model/GetFaceModelResultResult.h

@@ -0,0 +1,81 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VCS_MODEL_GETFACEMODELRESULTRESULT_H_
+#define ALIBABACLOUD_VCS_MODEL_GETFACEMODELRESULTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT GetFaceModelResultResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct RecordsItem
+					{
+						std::string mustacheStyle;
+						int genderCode;
+						int respiratorColor;
+						int ethicCode;
+						int rightBottomX;
+						int ageLowerLimit;
+						std::string faceStyle;
+						int rightBottomY;
+						std::vector<std::string> featureData;
+						int leftTopY;
+						int capStyle;
+						int leftTopX;
+						int hairColor;
+						int skinColor;
+						int ageUpLimit;
+						int glassStyle;
+						int glassColor;
+						int hairStyle;
+						int capColor;
+					};
+					std::vector<RecordsItem> records;
+				};
+
+
+				GetFaceModelResultResult();
+				explicit GetFaceModelResultResult(const std::string &payload);
+				~GetFaceModelResultResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_GETFACEMODELRESULTRESULT_H_

+ 63 - 0
vcs/include/alibabacloud/vcs/model/ListCorpGroupMetricsRequest.h

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VCS_MODEL_LISTCORPGROUPMETRICSREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_LISTCORPGROUPMETRICSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT ListCorpGroupMetricsRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListCorpGroupMetricsRequest();
+				~ListCorpGroupMetricsRequest();
+
+				std::string getGroupId()const;
+				void setGroupId(const std::string& groupId);
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				std::string getPageNumber()const;
+				void setPageNumber(const std::string& pageNumber);
+				std::string getTagCode()const;
+				void setTagCode(const std::string& tagCode);
+				std::string getPageSize()const;
+				void setPageSize(const std::string& pageSize);
+
+            private:
+				std::string groupId_;
+				std::string endTime_;
+				std::string startTime_;
+				std::string pageNumber_;
+				std::string tagCode_;
+				std::string pageSize_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_LISTCORPGROUPMETRICSREQUEST_H_

+ 71 - 0
vcs/include/alibabacloud/vcs/model/ListCorpGroupMetricsResult.h

@@ -0,0 +1,71 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VCS_MODEL_LISTCORPGROUPMETRICSRESULT_H_
+#define ALIBABACLOUD_VCS_MODEL_LISTCORPGROUPMETRICSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT ListCorpGroupMetricsResult : public ServiceResult
+			{
+			public:
+				struct Day
+				{
+					std::string checkedTime;
+					std::string tagMetrics;
+					std::string tagCode;
+					std::string tagValue;
+					std::string groupId;
+				};
+
+
+				ListCorpGroupMetricsResult();
+				explicit ListCorpGroupMetricsResult(const std::string &payload);
+				~ListCorpGroupMetricsResult();
+				int getTotalCount()const;
+				std::string getMessage()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<Day> getData()const;
+				std::string getCode()const;
+				std::string getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				std::string message_;
+				int pageSize_;
+				int pageNumber_;
+				std::vector<Day> data_;
+				std::string code_;
+				std::string success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_LISTCORPGROUPMETRICSRESULT_H_

+ 63 - 0
vcs/include/alibabacloud/vcs/model/ListCorpMetricsRequest.h

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VCS_MODEL_LISTCORPMETRICSREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_LISTCORPMETRICSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT ListCorpMetricsRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListCorpMetricsRequest();
+				~ListCorpMetricsRequest();
+
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				std::string getPageNumber()const;
+				void setPageNumber(const std::string& pageNumber);
+				std::string getTagCode()const;
+				void setTagCode(const std::string& tagCode);
+				std::string getPageSize()const;
+				void setPageSize(const std::string& pageSize);
+
+            private:
+				std::string corpId_;
+				std::string endTime_;
+				std::string startTime_;
+				std::string pageNumber_;
+				std::string tagCode_;
+				std::string pageSize_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_LISTCORPMETRICSREQUEST_H_

+ 70 - 0
vcs/include/alibabacloud/vcs/model/ListCorpMetricsResult.h

@@ -0,0 +1,70 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VCS_MODEL_LISTCORPMETRICSRESULT_H_
+#define ALIBABACLOUD_VCS_MODEL_LISTCORPMETRICSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT ListCorpMetricsResult : public ServiceResult
+			{
+			public:
+				struct DataItem
+				{
+					std::string corpId;
+					std::string tagMetrics;
+					std::string tagCode;
+					std::string tagValue;
+				};
+
+
+				ListCorpMetricsResult();
+				explicit ListCorpMetricsResult(const std::string &payload);
+				~ListCorpMetricsResult();
+				int getTotalCount()const;
+				std::string getMessage()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<DataItem> getData()const;
+				std::string getCode()const;
+				std::string getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				std::string message_;
+				int pageSize_;
+				int pageNumber_;
+				std::vector<DataItem> data_;
+				std::string code_;
+				std::string success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_LISTCORPMETRICSRESULT_H_

+ 69 - 0
vcs/include/alibabacloud/vcs/model/ListPersonTraceRequest.h

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VCS_MODEL_LISTPERSONTRACEREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_LISTPERSONTRACEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT ListPersonTraceRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListPersonTraceRequest();
+				~ListPersonTraceRequest();
+
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				std::string getGroupId()const;
+				void setGroupId(const std::string& groupId);
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				std::string getPageNumber()const;
+				void setPageNumber(const std::string& pageNumber);
+				std::string getPageSize()const;
+				void setPageSize(const std::string& pageSize);
+				std::string getDataSourceId()const;
+				void setDataSourceId(const std::string& dataSourceId);
+				std::string getPersonId()const;
+				void setPersonId(const std::string& personId);
+
+            private:
+				std::string corpId_;
+				std::string groupId_;
+				std::string endTime_;
+				std::string startTime_;
+				std::string pageNumber_;
+				std::string pageSize_;
+				std::string dataSourceId_;
+				std::string personId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_LISTPERSONTRACEREQUEST_H_

+ 77 - 0
vcs/include/alibabacloud/vcs/model/ListPersonTraceResult.h

@@ -0,0 +1,77 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_VCS_MODEL_LISTPERSONTRACERESULT_H_
+#define ALIBABACLOUD_VCS_MODEL_LISTPERSONTRACERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vcs/VcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vcs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VCS_EXPORT ListPersonTraceResult : public ServiceResult
+			{
+			public:
+				struct Day
+				{
+					std::string startTargetImage;
+					std::string startSourceImage;
+					std::string corpId;
+					std::string personId;
+					std::string deviceId;
+					std::string endTargetImage;
+					std::string startTime;
+					std::string endSourceImage;
+					std::string date;
+					std::string lastTime;
+					std::string groupId;
+				};
+
+
+				ListPersonTraceResult();
+				explicit ListPersonTraceResult(const std::string &payload);
+				~ListPersonTraceResult();
+				int getTotalCount()const;
+				std::string getMessage()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<Day> getData()const;
+				std::string getCode()const;
+				std::string getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				std::string message_;
+				int pageSize_;
+				int pageNumber_;
+				std::vector<Day> data_;
+				std::string code_;
+				std::string success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_LISTPERSONTRACERESULT_H_

+ 144 - 0
vcs/src/VcsClient.cc

@@ -627,6 +627,42 @@ VcsClient::GetDeviceVideoUrlOutcomeCallable VcsClient::getDeviceVideoUrlCallable
 	return task->get_future();
 }
 
+VcsClient::GetFaceModelResultOutcome VcsClient::getFaceModelResult(const GetFaceModelResultRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetFaceModelResultOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetFaceModelResultOutcome(GetFaceModelResultResult(outcome.result()));
+	else
+		return GetFaceModelResultOutcome(outcome.error());
+}
+
+void VcsClient::getFaceModelResultAsync(const GetFaceModelResultRequest& request, const GetFaceModelResultAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getFaceModelResult(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::GetFaceModelResultOutcomeCallable VcsClient::getFaceModelResultCallable(const GetFaceModelResultRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetFaceModelResultOutcome()>>(
+			[this, request]()
+			{
+			return this->getFaceModelResult(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VcsClient::GetFaceOptionsOutcome VcsClient::getFaceOptions(const GetFaceOptionsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -915,6 +951,42 @@ VcsClient::ListBodyAlgorithmResultsOutcomeCallable VcsClient::listBodyAlgorithmR
 	return task->get_future();
 }
 
+VcsClient::ListCorpGroupMetricsOutcome VcsClient::listCorpGroupMetrics(const ListCorpGroupMetricsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListCorpGroupMetricsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListCorpGroupMetricsOutcome(ListCorpGroupMetricsResult(outcome.result()));
+	else
+		return ListCorpGroupMetricsOutcome(outcome.error());
+}
+
+void VcsClient::listCorpGroupMetricsAsync(const ListCorpGroupMetricsRequest& request, const ListCorpGroupMetricsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listCorpGroupMetrics(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::ListCorpGroupMetricsOutcomeCallable VcsClient::listCorpGroupMetricsCallable(const ListCorpGroupMetricsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListCorpGroupMetricsOutcome()>>(
+			[this, request]()
+			{
+			return this->listCorpGroupMetrics(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VcsClient::ListCorpGroupsOutcome VcsClient::listCorpGroups(const ListCorpGroupsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -951,6 +1023,42 @@ VcsClient::ListCorpGroupsOutcomeCallable VcsClient::listCorpGroupsCallable(const
 	return task->get_future();
 }
 
+VcsClient::ListCorpMetricsOutcome VcsClient::listCorpMetrics(const ListCorpMetricsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListCorpMetricsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListCorpMetricsOutcome(ListCorpMetricsResult(outcome.result()));
+	else
+		return ListCorpMetricsOutcome(outcome.error());
+}
+
+void VcsClient::listCorpMetricsAsync(const ListCorpMetricsRequest& request, const ListCorpMetricsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listCorpMetrics(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::ListCorpMetricsOutcomeCallable VcsClient::listCorpMetricsCallable(const ListCorpMetricsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListCorpMetricsOutcome()>>(
+			[this, request]()
+			{
+			return this->listCorpMetrics(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VcsClient::ListCorpsOutcome VcsClient::listCorps(const ListCorpsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1167,6 +1275,42 @@ VcsClient::ListMotorAlgorithmResultsOutcomeCallable VcsClient::listMotorAlgorith
 	return task->get_future();
 }
 
+VcsClient::ListPersonTraceOutcome VcsClient::listPersonTrace(const ListPersonTraceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListPersonTraceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListPersonTraceOutcome(ListPersonTraceResult(outcome.result()));
+	else
+		return ListPersonTraceOutcome(outcome.error());
+}
+
+void VcsClient::listPersonTraceAsync(const ListPersonTraceRequest& request, const ListPersonTraceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listPersonTrace(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::ListPersonTraceOutcomeCallable VcsClient::listPersonTraceCallable(const ListPersonTraceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListPersonTraceOutcome()>>(
+			[this, request]()
+			{
+			return this->listPersonTrace(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VcsClient::ListPersonsOutcome VcsClient::listPersons(const ListPersonsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 62 - 0
vcs/src/model/GetFaceModelResultRequest.cc

@@ -0,0 +1,62 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/vcs/model/GetFaceModelResultRequest.h>
+
+using AlibabaCloud::Vcs::Model::GetFaceModelResultRequest;
+
+GetFaceModelResultRequest::GetFaceModelResultRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "GetFaceModelResult")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+GetFaceModelResultRequest::~GetFaceModelResultRequest()
+{}
+
+std::string GetFaceModelResultRequest::getPictureUrl()const
+{
+	return pictureUrl_;
+}
+
+void GetFaceModelResultRequest::setPictureUrl(const std::string& pictureUrl)
+{
+	pictureUrl_ = pictureUrl;
+	setBodyParameter("PictureUrl", pictureUrl);
+}
+
+std::string GetFaceModelResultRequest::getPictureContent()const
+{
+	return pictureContent_;
+}
+
+void GetFaceModelResultRequest::setPictureContent(const std::string& pictureContent)
+{
+	pictureContent_ = pictureContent;
+	setBodyParameter("PictureContent", pictureContent);
+}
+
+std::string GetFaceModelResultRequest::getPictureId()const
+{
+	return pictureId_;
+}
+
+void GetFaceModelResultRequest::setPictureId(const std::string& pictureId)
+{
+	pictureId_ = pictureId;
+	setBodyParameter("PictureId", pictureId);
+}
+

+ 109 - 0
vcs/src/model/GetFaceModelResultResult.cc

@@ -0,0 +1,109 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/vcs/model/GetFaceModelResultResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vcs;
+using namespace AlibabaCloud::Vcs::Model;
+
+GetFaceModelResultResult::GetFaceModelResultResult() :
+	ServiceResult()
+{}
+
+GetFaceModelResultResult::GetFaceModelResultResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetFaceModelResultResult::~GetFaceModelResultResult()
+{}
+
+void GetFaceModelResultResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	auto allRecordsNode = dataNode["Records"]["RecordsItem"];
+	for (auto dataNodeRecordsRecordsItem : allRecordsNode)
+	{
+		Data::RecordsItem recordsItemObject;
+		if(!dataNodeRecordsRecordsItem["MustacheStyle"].isNull())
+			recordsItemObject.mustacheStyle = dataNodeRecordsRecordsItem["MustacheStyle"].asString();
+		if(!dataNodeRecordsRecordsItem["FaceStyle"].isNull())
+			recordsItemObject.faceStyle = dataNodeRecordsRecordsItem["FaceStyle"].asString();
+		if(!dataNodeRecordsRecordsItem["CapStyle"].isNull())
+			recordsItemObject.capStyle = std::stoi(dataNodeRecordsRecordsItem["CapStyle"].asString());
+		if(!dataNodeRecordsRecordsItem["SkinColor"].isNull())
+			recordsItemObject.skinColor = std::stoi(dataNodeRecordsRecordsItem["SkinColor"].asString());
+		if(!dataNodeRecordsRecordsItem["RightBottomY"].isNull())
+			recordsItemObject.rightBottomY = std::stoi(dataNodeRecordsRecordsItem["RightBottomY"].asString());
+		if(!dataNodeRecordsRecordsItem["RightBottomX"].isNull())
+			recordsItemObject.rightBottomX = std::stoi(dataNodeRecordsRecordsItem["RightBottomX"].asString());
+		if(!dataNodeRecordsRecordsItem["HairStyle"].isNull())
+			recordsItemObject.hairStyle = std::stoi(dataNodeRecordsRecordsItem["HairStyle"].asString());
+		if(!dataNodeRecordsRecordsItem["GenderCode"].isNull())
+			recordsItemObject.genderCode = std::stoi(dataNodeRecordsRecordsItem["GenderCode"].asString());
+		if(!dataNodeRecordsRecordsItem["RespiratorColor"].isNull())
+			recordsItemObject.respiratorColor = std::stoi(dataNodeRecordsRecordsItem["RespiratorColor"].asString());
+		if(!dataNodeRecordsRecordsItem["EthicCode"].isNull())
+			recordsItemObject.ethicCode = std::stoi(dataNodeRecordsRecordsItem["EthicCode"].asString());
+		if(!dataNodeRecordsRecordsItem["AgeLowerLimit"].isNull())
+			recordsItemObject.ageLowerLimit = std::stoi(dataNodeRecordsRecordsItem["AgeLowerLimit"].asString());
+		if(!dataNodeRecordsRecordsItem["LeftTopY"].isNull())
+			recordsItemObject.leftTopY = std::stoi(dataNodeRecordsRecordsItem["LeftTopY"].asString());
+		if(!dataNodeRecordsRecordsItem["LeftTopX"].isNull())
+			recordsItemObject.leftTopX = std::stoi(dataNodeRecordsRecordsItem["LeftTopX"].asString());
+		if(!dataNodeRecordsRecordsItem["HairColor"].isNull())
+			recordsItemObject.hairColor = std::stoi(dataNodeRecordsRecordsItem["HairColor"].asString());
+		if(!dataNodeRecordsRecordsItem["AgeUpLimit"].isNull())
+			recordsItemObject.ageUpLimit = std::stoi(dataNodeRecordsRecordsItem["AgeUpLimit"].asString());
+		if(!dataNodeRecordsRecordsItem["GlassStyle"].isNull())
+			recordsItemObject.glassStyle = std::stoi(dataNodeRecordsRecordsItem["GlassStyle"].asString());
+		if(!dataNodeRecordsRecordsItem["GlassColor"].isNull())
+			recordsItemObject.glassColor = std::stoi(dataNodeRecordsRecordsItem["GlassColor"].asString());
+		if(!dataNodeRecordsRecordsItem["CapColor"].isNull())
+			recordsItemObject.capColor = std::stoi(dataNodeRecordsRecordsItem["CapColor"].asString());
+		auto allFeatureData = value["FeatureData"]["FeatureData"];
+		for (auto value : allFeatureData)
+			recordsItemObject.featureData.push_back(value.asString());
+		data_.records.push_back(recordsItemObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string GetFaceModelResultResult::getMessage()const
+{
+	return message_;
+}
+
+GetFaceModelResultResult::Data GetFaceModelResultResult::getData()const
+{
+	return data_;
+}
+
+std::string GetFaceModelResultResult::getCode()const
+{
+	return code_;
+}
+

+ 95 - 0
vcs/src/model/ListCorpGroupMetricsRequest.cc

@@ -0,0 +1,95 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/vcs/model/ListCorpGroupMetricsRequest.h>
+
+using AlibabaCloud::Vcs::Model::ListCorpGroupMetricsRequest;
+
+ListCorpGroupMetricsRequest::ListCorpGroupMetricsRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "ListCorpGroupMetrics")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ListCorpGroupMetricsRequest::~ListCorpGroupMetricsRequest()
+{}
+
+std::string ListCorpGroupMetricsRequest::getGroupId()const
+{
+	return groupId_;
+}
+
+void ListCorpGroupMetricsRequest::setGroupId(const std::string& groupId)
+{
+	groupId_ = groupId;
+	setBodyParameter("GroupId", groupId);
+}
+
+std::string ListCorpGroupMetricsRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void ListCorpGroupMetricsRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setBodyParameter("EndTime", endTime);
+}
+
+std::string ListCorpGroupMetricsRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void ListCorpGroupMetricsRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setBodyParameter("StartTime", startTime);
+}
+
+std::string ListCorpGroupMetricsRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void ListCorpGroupMetricsRequest::setPageNumber(const std::string& pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setBodyParameter("PageNumber", pageNumber);
+}
+
+std::string ListCorpGroupMetricsRequest::getTagCode()const
+{
+	return tagCode_;
+}
+
+void ListCorpGroupMetricsRequest::setTagCode(const std::string& tagCode)
+{
+	tagCode_ = tagCode;
+	setBodyParameter("TagCode", tagCode);
+}
+
+std::string ListCorpGroupMetricsRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void ListCorpGroupMetricsRequest::setPageSize(const std::string& pageSize)
+{
+	pageSize_ = pageSize;
+	setBodyParameter("PageSize", pageSize);
+}
+

+ 107 - 0
vcs/src/model/ListCorpGroupMetricsResult.cc

@@ -0,0 +1,107 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/vcs/model/ListCorpGroupMetricsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vcs;
+using namespace AlibabaCloud::Vcs::Model;
+
+ListCorpGroupMetricsResult::ListCorpGroupMetricsResult() :
+	ServiceResult()
+{}
+
+ListCorpGroupMetricsResult::ListCorpGroupMetricsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListCorpGroupMetricsResult::~ListCorpGroupMetricsResult()
+{}
+
+void ListCorpGroupMetricsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allDataNode = value["Data"]["Day"];
+	for (auto valueDataDay : allDataNode)
+	{
+		Day dataObject;
+		if(!valueDataDay["CheckedTime"].isNull())
+			dataObject.checkedTime = valueDataDay["CheckedTime"].asString();
+		if(!valueDataDay["TagMetrics"].isNull())
+			dataObject.tagMetrics = valueDataDay["TagMetrics"].asString();
+		if(!valueDataDay["TagCode"].isNull())
+			dataObject.tagCode = valueDataDay["TagCode"].asString();
+		if(!valueDataDay["TagValue"].isNull())
+			dataObject.tagValue = valueDataDay["TagValue"].asString();
+		if(!valueDataDay["GroupId"].isNull())
+			dataObject.groupId = valueDataDay["GroupId"].asString();
+		data_.push_back(dataObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString();
+
+}
+
+int ListCorpGroupMetricsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+std::string ListCorpGroupMetricsResult::getMessage()const
+{
+	return message_;
+}
+
+int ListCorpGroupMetricsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int ListCorpGroupMetricsResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<ListCorpGroupMetricsResult::Day> ListCorpGroupMetricsResult::getData()const
+{
+	return data_;
+}
+
+std::string ListCorpGroupMetricsResult::getCode()const
+{
+	return code_;
+}
+
+std::string ListCorpGroupMetricsResult::getSuccess()const
+{
+	return success_;
+}
+

+ 95 - 0
vcs/src/model/ListCorpMetricsRequest.cc

@@ -0,0 +1,95 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/vcs/model/ListCorpMetricsRequest.h>
+
+using AlibabaCloud::Vcs::Model::ListCorpMetricsRequest;
+
+ListCorpMetricsRequest::ListCorpMetricsRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "ListCorpMetrics")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ListCorpMetricsRequest::~ListCorpMetricsRequest()
+{}
+
+std::string ListCorpMetricsRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void ListCorpMetricsRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+std::string ListCorpMetricsRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void ListCorpMetricsRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setBodyParameter("EndTime", endTime);
+}
+
+std::string ListCorpMetricsRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void ListCorpMetricsRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setBodyParameter("StartTime", startTime);
+}
+
+std::string ListCorpMetricsRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void ListCorpMetricsRequest::setPageNumber(const std::string& pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setBodyParameter("PageNumber", pageNumber);
+}
+
+std::string ListCorpMetricsRequest::getTagCode()const
+{
+	return tagCode_;
+}
+
+void ListCorpMetricsRequest::setTagCode(const std::string& tagCode)
+{
+	tagCode_ = tagCode;
+	setBodyParameter("TagCode", tagCode);
+}
+
+std::string ListCorpMetricsRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void ListCorpMetricsRequest::setPageSize(const std::string& pageSize)
+{
+	pageSize_ = pageSize;
+	setBodyParameter("PageSize", pageSize);
+}
+

+ 105 - 0
vcs/src/model/ListCorpMetricsResult.cc

@@ -0,0 +1,105 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/vcs/model/ListCorpMetricsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vcs;
+using namespace AlibabaCloud::Vcs::Model;
+
+ListCorpMetricsResult::ListCorpMetricsResult() :
+	ServiceResult()
+{}
+
+ListCorpMetricsResult::ListCorpMetricsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListCorpMetricsResult::~ListCorpMetricsResult()
+{}
+
+void ListCorpMetricsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allDataNode = value["Data"]["DataItem"];
+	for (auto valueDataDataItem : allDataNode)
+	{
+		DataItem dataObject;
+		if(!valueDataDataItem["CorpId"].isNull())
+			dataObject.corpId = valueDataDataItem["CorpId"].asString();
+		if(!valueDataDataItem["TagCode"].isNull())
+			dataObject.tagCode = valueDataDataItem["TagCode"].asString();
+		if(!valueDataDataItem["TagMetrics"].isNull())
+			dataObject.tagMetrics = valueDataDataItem["TagMetrics"].asString();
+		if(!valueDataDataItem["TagValue"].isNull())
+			dataObject.tagValue = valueDataDataItem["TagValue"].asString();
+		data_.push_back(dataObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString();
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+
+}
+
+int ListCorpMetricsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+std::string ListCorpMetricsResult::getMessage()const
+{
+	return message_;
+}
+
+int ListCorpMetricsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int ListCorpMetricsResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<ListCorpMetricsResult::DataItem> ListCorpMetricsResult::getData()const
+{
+	return data_;
+}
+
+std::string ListCorpMetricsResult::getCode()const
+{
+	return code_;
+}
+
+std::string ListCorpMetricsResult::getSuccess()const
+{
+	return success_;
+}
+

+ 117 - 0
vcs/src/model/ListPersonTraceRequest.cc

@@ -0,0 +1,117 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/vcs/model/ListPersonTraceRequest.h>
+
+using AlibabaCloud::Vcs::Model::ListPersonTraceRequest;
+
+ListPersonTraceRequest::ListPersonTraceRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "ListPersonTrace")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ListPersonTraceRequest::~ListPersonTraceRequest()
+{}
+
+std::string ListPersonTraceRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void ListPersonTraceRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+std::string ListPersonTraceRequest::getGroupId()const
+{
+	return groupId_;
+}
+
+void ListPersonTraceRequest::setGroupId(const std::string& groupId)
+{
+	groupId_ = groupId;
+	setBodyParameter("GroupId", groupId);
+}
+
+std::string ListPersonTraceRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void ListPersonTraceRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setBodyParameter("EndTime", endTime);
+}
+
+std::string ListPersonTraceRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void ListPersonTraceRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setBodyParameter("StartTime", startTime);
+}
+
+std::string ListPersonTraceRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void ListPersonTraceRequest::setPageNumber(const std::string& pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setBodyParameter("PageNumber", pageNumber);
+}
+
+std::string ListPersonTraceRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void ListPersonTraceRequest::setPageSize(const std::string& pageSize)
+{
+	pageSize_ = pageSize;
+	setBodyParameter("PageSize", pageSize);
+}
+
+std::string ListPersonTraceRequest::getDataSourceId()const
+{
+	return dataSourceId_;
+}
+
+void ListPersonTraceRequest::setDataSourceId(const std::string& dataSourceId)
+{
+	dataSourceId_ = dataSourceId;
+	setBodyParameter("DataSourceId", dataSourceId);
+}
+
+std::string ListPersonTraceRequest::getPersonId()const
+{
+	return personId_;
+}
+
+void ListPersonTraceRequest::setPersonId(const std::string& personId)
+{
+	personId_ = personId;
+	setBodyParameter("PersonId", personId);
+}
+

+ 119 - 0
vcs/src/model/ListPersonTraceResult.cc

@@ -0,0 +1,119 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/vcs/model/ListPersonTraceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vcs;
+using namespace AlibabaCloud::Vcs::Model;
+
+ListPersonTraceResult::ListPersonTraceResult() :
+	ServiceResult()
+{}
+
+ListPersonTraceResult::ListPersonTraceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListPersonTraceResult::~ListPersonTraceResult()
+{}
+
+void ListPersonTraceResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allDataNode = value["Data"]["Day"];
+	for (auto valueDataDay : allDataNode)
+	{
+		Day dataObject;
+		if(!valueDataDay["Date"].isNull())
+			dataObject.date = valueDataDay["Date"].asString();
+		if(!valueDataDay["LastTime"].isNull())
+			dataObject.lastTime = valueDataDay["LastTime"].asString();
+		if(!valueDataDay["StartTime"].isNull())
+			dataObject.startTime = valueDataDay["StartTime"].asString();
+		if(!valueDataDay["EndSourceImage"].isNull())
+			dataObject.endSourceImage = valueDataDay["EndSourceImage"].asString();
+		if(!valueDataDay["DeviceId"].isNull())
+			dataObject.deviceId = valueDataDay["DeviceId"].asString();
+		if(!valueDataDay["StartTargetImage"].isNull())
+			dataObject.startTargetImage = valueDataDay["StartTargetImage"].asString();
+		if(!valueDataDay["GroupId"].isNull())
+			dataObject.groupId = valueDataDay["GroupId"].asString();
+		if(!valueDataDay["PersonId"].isNull())
+			dataObject.personId = valueDataDay["PersonId"].asString();
+		if(!valueDataDay["StartSourceImage"].isNull())
+			dataObject.startSourceImage = valueDataDay["StartSourceImage"].asString();
+		if(!valueDataDay["CorpId"].isNull())
+			dataObject.corpId = valueDataDay["CorpId"].asString();
+		if(!valueDataDay["EndTargetImage"].isNull())
+			dataObject.endTargetImage = valueDataDay["EndTargetImage"].asString();
+		data_.push_back(dataObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString();
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+
+}
+
+int ListPersonTraceResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+std::string ListPersonTraceResult::getMessage()const
+{
+	return message_;
+}
+
+int ListPersonTraceResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int ListPersonTraceResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<ListPersonTraceResult::Day> ListPersonTraceResult::getData()const
+{
+	return data_;
+}
+
+std::string ListPersonTraceResult::getCode()const
+{
+	return code_;
+}
+
+std::string ListPersonTraceResult::getSuccess()const
+{
+	return success_;
+}
+