Supported cro algorithm.

This commit is contained in:
sdk-team
2021-08-31 06:43:16 +00:00
parent a2ec281479
commit 211ad2244b
9 changed files with 386 additions and 4 deletions

View File

@@ -1,3 +1,6 @@
2021-08-31 Version: 1.36.865
- Supported cro algorithm.
2021-08-31 Version: 1.36.864
- Supported AndroidBigPictureUrl, AndroidInboxBody, AndroidImageUrl, AndroidOppoImageId, AndroidXiaomiImageUrl, iOSNotificationThreadId for Push and MassPush.

View File

@@ -1 +1 @@
1.36.864
1.36.865

View File

@@ -29,6 +29,8 @@ set(reid_cloud_public_header_model
include/alibabacloud/reid_cloud/model/DescribeCursorResult.h
include/alibabacloud/reid_cloud/model/DescribeCustomerFlowByLocationRequest.h
include/alibabacloud/reid_cloud/model/DescribeCustomerFlowByLocationResult.h
include/alibabacloud/reid_cloud/model/DescribeCustomerFlowByLocationOfflineRequest.h
include/alibabacloud/reid_cloud/model/DescribeCustomerFlowByLocationOfflineResult.h
include/alibabacloud/reid_cloud/model/DescribeDevicesRequest.h
include/alibabacloud/reid_cloud/model/DescribeDevicesResult.h
include/alibabacloud/reid_cloud/model/DescribeHeatMapRequest.h
@@ -70,6 +72,8 @@ set(reid_cloud_src
src/model/DescribeCursorResult.cc
src/model/DescribeCustomerFlowByLocationRequest.cc
src/model/DescribeCustomerFlowByLocationResult.cc
src/model/DescribeCustomerFlowByLocationOfflineRequest.cc
src/model/DescribeCustomerFlowByLocationOfflineResult.cc
src/model/DescribeDevicesRequest.cc
src/model/DescribeDevicesResult.cc
src/model/DescribeHeatMapRequest.cc

View File

@@ -30,6 +30,8 @@
#include "model/DescribeCursorResult.h"
#include "model/DescribeCustomerFlowByLocationRequest.h"
#include "model/DescribeCustomerFlowByLocationResult.h"
#include "model/DescribeCustomerFlowByLocationOfflineRequest.h"
#include "model/DescribeCustomerFlowByLocationOfflineResult.h"
#include "model/DescribeDevicesRequest.h"
#include "model/DescribeDevicesResult.h"
#include "model/DescribeHeatMapRequest.h"
@@ -81,6 +83,9 @@ namespace AlibabaCloud
typedef Outcome<Error, Model::DescribeCustomerFlowByLocationResult> DescribeCustomerFlowByLocationOutcome;
typedef std::future<DescribeCustomerFlowByLocationOutcome> DescribeCustomerFlowByLocationOutcomeCallable;
typedef std::function<void(const Reid_cloudClient*, const Model::DescribeCustomerFlowByLocationRequest&, const DescribeCustomerFlowByLocationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeCustomerFlowByLocationAsyncHandler;
typedef Outcome<Error, Model::DescribeCustomerFlowByLocationOfflineResult> DescribeCustomerFlowByLocationOfflineOutcome;
typedef std::future<DescribeCustomerFlowByLocationOfflineOutcome> DescribeCustomerFlowByLocationOfflineOutcomeCallable;
typedef std::function<void(const Reid_cloudClient*, const Model::DescribeCustomerFlowByLocationOfflineRequest&, const DescribeCustomerFlowByLocationOfflineOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeCustomerFlowByLocationOfflineAsyncHandler;
typedef Outcome<Error, Model::DescribeDevicesResult> DescribeDevicesOutcome;
typedef std::future<DescribeDevicesOutcome> DescribeDevicesOutcomeCallable;
typedef std::function<void(const Reid_cloudClient*, const Model::DescribeDevicesRequest&, const DescribeDevicesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDevicesAsyncHandler;
@@ -143,6 +148,9 @@ namespace AlibabaCloud
DescribeCustomerFlowByLocationOutcome describeCustomerFlowByLocation(const Model::DescribeCustomerFlowByLocationRequest &request)const;
void describeCustomerFlowByLocationAsync(const Model::DescribeCustomerFlowByLocationRequest& request, const DescribeCustomerFlowByLocationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
DescribeCustomerFlowByLocationOutcomeCallable describeCustomerFlowByLocationCallable(const Model::DescribeCustomerFlowByLocationRequest& request) const;
DescribeCustomerFlowByLocationOfflineOutcome describeCustomerFlowByLocationOffline(const Model::DescribeCustomerFlowByLocationOfflineRequest &request)const;
void describeCustomerFlowByLocationOfflineAsync(const Model::DescribeCustomerFlowByLocationOfflineRequest& request, const DescribeCustomerFlowByLocationOfflineAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
DescribeCustomerFlowByLocationOfflineOutcomeCallable describeCustomerFlowByLocationOfflineCallable(const Model::DescribeCustomerFlowByLocationOfflineRequest& request) const;
DescribeDevicesOutcome describeDevices(const Model::DescribeDevicesRequest &request)const;
void describeDevicesAsync(const Model::DescribeDevicesRequest& request, const DescribeDevicesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
DescribeDevicesOutcomeCallable describeDevicesCallable(const Model::DescribeDevicesRequest& request) const;

View File

@@ -0,0 +1,51 @@
/*
* 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_REID_CLOUD_MODEL_DESCRIBECUSTOMERFLOWBYLOCATIONOFFLINEREQUEST_H_
#define ALIBABACLOUD_REID_CLOUD_MODEL_DESCRIBECUSTOMERFLOWBYLOCATIONOFFLINEREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/reid_cloud/Reid_cloudExport.h>
namespace AlibabaCloud
{
namespace Reid_cloud
{
namespace Model
{
class ALIBABACLOUD_REID_CLOUD_EXPORT DescribeCustomerFlowByLocationOfflineRequest : public RpcServiceRequest
{
public:
DescribeCustomerFlowByLocationOfflineRequest();
~DescribeCustomerFlowByLocationOfflineRequest();
std::string getStartDate()const;
void setStartDate(const std::string& startDate);
long getStoreId()const;
void setStoreId(long storeId);
private:
std::string startDate_;
long storeId_;
};
}
}
}
#endif // !ALIBABACLOUD_REID_CLOUD_MODEL_DESCRIBECUSTOMERFLOWBYLOCATIONOFFLINEREQUEST_H_

View File

@@ -0,0 +1,86 @@
/*
* 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_REID_CLOUD_MODEL_DESCRIBECUSTOMERFLOWBYLOCATIONOFFLINERESULT_H_
#define ALIBABACLOUD_REID_CLOUD_MODEL_DESCRIBECUSTOMERFLOWBYLOCATIONOFFLINERESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/reid_cloud/Reid_cloudExport.h>
namespace AlibabaCloud
{
namespace Reid_cloud
{
namespace Model
{
class ALIBABACLOUD_REID_CLOUD_EXPORT DescribeCustomerFlowByLocationOfflineResult : public ServiceResult
{
public:
struct CustomerSummaryItem
{
struct CustomerFlow
{
struct CustomerFlowItem
{
long locationId;
std::vector<std::string> ukId;
};
long currentLocationId;
std::vector<CustomerFlow::CustomerFlowItem> customerFlowItems;
long count;
};
std::vector<CustomerSummaryItem::CustomerFlow> customerFlows;
long summaryEndTime;
long summaryStartTime;
};
DescribeCustomerFlowByLocationOfflineResult();
explicit DescribeCustomerFlowByLocationOfflineResult(const std::string &payload);
~DescribeCustomerFlowByLocationOfflineResult();
std::vector<CustomerSummaryItem> getCustomerSummary()const;
std::string getMessage()const;
long getStoreId()const;
std::string getSummaryDay()const;
std::string getDynamicCode()const;
std::string getDynamicMessage()const;
std::string getErrorCode()const;
std::string getErrorMessage()const;
std::string getCode()const;
bool getSuccess()const;
protected:
void parse(const std::string &payload);
private:
std::vector<CustomerSummaryItem> customerSummary_;
std::string message_;
long storeId_;
std::string summaryDay_;
std::string dynamicCode_;
std::string dynamicMessage_;
std::string errorCode_;
std::string errorMessage_;
std::string code_;
bool success_;
};
}
}
}
#endif // !ALIBABACLOUD_REID_CLOUD_MODEL_DESCRIBECUSTOMERFLOWBYLOCATIONOFFLINERESULT_H_

View File

@@ -31,21 +31,21 @@ Reid_cloudClient::Reid_cloudClient(const Credentials &credentials, const ClientC
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, "1.2.1");
endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "1.2.2");
}
Reid_cloudClient::Reid_cloudClient(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, "1.2.1");
endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "1.2.2");
}
Reid_cloudClient::Reid_cloudClient(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, "1.2.1");
endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "1.2.2");
}
Reid_cloudClient::~Reid_cloudClient()
@@ -195,6 +195,42 @@ Reid_cloudClient::DescribeCustomerFlowByLocationOutcomeCallable Reid_cloudClient
return task->get_future();
}
Reid_cloudClient::DescribeCustomerFlowByLocationOfflineOutcome Reid_cloudClient::describeCustomerFlowByLocationOffline(const DescribeCustomerFlowByLocationOfflineRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return DescribeCustomerFlowByLocationOfflineOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return DescribeCustomerFlowByLocationOfflineOutcome(DescribeCustomerFlowByLocationOfflineResult(outcome.result()));
else
return DescribeCustomerFlowByLocationOfflineOutcome(outcome.error());
}
void Reid_cloudClient::describeCustomerFlowByLocationOfflineAsync(const DescribeCustomerFlowByLocationOfflineRequest& request, const DescribeCustomerFlowByLocationOfflineAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, describeCustomerFlowByLocationOffline(request), context);
};
asyncExecute(new Runnable(fn));
}
Reid_cloudClient::DescribeCustomerFlowByLocationOfflineOutcomeCallable Reid_cloudClient::describeCustomerFlowByLocationOfflineCallable(const DescribeCustomerFlowByLocationOfflineRequest &request) const
{
auto task = std::make_shared<std::packaged_task<DescribeCustomerFlowByLocationOfflineOutcome()>>(
[this, request]()
{
return this->describeCustomerFlowByLocationOffline(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
Reid_cloudClient::DescribeDevicesOutcome Reid_cloudClient::describeDevices(const DescribeDevicesRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();

View File

@@ -0,0 +1,51 @@
/*
* 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/reid_cloud/model/DescribeCustomerFlowByLocationOfflineRequest.h>
using AlibabaCloud::Reid_cloud::Model::DescribeCustomerFlowByLocationOfflineRequest;
DescribeCustomerFlowByLocationOfflineRequest::DescribeCustomerFlowByLocationOfflineRequest() :
RpcServiceRequest("reid_cloud", "2020-10-29", "DescribeCustomerFlowByLocationOffline")
{
setMethod(HttpRequest::Method::Post);
}
DescribeCustomerFlowByLocationOfflineRequest::~DescribeCustomerFlowByLocationOfflineRequest()
{}
std::string DescribeCustomerFlowByLocationOfflineRequest::getStartDate()const
{
return startDate_;
}
void DescribeCustomerFlowByLocationOfflineRequest::setStartDate(const std::string& startDate)
{
startDate_ = startDate;
setBodyParameter("StartDate", startDate);
}
long DescribeCustomerFlowByLocationOfflineRequest::getStoreId()const
{
return storeId_;
}
void DescribeCustomerFlowByLocationOfflineRequest::setStoreId(long storeId)
{
storeId_ = storeId;
setBodyParameter("StoreId", std::to_string(storeId));
}

View File

@@ -0,0 +1,143 @@
/*
* 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/reid_cloud/model/DescribeCustomerFlowByLocationOfflineResult.h>
#include <json/json.h>
using namespace AlibabaCloud::Reid_cloud;
using namespace AlibabaCloud::Reid_cloud::Model;
DescribeCustomerFlowByLocationOfflineResult::DescribeCustomerFlowByLocationOfflineResult() :
ServiceResult()
{}
DescribeCustomerFlowByLocationOfflineResult::DescribeCustomerFlowByLocationOfflineResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
DescribeCustomerFlowByLocationOfflineResult::~DescribeCustomerFlowByLocationOfflineResult()
{}
void DescribeCustomerFlowByLocationOfflineResult::parse(const std::string &payload)
{
Json::Reader reader;
Json::Value value;
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
auto allCustomerSummaryNode = value["CustomerSummary"]["customerSummaryItem"];
for (auto valueCustomerSummarycustomerSummaryItem : allCustomerSummaryNode)
{
CustomerSummaryItem customerSummaryObject;
if(!valueCustomerSummarycustomerSummaryItem["SummaryStartTime"].isNull())
customerSummaryObject.summaryStartTime = std::stol(valueCustomerSummarycustomerSummaryItem["SummaryStartTime"].asString());
if(!valueCustomerSummarycustomerSummaryItem["SummaryEndTime"].isNull())
customerSummaryObject.summaryEndTime = std::stol(valueCustomerSummarycustomerSummaryItem["SummaryEndTime"].asString());
auto allCustomerFlowsNode = valueCustomerSummarycustomerSummaryItem["CustomerFlows"]["customerFlow"];
for (auto valueCustomerSummarycustomerSummaryItemCustomerFlowscustomerFlow : allCustomerFlowsNode)
{
CustomerSummaryItem::CustomerFlow customerFlowsObject;
if(!valueCustomerSummarycustomerSummaryItemCustomerFlowscustomerFlow["CurrentLocationId"].isNull())
customerFlowsObject.currentLocationId = std::stol(valueCustomerSummarycustomerSummaryItemCustomerFlowscustomerFlow["CurrentLocationId"].asString());
if(!valueCustomerSummarycustomerSummaryItemCustomerFlowscustomerFlow["Count"].isNull())
customerFlowsObject.count = std::stol(valueCustomerSummarycustomerSummaryItemCustomerFlowscustomerFlow["Count"].asString());
auto allCustomerFlowItemsNode = valueCustomerSummarycustomerSummaryItemCustomerFlowscustomerFlow["CustomerFlowItems"]["customerFlowItem"];
for (auto valueCustomerSummarycustomerSummaryItemCustomerFlowscustomerFlowCustomerFlowItemscustomerFlowItem : allCustomerFlowItemsNode)
{
CustomerSummaryItem::CustomerFlow::CustomerFlowItem customerFlowItemsObject;
if(!valueCustomerSummarycustomerSummaryItemCustomerFlowscustomerFlowCustomerFlowItemscustomerFlowItem["LocationId"].isNull())
customerFlowItemsObject.locationId = std::stol(valueCustomerSummarycustomerSummaryItemCustomerFlowscustomerFlowCustomerFlowItemscustomerFlowItem["LocationId"].asString());
auto allUkId = value["UkId"]["ukId"];
for (auto value : allUkId)
customerFlowItemsObject.ukId.push_back(value.asString());
customerFlowsObject.customerFlowItems.push_back(customerFlowItemsObject);
}
customerSummaryObject.customerFlows.push_back(customerFlowsObject);
}
customerSummary_.push_back(customerSummaryObject);
}
if(!value["Message"].isNull())
message_ = value["Message"].asString();
if(!value["DynamicMessage"].isNull())
dynamicMessage_ = value["DynamicMessage"].asString();
if(!value["Code"].isNull())
code_ = value["Code"].asString();
if(!value["Success"].isNull())
success_ = value["Success"].asString() == "true";
if(!value["StoreId"].isNull())
storeId_ = std::stol(value["StoreId"].asString());
if(!value["SummaryDay"].isNull())
summaryDay_ = value["SummaryDay"].asString();
if(!value["DynamicCode"].isNull())
dynamicCode_ = value["DynamicCode"].asString();
if(!value["ErrorCode"].isNull())
errorCode_ = value["ErrorCode"].asString();
if(!value["ErrorMessage"].isNull())
errorMessage_ = value["ErrorMessage"].asString();
}
std::vector<DescribeCustomerFlowByLocationOfflineResult::CustomerSummaryItem> DescribeCustomerFlowByLocationOfflineResult::getCustomerSummary()const
{
return customerSummary_;
}
std::string DescribeCustomerFlowByLocationOfflineResult::getMessage()const
{
return message_;
}
long DescribeCustomerFlowByLocationOfflineResult::getStoreId()const
{
return storeId_;
}
std::string DescribeCustomerFlowByLocationOfflineResult::getSummaryDay()const
{
return summaryDay_;
}
std::string DescribeCustomerFlowByLocationOfflineResult::getDynamicCode()const
{
return dynamicCode_;
}
std::string DescribeCustomerFlowByLocationOfflineResult::getDynamicMessage()const
{
return dynamicMessage_;
}
std::string DescribeCustomerFlowByLocationOfflineResult::getErrorCode()const
{
return errorCode_;
}
std::string DescribeCustomerFlowByLocationOfflineResult::getErrorMessage()const
{
return errorMessage_;
}
std::string DescribeCustomerFlowByLocationOfflineResult::getCode()const
{
return code_;
}
bool DescribeCustomerFlowByLocationOfflineResult::getSuccess()const
{
return success_;
}