Преглед изворни кода

Add ListBodyAlgorithmResult API.

sdk-team пре 6 година
родитељ
комит
6a5e45a550

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2020-07-10 Version: 1.36.510
+- Add ListBodyAlgorithmResult API.
+
 2020-07-08 Version: 1.36.509
 - Remove GetFootwearPosition PullTakeShoesEvent PullTryOnShoesEvent.
 - Add GetFootwearEvent.

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.509
+1.36.510

+ 4 - 0
vcs/CMakeLists.txt

@@ -59,6 +59,8 @@ set(vcs_public_header_model
 	include/alibabacloud/vcs/model/GetVideoComposeResultResult.h
 	include/alibabacloud/vcs/model/GetVideoSummaryTaskResultRequest.h
 	include/alibabacloud/vcs/model/GetVideoSummaryTaskResultResult.h
+	include/alibabacloud/vcs/model/ListBodyAlgorithmResultsRequest.h
+	include/alibabacloud/vcs/model/ListBodyAlgorithmResultsResult.h
 	include/alibabacloud/vcs/model/ListCorpsRequest.h
 	include/alibabacloud/vcs/model/ListCorpsResult.h
 	include/alibabacloud/vcs/model/ListDevicesRequest.h
@@ -132,6 +134,8 @@ set(vcs_src
 	src/model/GetVideoComposeResultResult.cc
 	src/model/GetVideoSummaryTaskResultRequest.cc
 	src/model/GetVideoSummaryTaskResultResult.cc
+	src/model/ListBodyAlgorithmResultsRequest.cc
+	src/model/ListBodyAlgorithmResultsResult.cc
 	src/model/ListCorpsRequest.cc
 	src/model/ListCorpsResult.cc
 	src/model/ListDevicesRequest.cc

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

@@ -60,6 +60,8 @@
 #include "model/GetVideoComposeResultResult.h"
 #include "model/GetVideoSummaryTaskResultRequest.h"
 #include "model/GetVideoSummaryTaskResultResult.h"
+#include "model/ListBodyAlgorithmResultsRequest.h"
+#include "model/ListBodyAlgorithmResultsResult.h"
 #include "model/ListCorpsRequest.h"
 #include "model/ListCorpsResult.h"
 #include "model/ListDevicesRequest.h"
@@ -158,6 +160,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::GetVideoSummaryTaskResultResult> GetVideoSummaryTaskResultOutcome;
 			typedef std::future<GetVideoSummaryTaskResultOutcome> GetVideoSummaryTaskResultOutcomeCallable;
 			typedef std::function<void(const VcsClient*, const Model::GetVideoSummaryTaskResultRequest&, const GetVideoSummaryTaskResultOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetVideoSummaryTaskResultAsyncHandler;
+			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::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;
@@ -268,6 +273,9 @@ namespace AlibabaCloud
 			GetVideoSummaryTaskResultOutcome getVideoSummaryTaskResult(const Model::GetVideoSummaryTaskResultRequest &request)const;
 			void getVideoSummaryTaskResultAsync(const Model::GetVideoSummaryTaskResultRequest& request, const GetVideoSummaryTaskResultAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetVideoSummaryTaskResultOutcomeCallable getVideoSummaryTaskResultCallable(const Model::GetVideoSummaryTaskResultRequest& request) const;
+			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;
 			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;

+ 69 - 0
vcs/include/alibabacloud/vcs/model/ListBodyAlgorithmResultsRequest.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_LISTBODYALGORITHMRESULTSREQUEST_H_
+#define ALIBABACLOUD_VCS_MODEL_LISTBODYALGORITHMRESULTSREQUEST_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 ListBodyAlgorithmResultsRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListBodyAlgorithmResultsRequest();
+				~ListBodyAlgorithmResultsRequest();
+
+				std::string getAlgorithmType()const;
+				void setAlgorithmType(const std::string& algorithmType);
+				std::string getCorpId()const;
+				void setCorpId(const std::string& corpId);
+				std::string getCapStyle()const;
+				void setCapStyle(const std::string& capStyle);
+				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 getDataSourceId()const;
+				void setDataSourceId(const std::string& dataSourceId);
+				std::string getPageSize()const;
+				void setPageSize(const std::string& pageSize);
+
+            private:
+				std::string algorithmType_;
+				std::string corpId_;
+				std::string capStyle_;
+				std::string endTime_;
+				std::string startTime_;
+				std::string pageNumber_;
+				std::string dataSourceId_;
+				std::string pageSize_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VCS_MODEL_LISTBODYALGORITHMRESULTSREQUEST_H_

+ 81 - 0
vcs/include/alibabacloud/vcs/model/ListBodyAlgorithmResultsResult.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_LISTBODYALGORITHMRESULTSRESULT_H_
+#define ALIBABACLOUD_VCS_MODEL_LISTBODYALGORITHMRESULTSRESULT_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 ListBodyAlgorithmResultsResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct RecordsItem
+					{
+						std::string genderCode;
+						std::string picUrlPath;
+						std::string corpId;
+						float rightBottomX;
+						float rightBottomY;
+						std::string targetPicUrlPath;
+						std::string maxAge;
+						float leftTopY;
+						std::string capStyle;
+						float leftTopX;
+						std::string minAge;
+						std::string personId;
+						std::string shotTime;
+						std::string dataSourceId;
+						std::string hairStyle;
+					};
+					int totalCount;
+					int pageSize;
+					int totalPage;
+					int pageNumber;
+					std::vector<RecordsItem> records;
+				};
+
+
+				ListBodyAlgorithmResultsResult();
+				explicit ListBodyAlgorithmResultsResult(const std::string &payload);
+				~ListBodyAlgorithmResultsResult();
+				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_LISTBODYALGORITHMRESULTSRESULT_H_

+ 39 - 3
vcs/src/VcsClient.cc

@@ -31,21 +31,21 @@ VcsClient::VcsClient(const Credentials &credentials, const ClientConfiguration &
 	RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(credentials), configuration)
 {
 	auto locationClient = std::make_shared<LocationClient>(credentials, configuration);
-	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "vcs");
 }
 
 VcsClient::VcsClient(const std::shared_ptr<CredentialsProvider>& credentialsProvider, const ClientConfiguration & configuration) :
 	RpcServiceClient(SERVICE_NAME, credentialsProvider, configuration)
 {
 	auto locationClient = std::make_shared<LocationClient>(credentialsProvider, configuration);
-	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "vcs");
 }
 
 VcsClient::VcsClient(const std::string & accessKeyId, const std::string & accessKeySecret, const ClientConfiguration & configuration) :
 	RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(accessKeyId, accessKeySecret), configuration)
 {
 	auto locationClient = std::make_shared<LocationClient>(accessKeyId, accessKeySecret, configuration);
-	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "vcs");
 }
 
 VcsClient::~VcsClient()
@@ -735,6 +735,42 @@ VcsClient::GetVideoSummaryTaskResultOutcomeCallable VcsClient::getVideoSummaryTa
 	return task->get_future();
 }
 
+VcsClient::ListBodyAlgorithmResultsOutcome VcsClient::listBodyAlgorithmResults(const ListBodyAlgorithmResultsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListBodyAlgorithmResultsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListBodyAlgorithmResultsOutcome(ListBodyAlgorithmResultsResult(outcome.result()));
+	else
+		return ListBodyAlgorithmResultsOutcome(outcome.error());
+}
+
+void VcsClient::listBodyAlgorithmResultsAsync(const ListBodyAlgorithmResultsRequest& request, const ListBodyAlgorithmResultsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listBodyAlgorithmResults(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VcsClient::ListBodyAlgorithmResultsOutcomeCallable VcsClient::listBodyAlgorithmResultsCallable(const ListBodyAlgorithmResultsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListBodyAlgorithmResultsOutcome()>>(
+			[this, request]()
+			{
+			return this->listBodyAlgorithmResults(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VcsClient::ListCorpsOutcome VcsClient::listCorps(const ListCorpsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 117 - 0
vcs/src/model/ListBodyAlgorithmResultsRequest.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/ListBodyAlgorithmResultsRequest.h>
+
+using AlibabaCloud::Vcs::Model::ListBodyAlgorithmResultsRequest;
+
+ListBodyAlgorithmResultsRequest::ListBodyAlgorithmResultsRequest() :
+	RpcServiceRequest("vcs", "2020-05-15", "ListBodyAlgorithmResults")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ListBodyAlgorithmResultsRequest::~ListBodyAlgorithmResultsRequest()
+{}
+
+std::string ListBodyAlgorithmResultsRequest::getAlgorithmType()const
+{
+	return algorithmType_;
+}
+
+void ListBodyAlgorithmResultsRequest::setAlgorithmType(const std::string& algorithmType)
+{
+	algorithmType_ = algorithmType;
+	setBodyParameter("AlgorithmType", algorithmType);
+}
+
+std::string ListBodyAlgorithmResultsRequest::getCorpId()const
+{
+	return corpId_;
+}
+
+void ListBodyAlgorithmResultsRequest::setCorpId(const std::string& corpId)
+{
+	corpId_ = corpId;
+	setBodyParameter("CorpId", corpId);
+}
+
+std::string ListBodyAlgorithmResultsRequest::getCapStyle()const
+{
+	return capStyle_;
+}
+
+void ListBodyAlgorithmResultsRequest::setCapStyle(const std::string& capStyle)
+{
+	capStyle_ = capStyle;
+	setBodyParameter("CapStyle", capStyle);
+}
+
+std::string ListBodyAlgorithmResultsRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void ListBodyAlgorithmResultsRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setBodyParameter("EndTime", endTime);
+}
+
+std::string ListBodyAlgorithmResultsRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void ListBodyAlgorithmResultsRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setBodyParameter("StartTime", startTime);
+}
+
+std::string ListBodyAlgorithmResultsRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void ListBodyAlgorithmResultsRequest::setPageNumber(const std::string& pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setBodyParameter("PageNumber", pageNumber);
+}
+
+std::string ListBodyAlgorithmResultsRequest::getDataSourceId()const
+{
+	return dataSourceId_;
+}
+
+void ListBodyAlgorithmResultsRequest::setDataSourceId(const std::string& dataSourceId)
+{
+	dataSourceId_ = dataSourceId;
+	setBodyParameter("DataSourceId", dataSourceId);
+}
+
+std::string ListBodyAlgorithmResultsRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void ListBodyAlgorithmResultsRequest::setPageSize(const std::string& pageSize)
+{
+	pageSize_ = pageSize;
+	setBodyParameter("PageSize", pageSize);
+}
+

+ 108 - 0
vcs/src/model/ListBodyAlgorithmResultsResult.cc

@@ -0,0 +1,108 @@
+/*
+ * 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/ListBodyAlgorithmResultsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vcs;
+using namespace AlibabaCloud::Vcs::Model;
+
+ListBodyAlgorithmResultsResult::ListBodyAlgorithmResultsResult() :
+	ServiceResult()
+{}
+
+ListBodyAlgorithmResultsResult::ListBodyAlgorithmResultsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListBodyAlgorithmResultsResult::~ListBodyAlgorithmResultsResult()
+{}
+
+void ListBodyAlgorithmResultsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["PageNumber"].isNull())
+		data_.pageNumber = std::stoi(dataNode["PageNumber"].asString());
+	if(!dataNode["PageSize"].isNull())
+		data_.pageSize = std::stoi(dataNode["PageSize"].asString());
+	if(!dataNode["TotalCount"].isNull())
+		data_.totalCount = std::stoi(dataNode["TotalCount"].asString());
+	if(!dataNode["TotalPage"].isNull())
+		data_.totalPage = std::stoi(dataNode["TotalPage"].asString());
+	auto allRecordsNode = dataNode["Records"]["RecordsItem"];
+	for (auto dataNodeRecordsRecordsItem : allRecordsNode)
+	{
+		Data::RecordsItem recordsItemObject;
+		if(!dataNodeRecordsRecordsItem["CapStyle"].isNull())
+			recordsItemObject.capStyle = dataNodeRecordsRecordsItem["CapStyle"].asString();
+		if(!dataNodeRecordsRecordsItem["CorpId"].isNull())
+			recordsItemObject.corpId = dataNodeRecordsRecordsItem["CorpId"].asString();
+		if(!dataNodeRecordsRecordsItem["DataSourceId"].isNull())
+			recordsItemObject.dataSourceId = dataNodeRecordsRecordsItem["DataSourceId"].asString();
+		if(!dataNodeRecordsRecordsItem["PersonId"].isNull())
+			recordsItemObject.personId = dataNodeRecordsRecordsItem["PersonId"].asString();
+		if(!dataNodeRecordsRecordsItem["GenderCode"].isNull())
+			recordsItemObject.genderCode = dataNodeRecordsRecordsItem["GenderCode"].asString();
+		if(!dataNodeRecordsRecordsItem["HairStyle"].isNull())
+			recordsItemObject.hairStyle = dataNodeRecordsRecordsItem["HairStyle"].asString();
+		if(!dataNodeRecordsRecordsItem["LeftTopX"].isNull())
+			recordsItemObject.leftTopX = std::stof(dataNodeRecordsRecordsItem["LeftTopX"].asString());
+		if(!dataNodeRecordsRecordsItem["LeftTopY"].isNull())
+			recordsItemObject.leftTopY = std::stof(dataNodeRecordsRecordsItem["LeftTopY"].asString());
+		if(!dataNodeRecordsRecordsItem["MaxAge"].isNull())
+			recordsItemObject.maxAge = dataNodeRecordsRecordsItem["MaxAge"].asString();
+		if(!dataNodeRecordsRecordsItem["MinAge"].isNull())
+			recordsItemObject.minAge = dataNodeRecordsRecordsItem["MinAge"].asString();
+		if(!dataNodeRecordsRecordsItem["PicUrlPath"].isNull())
+			recordsItemObject.picUrlPath = dataNodeRecordsRecordsItem["PicUrlPath"].asString();
+		if(!dataNodeRecordsRecordsItem["RightBottomX"].isNull())
+			recordsItemObject.rightBottomX = std::stof(dataNodeRecordsRecordsItem["RightBottomX"].asString());
+		if(!dataNodeRecordsRecordsItem["RightBottomY"].isNull())
+			recordsItemObject.rightBottomY = std::stof(dataNodeRecordsRecordsItem["RightBottomY"].asString());
+		if(!dataNodeRecordsRecordsItem["ShotTime"].isNull())
+			recordsItemObject.shotTime = dataNodeRecordsRecordsItem["ShotTime"].asString();
+		if(!dataNodeRecordsRecordsItem["TargetPicUrlPath"].isNull())
+			recordsItemObject.targetPicUrlPath = dataNodeRecordsRecordsItem["TargetPicUrlPath"].asString();
+		data_.records.push_back(recordsItemObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string ListBodyAlgorithmResultsResult::getMessage()const
+{
+	return message_;
+}
+
+ListBodyAlgorithmResultsResult::Data ListBodyAlgorithmResultsResult::getData()const
+{
+	return data_;
+}
+
+std::string ListBodyAlgorithmResultsResult::getCode()const
+{
+	return code_;
+}
+