Fixed bugs for MassPush API.

This commit is contained in:
sdk-team
2020-04-23 17:51:52 +08:00
parent a1dd7e1dbd
commit 4aa00d49d1
13 changed files with 7 additions and 760 deletions

View File

@@ -31,21 +31,21 @@ PushClient::PushClient(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, "cps");
endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
}
PushClient::PushClient(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, "cps");
endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
}
PushClient::PushClient(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, "cps");
endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
}
PushClient::~PushClient()
@@ -339,42 +339,6 @@ PushClient::ContinuouslyPushOutcomeCallable PushClient::continuouslyPushCallable
return task->get_future();
}
PushClient::ListPushRecordsOutcome PushClient::listPushRecords(const ListPushRecordsRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return ListPushRecordsOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return ListPushRecordsOutcome(ListPushRecordsResult(outcome.result()));
else
return ListPushRecordsOutcome(outcome.error());
}
void PushClient::listPushRecordsAsync(const ListPushRecordsRequest& request, const ListPushRecordsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, listPushRecords(request), context);
};
asyncExecute(new Runnable(fn));
}
PushClient::ListPushRecordsOutcomeCallable PushClient::listPushRecordsCallable(const ListPushRecordsRequest &request) const
{
auto task = std::make_shared<std::packaged_task<ListPushRecordsOutcome()>>(
[this, request]()
{
return this->listPushRecords(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
PushClient::ListSummaryAppsOutcome PushClient::listSummaryApps(const ListSummaryAppsRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -843,42 +807,6 @@ PushClient::QueryDevicesByAliasOutcomeCallable PushClient::queryDevicesByAliasCa
return task->get_future();
}
PushClient::QueryPushListOutcome PushClient::queryPushList(const QueryPushListRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return QueryPushListOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return QueryPushListOutcome(QueryPushListResult(outcome.result()));
else
return QueryPushListOutcome(outcome.error());
}
void PushClient::queryPushListAsync(const QueryPushListRequest& request, const QueryPushListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, queryPushList(request), context);
};
asyncExecute(new Runnable(fn));
}
PushClient::QueryPushListOutcomeCallable PushClient::queryPushListCallable(const QueryPushListRequest &request) const
{
auto task = std::make_shared<std::packaged_task<QueryPushListOutcome()>>(
[this, request]()
{
return this->queryPushList(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
PushClient::QueryPushRecordsOutcome PushClient::queryPushRecords(const QueryPushRecordsRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();

View File

@@ -1,104 +0,0 @@
/*
* 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/push/model/ListPushRecordsRequest.h>
using AlibabaCloud::Push::Model::ListPushRecordsRequest;
ListPushRecordsRequest::ListPushRecordsRequest() :
RpcServiceRequest("push", "2016-08-01", "ListPushRecords")
{}
ListPushRecordsRequest::~ListPushRecordsRequest()
{}
std::string ListPushRecordsRequest::getEndTime()const
{
return endTime_;
}
void ListPushRecordsRequest::setEndTime(const std::string& endTime)
{
endTime_ = endTime;
setCoreParameter("EndTime", endTime);
}
std::string ListPushRecordsRequest::getStartTime()const
{
return startTime_;
}
void ListPushRecordsRequest::setStartTime(const std::string& startTime)
{
startTime_ = startTime;
setCoreParameter("StartTime", startTime);
}
std::string ListPushRecordsRequest::getAccessKeyId()const
{
return accessKeyId_;
}
void ListPushRecordsRequest::setAccessKeyId(const std::string& accessKeyId)
{
accessKeyId_ = accessKeyId;
setCoreParameter("AccessKeyId", accessKeyId);
}
int ListPushRecordsRequest::getPageSize()const
{
return pageSize_;
}
void ListPushRecordsRequest::setPageSize(int pageSize)
{
pageSize_ = pageSize;
setCoreParameter("PageSize", std::to_string(pageSize));
}
long ListPushRecordsRequest::getAppKey()const
{
return appKey_;
}
void ListPushRecordsRequest::setAppKey(long appKey)
{
appKey_ = appKey;
setCoreParameter("AppKey", std::to_string(appKey));
}
int ListPushRecordsRequest::getPage()const
{
return page_;
}
void ListPushRecordsRequest::setPage(int page)
{
page_ = page;
setCoreParameter("Page", std::to_string(page));
}
std::string ListPushRecordsRequest::getPushType()const
{
return pushType_;
}
void ListPushRecordsRequest::setPushType(const std::string& pushType)
{
pushType_ = pushType;
setCoreParameter("PushType", pushType);
}

View File

@@ -1,92 +0,0 @@
/*
* 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/push/model/ListPushRecordsResult.h>
#include <json/json.h>
using namespace AlibabaCloud::Push;
using namespace AlibabaCloud::Push::Model;
ListPushRecordsResult::ListPushRecordsResult() :
ServiceResult()
{}
ListPushRecordsResult::ListPushRecordsResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
ListPushRecordsResult::~ListPushRecordsResult()
{}
void ListPushRecordsResult::parse(const std::string &payload)
{
Json::Reader reader;
Json::Value value;
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
auto allPushMessageInfosNode = value["PushMessageInfos"]["PushMessageInfo"];
for (auto valuePushMessageInfosPushMessageInfo : allPushMessageInfosNode)
{
PushMessageInfo pushMessageInfosObject;
if(!valuePushMessageInfosPushMessageInfo["AppKey"].isNull())
pushMessageInfosObject.appKey = std::stol(valuePushMessageInfosPushMessageInfo["AppKey"].asString());
if(!valuePushMessageInfosPushMessageInfo["AppName"].isNull())
pushMessageInfosObject.appName = valuePushMessageInfosPushMessageInfo["AppName"].asString();
if(!valuePushMessageInfosPushMessageInfo["MessageId"].isNull())
pushMessageInfosObject.messageId = valuePushMessageInfosPushMessageInfo["MessageId"].asString();
if(!valuePushMessageInfosPushMessageInfo["Type"].isNull())
pushMessageInfosObject.type = valuePushMessageInfosPushMessageInfo["Type"].asString();
if(!valuePushMessageInfosPushMessageInfo["DeviceType"].isNull())
pushMessageInfosObject.deviceType = valuePushMessageInfosPushMessageInfo["DeviceType"].asString();
if(!valuePushMessageInfosPushMessageInfo["PushTime"].isNull())
pushMessageInfosObject.pushTime = valuePushMessageInfosPushMessageInfo["PushTime"].asString();
if(!valuePushMessageInfosPushMessageInfo["Title"].isNull())
pushMessageInfosObject.title = valuePushMessageInfosPushMessageInfo["Title"].asString();
if(!valuePushMessageInfosPushMessageInfo["Body"].isNull())
pushMessageInfosObject.body = valuePushMessageInfosPushMessageInfo["Body"].asString();
pushMessageInfos_.push_back(pushMessageInfosObject);
}
if(!value["Total"].isNull())
total_ = std::stoi(value["Total"].asString());
if(!value["Page"].isNull())
page_ = std::stoi(value["Page"].asString());
if(!value["PageSize"].isNull())
pageSize_ = std::stoi(value["PageSize"].asString());
}
int ListPushRecordsResult::getPageSize()const
{
return pageSize_;
}
int ListPushRecordsResult::getTotal()const
{
return total_;
}
int ListPushRecordsResult::getPage()const
{
return page_;
}
std::vector<ListPushRecordsResult::PushMessageInfo> ListPushRecordsResult::getPushMessageInfos()const
{
return pushMessageInfos_;
}

View File

@@ -1,104 +0,0 @@
/*
* 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/push/model/QueryPushListRequest.h>
using AlibabaCloud::Push::Model::QueryPushListRequest;
QueryPushListRequest::QueryPushListRequest() :
RpcServiceRequest("push", "2016-08-01", "QueryPushList")
{}
QueryPushListRequest::~QueryPushListRequest()
{}
std::string QueryPushListRequest::getEndTime()const
{
return endTime_;
}
void QueryPushListRequest::setEndTime(const std::string& endTime)
{
endTime_ = endTime;
setCoreParameter("EndTime", endTime);
}
std::string QueryPushListRequest::getStartTime()const
{
return startTime_;
}
void QueryPushListRequest::setStartTime(const std::string& startTime)
{
startTime_ = startTime;
setCoreParameter("StartTime", startTime);
}
std::string QueryPushListRequest::getAccessKeyId()const
{
return accessKeyId_;
}
void QueryPushListRequest::setAccessKeyId(const std::string& accessKeyId)
{
accessKeyId_ = accessKeyId;
setCoreParameter("AccessKeyId", accessKeyId);
}
int QueryPushListRequest::getPageSize()const
{
return pageSize_;
}
void QueryPushListRequest::setPageSize(int pageSize)
{
pageSize_ = pageSize;
setCoreParameter("PageSize", std::to_string(pageSize));
}
long QueryPushListRequest::getAppKey()const
{
return appKey_;
}
void QueryPushListRequest::setAppKey(long appKey)
{
appKey_ = appKey;
setCoreParameter("AppKey", std::to_string(appKey));
}
int QueryPushListRequest::getPage()const
{
return page_;
}
void QueryPushListRequest::setPage(int page)
{
page_ = page;
setCoreParameter("Page", std::to_string(page));
}
std::string QueryPushListRequest::getPushType()const
{
return pushType_;
}
void QueryPushListRequest::setPushType(const std::string& pushType)
{
pushType_ = pushType;
setCoreParameter("PushType", pushType);
}

View File

@@ -1,92 +0,0 @@
/*
* 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/push/model/QueryPushListResult.h>
#include <json/json.h>
using namespace AlibabaCloud::Push;
using namespace AlibabaCloud::Push::Model;
QueryPushListResult::QueryPushListResult() :
ServiceResult()
{}
QueryPushListResult::QueryPushListResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
QueryPushListResult::~QueryPushListResult()
{}
void QueryPushListResult::parse(const std::string &payload)
{
Json::Reader reader;
Json::Value value;
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
auto allPushMessageInfosNode = value["PushMessageInfos"]["PushMessageInfo"];
for (auto valuePushMessageInfosPushMessageInfo : allPushMessageInfosNode)
{
PushMessageInfo pushMessageInfosObject;
if(!valuePushMessageInfosPushMessageInfo["AppKey"].isNull())
pushMessageInfosObject.appKey = std::stol(valuePushMessageInfosPushMessageInfo["AppKey"].asString());
if(!valuePushMessageInfosPushMessageInfo["AppName"].isNull())
pushMessageInfosObject.appName = valuePushMessageInfosPushMessageInfo["AppName"].asString();
if(!valuePushMessageInfosPushMessageInfo["MessageId"].isNull())
pushMessageInfosObject.messageId = valuePushMessageInfosPushMessageInfo["MessageId"].asString();
if(!valuePushMessageInfosPushMessageInfo["Type"].isNull())
pushMessageInfosObject.type = valuePushMessageInfosPushMessageInfo["Type"].asString();
if(!valuePushMessageInfosPushMessageInfo["DeviceType"].isNull())
pushMessageInfosObject.deviceType = valuePushMessageInfosPushMessageInfo["DeviceType"].asString();
if(!valuePushMessageInfosPushMessageInfo["PushTime"].isNull())
pushMessageInfosObject.pushTime = valuePushMessageInfosPushMessageInfo["PushTime"].asString();
if(!valuePushMessageInfosPushMessageInfo["Title"].isNull())
pushMessageInfosObject.title = valuePushMessageInfosPushMessageInfo["Title"].asString();
if(!valuePushMessageInfosPushMessageInfo["Body"].isNull())
pushMessageInfosObject.body = valuePushMessageInfosPushMessageInfo["Body"].asString();
pushMessageInfos_.push_back(pushMessageInfosObject);
}
if(!value["HasNext"].isNull())
hasNext_ = value["HasNext"].asString() == "true";
if(!value["Page"].isNull())
page_ = std::stoi(value["Page"].asString());
if(!value["PageSize"].isNull())
pageSize_ = std::stoi(value["PageSize"].asString());
}
int QueryPushListResult::getPageSize()const
{
return pageSize_;
}
int QueryPushListResult::getPage()const
{
return page_;
}
std::vector<QueryPushListResult::PushMessageInfo> QueryPushListResult::getPushMessageInfos()const
{
return pushMessageInfos_;
}
bool QueryPushListResult::getHasNext()const
{
return hasNext_;
}