diff --git a/CHANGELOG b/CHANGELOG index ab1490dff..b480a8e8f 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,6 @@ +2020-09-17 Version: patch +- GetTitleIntelligence add interface. + 2020-09-17 Version: patch - Fix endpoint. diff --git a/alimt/CMakeLists.txt b/alimt/CMakeLists.txt index 6a1405156..bd94bf07a 100644 --- a/alimt/CMakeLists.txt +++ b/alimt/CMakeLists.txt @@ -35,6 +35,8 @@ set(alimt_public_header_model include/alibabacloud/alimt/model/GetTitleDiagnoseResult.h include/alibabacloud/alimt/model/GetTitleGenerateRequest.h include/alibabacloud/alimt/model/GetTitleGenerateResult.h + include/alibabacloud/alimt/model/GetTitleIntelligenceRequest.h + include/alibabacloud/alimt/model/GetTitleIntelligenceResult.h include/alibabacloud/alimt/model/TranslateRequest.h include/alibabacloud/alimt/model/TranslateResult.h include/alibabacloud/alimt/model/TranslateCertificateRequest.h @@ -60,6 +62,8 @@ set(alimt_src src/model/GetTitleDiagnoseResult.cc src/model/GetTitleGenerateRequest.cc src/model/GetTitleGenerateResult.cc + src/model/GetTitleIntelligenceRequest.cc + src/model/GetTitleIntelligenceResult.cc src/model/TranslateRequest.cc src/model/TranslateResult.cc src/model/TranslateCertificateRequest.cc diff --git a/alimt/include/alibabacloud/alimt/AlimtClient.h b/alimt/include/alibabacloud/alimt/AlimtClient.h index 57b45eb59..dd8379a2e 100644 --- a/alimt/include/alibabacloud/alimt/AlimtClient.h +++ b/alimt/include/alibabacloud/alimt/AlimtClient.h @@ -36,6 +36,8 @@ #include "model/GetTitleDiagnoseResult.h" #include "model/GetTitleGenerateRequest.h" #include "model/GetTitleGenerateResult.h" +#include "model/GetTitleIntelligenceRequest.h" +#include "model/GetTitleIntelligenceResult.h" #include "model/TranslateRequest.h" #include "model/TranslateResult.h" #include "model/TranslateCertificateRequest.h" @@ -74,6 +76,9 @@ namespace AlibabaCloud typedef Outcome GetTitleGenerateOutcome; typedef std::future GetTitleGenerateOutcomeCallable; typedef std::function&)> GetTitleGenerateAsyncHandler; + typedef Outcome GetTitleIntelligenceOutcome; + typedef std::future GetTitleIntelligenceOutcomeCallable; + typedef std::function&)> GetTitleIntelligenceAsyncHandler; typedef Outcome TranslateOutcome; typedef std::future TranslateOutcomeCallable; typedef std::function&)> TranslateAsyncHandler; @@ -112,6 +117,9 @@ namespace AlibabaCloud GetTitleGenerateOutcome getTitleGenerate(const Model::GetTitleGenerateRequest &request)const; void getTitleGenerateAsync(const Model::GetTitleGenerateRequest& request, const GetTitleGenerateAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; GetTitleGenerateOutcomeCallable getTitleGenerateCallable(const Model::GetTitleGenerateRequest& request) const; + GetTitleIntelligenceOutcome getTitleIntelligence(const Model::GetTitleIntelligenceRequest &request)const; + void getTitleIntelligenceAsync(const Model::GetTitleIntelligenceRequest& request, const GetTitleIntelligenceAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + GetTitleIntelligenceOutcomeCallable getTitleIntelligenceCallable(const Model::GetTitleIntelligenceRequest& request) const; TranslateOutcome translate(const Model::TranslateRequest &request)const; void translateAsync(const Model::TranslateRequest& request, const TranslateAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; TranslateOutcomeCallable translateCallable(const Model::TranslateRequest& request) const; diff --git a/alimt/include/alibabacloud/alimt/model/GetTitleIntelligenceRequest.h b/alimt/include/alibabacloud/alimt/model/GetTitleIntelligenceRequest.h new file mode 100644 index 000000000..cfc9489b0 --- /dev/null +++ b/alimt/include/alibabacloud/alimt/model/GetTitleIntelligenceRequest.h @@ -0,0 +1,60 @@ +/* + * 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_ALIMT_MODEL_GETTITLEINTELLIGENCEREQUEST_H_ +#define ALIBABACLOUD_ALIMT_MODEL_GETTITLEINTELLIGENCEREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Alimt + { + namespace Model + { + class ALIBABACLOUD_ALIMT_EXPORT GetTitleIntelligenceRequest : public RpcServiceRequest + { + + public: + GetTitleIntelligenceRequest(); + ~GetTitleIntelligenceRequest(); + + long getCatLevelThreeId()const; + void setCatLevelThreeId(long catLevelThreeId); + long getCatLevelTwoId()const; + void setCatLevelTwoId(long catLevelTwoId); + std::string getKeywords()const; + void setKeywords(const std::string& keywords); + std::string getPlatform()const; + void setPlatform(const std::string& platform); + std::string getExtra()const; + void setExtra(const std::string& extra); + + private: + long catLevelThreeId_; + long catLevelTwoId_; + std::string keywords_; + std::string platform_; + std::string extra_; + + }; + } + } +} +#endif // !ALIBABACLOUD_ALIMT_MODEL_GETTITLEINTELLIGENCEREQUEST_H_ \ No newline at end of file diff --git a/alimt/include/alibabacloud/alimt/model/GetTitleIntelligenceResult.h b/alimt/include/alibabacloud/alimt/model/GetTitleIntelligenceResult.h new file mode 100644 index 000000000..6cf07c351 --- /dev/null +++ b/alimt/include/alibabacloud/alimt/model/GetTitleIntelligenceResult.h @@ -0,0 +1,59 @@ +/* + * 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_ALIMT_MODEL_GETTITLEINTELLIGENCERESULT_H_ +#define ALIBABACLOUD_ALIMT_MODEL_GETTITLEINTELLIGENCERESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Alimt + { + namespace Model + { + class ALIBABACLOUD_ALIMT_EXPORT GetTitleIntelligenceResult : public ServiceResult + { + public: + struct Data + { + std::string titles; + }; + + + GetTitleIntelligenceResult(); + explicit GetTitleIntelligenceResult(const std::string &payload); + ~GetTitleIntelligenceResult(); + std::string getMessage()const; + Data getData()const; + int getCode()const; + + protected: + void parse(const std::string &payload); + private: + std::string message_; + Data data_; + int code_; + + }; + } + } +} +#endif // !ALIBABACLOUD_ALIMT_MODEL_GETTITLEINTELLIGENCERESULT_H_ \ No newline at end of file diff --git a/alimt/src/AlimtClient.cc b/alimt/src/AlimtClient.cc index bf035bcd8..e381e64ab 100644 --- a/alimt/src/AlimtClient.cc +++ b/alimt/src/AlimtClient.cc @@ -303,6 +303,42 @@ AlimtClient::GetTitleGenerateOutcomeCallable AlimtClient::getTitleGenerateCallab return task->get_future(); } +AlimtClient::GetTitleIntelligenceOutcome AlimtClient::getTitleIntelligence(const GetTitleIntelligenceRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return GetTitleIntelligenceOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return GetTitleIntelligenceOutcome(GetTitleIntelligenceResult(outcome.result())); + else + return GetTitleIntelligenceOutcome(outcome.error()); +} + +void AlimtClient::getTitleIntelligenceAsync(const GetTitleIntelligenceRequest& request, const GetTitleIntelligenceAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, getTitleIntelligence(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +AlimtClient::GetTitleIntelligenceOutcomeCallable AlimtClient::getTitleIntelligenceCallable(const GetTitleIntelligenceRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->getTitleIntelligence(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + AlimtClient::TranslateOutcome AlimtClient::translate(const TranslateRequest &request) const { auto endpointOutcome = endpointProvider_->getEndpoint(); diff --git a/alimt/src/model/GetTitleIntelligenceRequest.cc b/alimt/src/model/GetTitleIntelligenceRequest.cc new file mode 100644 index 000000000..e5aa1f416 --- /dev/null +++ b/alimt/src/model/GetTitleIntelligenceRequest.cc @@ -0,0 +1,84 @@ +/* + * 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 + +using AlibabaCloud::Alimt::Model::GetTitleIntelligenceRequest; + +GetTitleIntelligenceRequest::GetTitleIntelligenceRequest() : + RpcServiceRequest("alimt", "2018-10-12", "GetTitleIntelligence") +{ + setMethod(HttpRequest::Method::Post); +} + +GetTitleIntelligenceRequest::~GetTitleIntelligenceRequest() +{} + +long GetTitleIntelligenceRequest::getCatLevelThreeId()const +{ + return catLevelThreeId_; +} + +void GetTitleIntelligenceRequest::setCatLevelThreeId(long catLevelThreeId) +{ + catLevelThreeId_ = catLevelThreeId; + setBodyParameter("CatLevelThreeId", std::to_string(catLevelThreeId)); +} + +long GetTitleIntelligenceRequest::getCatLevelTwoId()const +{ + return catLevelTwoId_; +} + +void GetTitleIntelligenceRequest::setCatLevelTwoId(long catLevelTwoId) +{ + catLevelTwoId_ = catLevelTwoId; + setBodyParameter("CatLevelTwoId", std::to_string(catLevelTwoId)); +} + +std::string GetTitleIntelligenceRequest::getKeywords()const +{ + return keywords_; +} + +void GetTitleIntelligenceRequest::setKeywords(const std::string& keywords) +{ + keywords_ = keywords; + setBodyParameter("Keywords", keywords); +} + +std::string GetTitleIntelligenceRequest::getPlatform()const +{ + return platform_; +} + +void GetTitleIntelligenceRequest::setPlatform(const std::string& platform) +{ + platform_ = platform; + setBodyParameter("Platform", platform); +} + +std::string GetTitleIntelligenceRequest::getExtra()const +{ + return extra_; +} + +void GetTitleIntelligenceRequest::setExtra(const std::string& extra) +{ + extra_ = extra; + setBodyParameter("Extra", extra); +} + diff --git a/alimt/src/model/GetTitleIntelligenceResult.cc b/alimt/src/model/GetTitleIntelligenceResult.cc new file mode 100644 index 000000000..926d6c9b1 --- /dev/null +++ b/alimt/src/model/GetTitleIntelligenceResult.cc @@ -0,0 +1,66 @@ +/* + * 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 +#include + +using namespace AlibabaCloud::Alimt; +using namespace AlibabaCloud::Alimt::Model; + +GetTitleIntelligenceResult::GetTitleIntelligenceResult() : + ServiceResult() +{} + +GetTitleIntelligenceResult::GetTitleIntelligenceResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +GetTitleIntelligenceResult::~GetTitleIntelligenceResult() +{} + +void GetTitleIntelligenceResult::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["Titles"].isNull()) + data_.titles = dataNode["Titles"].asString(); + if(!value["Code"].isNull()) + code_ = std::stoi(value["Code"].asString()); + if(!value["Message"].isNull()) + message_ = value["Message"].asString(); + +} + +std::string GetTitleIntelligenceResult::getMessage()const +{ + return message_; +} + +GetTitleIntelligenceResult::Data GetTitleIntelligenceResult::getData()const +{ + return data_; +} + +int GetTitleIntelligenceResult::getCode()const +{ + return code_; +} +