Modify QueryBill, add SubOrderId in item of response.

This commit is contained in:
sdk-team
2019-11-26 15:45:37 +08:00
parent d1a9328f7e
commit d499a02ffc
20 changed files with 459 additions and 53 deletions

View File

@@ -105,6 +105,8 @@ set(bssopenapi_public_header_model
include/alibabacloud/bssopenapi/model/QueryPrepaidCardsResult.h
include/alibabacloud/bssopenapi/model/QueryProductListRequest.h
include/alibabacloud/bssopenapi/model/QueryProductListResult.h
include/alibabacloud/bssopenapi/model/QueryRIUtilizationDetailRequest.h
include/alibabacloud/bssopenapi/model/QueryRIUtilizationDetailResult.h
include/alibabacloud/bssopenapi/model/QueryRedeemRequest.h
include/alibabacloud/bssopenapi/model/QueryRedeemResult.h
include/alibabacloud/bssopenapi/model/QueryResellerAvailableQuotaRequest.h
@@ -220,6 +222,8 @@ set(bssopenapi_src
src/model/QueryPrepaidCardsResult.cc
src/model/QueryProductListRequest.cc
src/model/QueryProductListResult.cc
src/model/QueryRIUtilizationDetailRequest.cc
src/model/QueryRIUtilizationDetailResult.cc
src/model/QueryRedeemRequest.cc
src/model/QueryRedeemResult.cc
src/model/QueryResellerAvailableQuotaRequest.cc

View File

@@ -106,6 +106,8 @@
#include "model/QueryPrepaidCardsResult.h"
#include "model/QueryProductListRequest.h"
#include "model/QueryProductListResult.h"
#include "model/QueryRIUtilizationDetailRequest.h"
#include "model/QueryRIUtilizationDetailResult.h"
#include "model/QueryRedeemRequest.h"
#include "model/QueryRedeemResult.h"
#include "model/QueryResellerAvailableQuotaRequest.h"
@@ -269,6 +271,9 @@ namespace AlibabaCloud
typedef Outcome<Error, Model::QueryProductListResult> QueryProductListOutcome;
typedef std::future<QueryProductListOutcome> QueryProductListOutcomeCallable;
typedef std::function<void(const BssOpenApiClient*, const Model::QueryProductListRequest&, const QueryProductListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryProductListAsyncHandler;
typedef Outcome<Error, Model::QueryRIUtilizationDetailResult> QueryRIUtilizationDetailOutcome;
typedef std::future<QueryRIUtilizationDetailOutcome> QueryRIUtilizationDetailOutcomeCallable;
typedef std::function<void(const BssOpenApiClient*, const Model::QueryRIUtilizationDetailRequest&, const QueryRIUtilizationDetailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryRIUtilizationDetailAsyncHandler;
typedef Outcome<Error, Model::QueryRedeemResult> QueryRedeemOutcome;
typedef std::future<QueryRedeemOutcome> QueryRedeemOutcomeCallable;
typedef std::function<void(const BssOpenApiClient*, const Model::QueryRedeemRequest&, const QueryRedeemOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryRedeemAsyncHandler;
@@ -442,6 +447,9 @@ namespace AlibabaCloud
QueryProductListOutcome queryProductList(const Model::QueryProductListRequest &request)const;
void queryProductListAsync(const Model::QueryProductListRequest& request, const QueryProductListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
QueryProductListOutcomeCallable queryProductListCallable(const Model::QueryProductListRequest& request) const;
QueryRIUtilizationDetailOutcome queryRIUtilizationDetail(const Model::QueryRIUtilizationDetailRequest &request)const;
void queryRIUtilizationDetailAsync(const Model::QueryRIUtilizationDetailRequest& request, const QueryRIUtilizationDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
QueryRIUtilizationDetailOutcomeCallable queryRIUtilizationDetailCallable(const Model::QueryRIUtilizationDetailRequest& request) const;
QueryRedeemOutcome queryRedeem(const Model::QueryRedeemRequest &request)const;
void queryRedeemAsync(const Model::QueryRedeemRequest& request, const QueryRedeemAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
QueryRedeemOutcomeCallable queryRedeemCallable(const Model::QueryRedeemRequest& request) const;

View File

@@ -38,6 +38,7 @@ namespace AlibabaCloud
{
float afterTaxAmount;
std::string productName;
std::string subOrderId;
float deductedByCashCoupons;
std::string paymentTime;
float tax;

View File

@@ -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_BSSOPENAPI_MODEL_QUERYRIUTILIZATIONDETAILREQUEST_H_
#define ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYRIUTILIZATIONDETAILREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/bssopenapi/BssOpenApiExport.h>
namespace AlibabaCloud
{
namespace BssOpenApi
{
namespace Model
{
class ALIBABACLOUD_BSSOPENAPI_EXPORT QueryRIUtilizationDetailRequest : public RpcServiceRequest
{
public:
QueryRIUtilizationDetailRequest();
~QueryRIUtilizationDetailRequest();
std::string getDeductedInstanceId()const;
void setDeductedInstanceId(const std::string& deductedInstanceId);
std::string getInstanceSpec()const;
void setInstanceSpec(const std::string& instanceSpec);
std::string getEndTime()const;
void setEndTime(const std::string& endTime);
std::string getRIInstanceId()const;
void setRIInstanceId(const std::string& rIInstanceId);
std::string getStartTime()const;
void setStartTime(const std::string& startTime);
int getPageNum()const;
void setPageNum(int pageNum);
int getPageSize()const;
void setPageSize(int pageSize);
std::string getRICommodityCode()const;
void setRICommodityCode(const std::string& rICommodityCode);
private:
std::string deductedInstanceId_;
std::string instanceSpec_;
std::string endTime_;
std::string rIInstanceId_;
std::string startTime_;
int pageNum_;
int pageSize_;
std::string rICommodityCode_;
};
}
}
}
#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYRIUTILIZATIONDETAILREQUEST_H_

View File

@@ -0,0 +1,74 @@
/*
* 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_BSSOPENAPI_MODEL_QUERYRIUTILIZATIONDETAILRESULT_H_
#define ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYRIUTILIZATIONDETAILRESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/bssopenapi/BssOpenApiExport.h>
namespace AlibabaCloud
{
namespace BssOpenApi
{
namespace Model
{
class ALIBABACLOUD_BSSOPENAPI_EXPORT QueryRIUtilizationDetailResult : public ServiceResult
{
public:
struct Data
{
struct DetailListItem
{
std::string deductDate;
std::string instanceSpec;
std::string rIInstanceId;
std::string deductedProductDetail;
std::string deductedCommodityCode;
std::string deductedInstanceId;
std::string deductHours;
};
long totalCount;
long pageNum;
long pageSize;
std::vector<DetailListItem> detailList;
};
QueryRIUtilizationDetailResult();
explicit QueryRIUtilizationDetailResult(const std::string &payload);
~QueryRIUtilizationDetailResult();
std::string getMessage()const;
Data getData()const;
std::string getCode()const;
bool getSuccess()const;
protected:
void parse(const std::string &payload);
private:
std::string message_;
Data data_;
std::string code_;
bool success_;
};
}
}
}
#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYRIUTILIZATIONDETAILRESULT_H_

View File

@@ -1563,6 +1563,42 @@ BssOpenApiClient::QueryProductListOutcomeCallable BssOpenApiClient::queryProduct
return task->get_future();
}
BssOpenApiClient::QueryRIUtilizationDetailOutcome BssOpenApiClient::queryRIUtilizationDetail(const QueryRIUtilizationDetailRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return QueryRIUtilizationDetailOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return QueryRIUtilizationDetailOutcome(QueryRIUtilizationDetailResult(outcome.result()));
else
return QueryRIUtilizationDetailOutcome(outcome.error());
}
void BssOpenApiClient::queryRIUtilizationDetailAsync(const QueryRIUtilizationDetailRequest& request, const QueryRIUtilizationDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, queryRIUtilizationDetail(request), context);
};
asyncExecute(new Runnable(fn));
}
BssOpenApiClient::QueryRIUtilizationDetailOutcomeCallable BssOpenApiClient::queryRIUtilizationDetailCallable(const QueryRIUtilizationDetailRequest &request) const
{
auto task = std::make_shared<std::packaged_task<QueryRIUtilizationDetailOutcome()>>(
[this, request]()
{
return this->queryRIUtilizationDetail(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
BssOpenApiClient::QueryRedeemOutcome BssOpenApiClient::queryRedeem(const QueryRedeemRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();

View File

@@ -35,13 +35,12 @@ std::vector<AllocateCostUnitResourceRequest::ResourceInstanceList> AllocateCostU
void AllocateCostUnitResourceRequest::setResourceInstanceList(const std::vector<ResourceInstanceList>& resourceInstanceList)
{
resourceInstanceList_ = resourceInstanceList;
int i = 0;
for(int i = 0; i!= resourceInstanceList.size(); i++) {
auto obj = resourceInstanceList.at(i);
std::string str ="ResourceInstanceList."+ std::to_string(i);
setCoreParameter(str + ".ResourceId", obj.resourceId);
setCoreParameter(str + ".CommodityCode", obj.commodityCode);
setCoreParameter(str + ".ResourceUserId", std::to_string(obj.resourceUserId));
for(int dep1 = 0; dep1!= resourceInstanceList.size(); dep1++) {
auto resourceInstanceListObj = resourceInstanceList.at(dep1);
std::string resourceInstanceListObjStr = "ResourceInstanceList." + std::to_string(dep1);
setCoreParameter(resourceInstanceListObjStr + ".ResourceId", resourceInstanceListObj.resourceId);
setCoreParameter(resourceInstanceListObjStr + ".CommodityCode", resourceInstanceListObj.commodityCode);
setCoreParameter(resourceInstanceListObjStr + ".ResourceUserId", std::to_string(resourceInstanceListObj.resourceUserId));
}
}

View File

@@ -134,8 +134,9 @@ std::vector<long> ApplyInvoiceRequest::getSelectedIds()const
void ApplyInvoiceRequest::setSelectedIds(const std::vector<long>& selectedIds)
{
selectedIds_ = selectedIds;
for(int i = 0; i!= selectedIds.size(); i++)
setCoreParameter("SelectedIds."+ std::to_string(i), std::to_string(selectedIds.at(i)));
for(int dep1 = 0; dep1!= selectedIds.size(); dep1++) {
setCoreParameter("SelectedIds."+ std::to_string(dep1), std::to_string(selectedIds.at(dep1)));
}
}
long ApplyInvoiceRequest::getCallerUid()const

View File

@@ -35,13 +35,12 @@ std::vector<CreateCostUnitRequest::UnitEntityList> CreateCostUnitRequest::getUni
void CreateCostUnitRequest::setUnitEntityList(const std::vector<UnitEntityList>& unitEntityList)
{
unitEntityList_ = unitEntityList;
int i = 0;
for(int i = 0; i!= unitEntityList.size(); i++) {
auto obj = unitEntityList.at(i);
std::string str ="UnitEntityList."+ std::to_string(i);
setCoreParameter(str + ".UnitName", obj.unitName);
setCoreParameter(str + ".ParentUnitId", std::to_string(obj.parentUnitId));
setCoreParameter(str + ".OwnerUid", std::to_string(obj.ownerUid));
for(int dep1 = 0; dep1!= unitEntityList.size(); dep1++) {
auto unitEntityListObj = unitEntityList.at(dep1);
std::string unitEntityListObjStr = "UnitEntityList." + std::to_string(dep1);
setCoreParameter(unitEntityListObjStr + ".UnitName", unitEntityListObj.unitName);
setCoreParameter(unitEntityListObjStr + ".ParentUnitId", std::to_string(unitEntityListObj.parentUnitId));
setCoreParameter(unitEntityListObjStr + ".OwnerUid", std::to_string(unitEntityListObj.ownerUid));
}
}

View File

@@ -112,12 +112,11 @@ std::vector<CreateInstanceRequest::Parameter> CreateInstanceRequest::getParamete
void CreateInstanceRequest::setParameter(const std::vector<Parameter>& parameter)
{
parameter_ = parameter;
int i = 0;
for(int i = 0; i!= parameter.size(); i++) {
auto obj = parameter.at(i);
std::string str ="Parameter."+ std::to_string(i);
setCoreParameter(str + ".Code", obj.code);
setCoreParameter(str + ".Value", obj.value);
for(int dep1 = 0; dep1!= parameter.size(); dep1++) {
auto parameterObj = parameter.at(dep1);
std::string parameterObjStr = "Parameter." + std::to_string(dep1);
setCoreParameter(parameterObjStr + ".Code", parameterObj.code);
setCoreParameter(parameterObjStr + ".Value", parameterObj.value);
}
}

View File

@@ -57,13 +57,12 @@ std::vector<GetPayAsYouGoPriceRequest::ModuleList> GetPayAsYouGoPriceRequest::ge
void GetPayAsYouGoPriceRequest::setModuleList(const std::vector<ModuleList>& moduleList)
{
moduleList_ = moduleList;
int i = 0;
for(int i = 0; i!= moduleList.size(); i++) {
auto obj = moduleList.at(i);
std::string str ="ModuleList."+ std::to_string(i);
setCoreParameter(str + ".ModuleCode", obj.moduleCode);
setCoreParameter(str + ".PriceType", obj.priceType);
setCoreParameter(str + ".Config", obj.config);
for(int dep1 = 0; dep1!= moduleList.size(); dep1++) {
auto moduleListObj = moduleList.at(dep1);
std::string moduleListObjStr = "ModuleList." + std::to_string(dep1);
setCoreParameter(moduleListObjStr + ".ModuleCode", moduleListObj.moduleCode);
setCoreParameter(moduleListObjStr + ".PriceType", moduleListObj.priceType);
setCoreParameter(moduleListObjStr + ".Config", moduleListObj.config);
}
}

View File

@@ -68,14 +68,13 @@ std::vector<GetSubscriptionPriceRequest::ModuleList> GetSubscriptionPriceRequest
void GetSubscriptionPriceRequest::setModuleList(const std::vector<ModuleList>& moduleList)
{
moduleList_ = moduleList;
int i = 0;
for(int i = 0; i!= moduleList.size(); i++) {
auto obj = moduleList.at(i);
std::string str ="ModuleList."+ std::to_string(i);
setCoreParameter(str + ".ModuleCode", obj.moduleCode);
setCoreParameter(str + ".ModuleStatus", std::to_string(obj.moduleStatus));
setCoreParameter(str + ".Tag", obj.tag);
setCoreParameter(str + ".Config", obj.config);
for(int dep1 = 0; dep1!= moduleList.size(); dep1++) {
auto moduleListObj = moduleList.at(dep1);
std::string moduleListObjStr = "ModuleList." + std::to_string(dep1);
setCoreParameter(moduleListObjStr + ".ModuleCode", moduleListObj.moduleCode);
setCoreParameter(moduleListObjStr + ".ModuleStatus", std::to_string(moduleListObj.moduleStatus));
setCoreParameter(moduleListObjStr + ".Tag", moduleListObj.tag);
setCoreParameter(moduleListObjStr + ".Config", moduleListObj.config);
}
}

View File

@@ -35,13 +35,12 @@ std::vector<ModifyCostUnitRequest::UnitEntityList> ModifyCostUnitRequest::getUni
void ModifyCostUnitRequest::setUnitEntityList(const std::vector<UnitEntityList>& unitEntityList)
{
unitEntityList_ = unitEntityList;
int i = 0;
for(int i = 0; i!= unitEntityList.size(); i++) {
auto obj = unitEntityList.at(i);
std::string str ="UnitEntityList."+ std::to_string(i);
setCoreParameter(str + ".NewUnitName", obj.newUnitName);
setCoreParameter(str + ".UnitId", std::to_string(obj.unitId));
setCoreParameter(str + ".OwnerUid", std::to_string(obj.ownerUid));
for(int dep1 = 0; dep1!= unitEntityList.size(); dep1++) {
auto unitEntityListObj = unitEntityList.at(dep1);
std::string unitEntityListObjStr = "UnitEntityList." + std::to_string(dep1);
setCoreParameter(unitEntityListObjStr + ".NewUnitName", unitEntityListObj.newUnitName);
setCoreParameter(unitEntityListObjStr + ".UnitId", std::to_string(unitEntityListObj.unitId));
setCoreParameter(unitEntityListObjStr + ".OwnerUid", std::to_string(unitEntityListObj.ownerUid));
}
}

View File

@@ -112,12 +112,11 @@ std::vector<ModifyInstanceRequest::Parameter> ModifyInstanceRequest::getParamete
void ModifyInstanceRequest::setParameter(const std::vector<Parameter>& parameter)
{
parameter_ = parameter;
int i = 0;
for(int i = 0; i!= parameter.size(); i++) {
auto obj = parameter.at(i);
std::string str ="Parameter."+ std::to_string(i);
setCoreParameter(str + ".Code", obj.code);
setCoreParameter(str + ".Value", obj.value);
for(int dep1 = 0; dep1!= parameter.size(); dep1++) {
auto parameterObj = parameter.at(dep1);
std::string parameterObjStr = "Parameter." + std::to_string(dep1);
setCoreParameter(parameterObjStr + ".Code", parameterObj.code);
setCoreParameter(parameterObjStr + ".Value", parameterObj.value);
}
}

View File

@@ -110,6 +110,8 @@ void QueryBillResult::parse(const std::string &payload)
itemObject.paymentTransactionID = dataNodeItemsItem["PaymentTransactionID"].asString();
if(!dataNodeItemsItem["RoundDownDiscount"].isNull())
itemObject.roundDownDiscount = dataNodeItemsItem["RoundDownDiscount"].asString();
if(!dataNodeItemsItem["SubOrderId"].isNull())
itemObject.subOrderId = dataNodeItemsItem["SubOrderId"].asString();
data_.items.push_back(itemObject);
}
if(!value["Success"].isNull())

View File

@@ -123,8 +123,9 @@ std::vector<std::string> QueryEvaluateListRequest::getBizTypeList()const
void QueryEvaluateListRequest::setBizTypeList(const std::vector<std::string>& bizTypeList)
{
bizTypeList_ = bizTypeList;
for(int i = 0; i!= bizTypeList.size(); i++)
setCoreParameter("BizTypeList."+ std::to_string(i), bizTypeList.at(i));
for(int dep1 = 0; dep1!= bizTypeList.size(); dep1++) {
setCoreParameter("BizTypeList."+ std::to_string(dep1), bizTypeList.at(dep1));
}
}
long QueryEvaluateListRequest::getOwnerId()const

View File

@@ -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/bssopenapi/model/QueryRIUtilizationDetailRequest.h>
using AlibabaCloud::BssOpenApi::Model::QueryRIUtilizationDetailRequest;
QueryRIUtilizationDetailRequest::QueryRIUtilizationDetailRequest() :
RpcServiceRequest("bssopenapi", "2017-12-14", "QueryRIUtilizationDetail")
{
setMethod(HttpRequest::Method::Post);
}
QueryRIUtilizationDetailRequest::~QueryRIUtilizationDetailRequest()
{}
std::string QueryRIUtilizationDetailRequest::getDeductedInstanceId()const
{
return deductedInstanceId_;
}
void QueryRIUtilizationDetailRequest::setDeductedInstanceId(const std::string& deductedInstanceId)
{
deductedInstanceId_ = deductedInstanceId;
setCoreParameter("DeductedInstanceId", deductedInstanceId);
}
std::string QueryRIUtilizationDetailRequest::getInstanceSpec()const
{
return instanceSpec_;
}
void QueryRIUtilizationDetailRequest::setInstanceSpec(const std::string& instanceSpec)
{
instanceSpec_ = instanceSpec;
setCoreParameter("InstanceSpec", instanceSpec);
}
std::string QueryRIUtilizationDetailRequest::getEndTime()const
{
return endTime_;
}
void QueryRIUtilizationDetailRequest::setEndTime(const std::string& endTime)
{
endTime_ = endTime;
setCoreParameter("EndTime", endTime);
}
std::string QueryRIUtilizationDetailRequest::getRIInstanceId()const
{
return rIInstanceId_;
}
void QueryRIUtilizationDetailRequest::setRIInstanceId(const std::string& rIInstanceId)
{
rIInstanceId_ = rIInstanceId;
setCoreParameter("RIInstanceId", rIInstanceId);
}
std::string QueryRIUtilizationDetailRequest::getStartTime()const
{
return startTime_;
}
void QueryRIUtilizationDetailRequest::setStartTime(const std::string& startTime)
{
startTime_ = startTime;
setCoreParameter("StartTime", startTime);
}
int QueryRIUtilizationDetailRequest::getPageNum()const
{
return pageNum_;
}
void QueryRIUtilizationDetailRequest::setPageNum(int pageNum)
{
pageNum_ = pageNum;
setCoreParameter("PageNum", std::to_string(pageNum));
}
int QueryRIUtilizationDetailRequest::getPageSize()const
{
return pageSize_;
}
void QueryRIUtilizationDetailRequest::setPageSize(int pageSize)
{
pageSize_ = pageSize;
setCoreParameter("PageSize", std::to_string(pageSize));
}
std::string QueryRIUtilizationDetailRequest::getRICommodityCode()const
{
return rICommodityCode_;
}
void QueryRIUtilizationDetailRequest::setRICommodityCode(const std::string& rICommodityCode)
{
rICommodityCode_ = rICommodityCode;
setCoreParameter("RICommodityCode", rICommodityCode);
}

View File

@@ -0,0 +1,97 @@
/*
* 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/bssopenapi/model/QueryRIUtilizationDetailResult.h>
#include <json/json.h>
using namespace AlibabaCloud::BssOpenApi;
using namespace AlibabaCloud::BssOpenApi::Model;
QueryRIUtilizationDetailResult::QueryRIUtilizationDetailResult() :
ServiceResult()
{}
QueryRIUtilizationDetailResult::QueryRIUtilizationDetailResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
QueryRIUtilizationDetailResult::~QueryRIUtilizationDetailResult()
{}
void QueryRIUtilizationDetailResult::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["PageNum"].isNull())
data_.pageNum = std::stol(dataNode["PageNum"].asString());
if(!dataNode["PageSize"].isNull())
data_.pageSize = std::stol(dataNode["PageSize"].asString());
if(!dataNode["TotalCount"].isNull())
data_.totalCount = std::stol(dataNode["TotalCount"].asString());
auto allDetailListNode = dataNode["DetailList"]["DetailListItem"];
for (auto dataNodeDetailListDetailListItem : allDetailListNode)
{
Data::DetailListItem detailListItemObject;
if(!dataNodeDetailListDetailListItem["RIInstanceId"].isNull())
detailListItemObject.rIInstanceId = dataNodeDetailListDetailListItem["RIInstanceId"].asString();
if(!dataNodeDetailListDetailListItem["InstanceSpec"].isNull())
detailListItemObject.instanceSpec = dataNodeDetailListDetailListItem["InstanceSpec"].asString();
if(!dataNodeDetailListDetailListItem["DeductedInstanceId"].isNull())
detailListItemObject.deductedInstanceId = dataNodeDetailListDetailListItem["DeductedInstanceId"].asString();
if(!dataNodeDetailListDetailListItem["DeductedCommodityCode"].isNull())
detailListItemObject.deductedCommodityCode = dataNodeDetailListDetailListItem["DeductedCommodityCode"].asString();
if(!dataNodeDetailListDetailListItem["DeductDate"].isNull())
detailListItemObject.deductDate = dataNodeDetailListDetailListItem["DeductDate"].asString();
if(!dataNodeDetailListDetailListItem["DeductHours"].isNull())
detailListItemObject.deductHours = dataNodeDetailListDetailListItem["DeductHours"].asString();
if(!dataNodeDetailListDetailListItem["DeductedProductDetail"].isNull())
detailListItemObject.deductedProductDetail = dataNodeDetailListDetailListItem["DeductedProductDetail"].asString();
data_.detailList.push_back(detailListItemObject);
}
if(!value["Success"].isNull())
success_ = value["Success"].asString() == "true";
if(!value["Code"].isNull())
code_ = value["Code"].asString();
if(!value["Message"].isNull())
message_ = value["Message"].asString();
}
std::string QueryRIUtilizationDetailResult::getMessage()const
{
return message_;
}
QueryRIUtilizationDetailResult::Data QueryRIUtilizationDetailResult::getData()const
{
return data_;
}
std::string QueryRIUtilizationDetailResult::getCode()const
{
return code_;
}
bool QueryRIUtilizationDetailResult::getSuccess()const
{
return success_;
}