Explorar o código

Modify QueryAccountBill, support group by product.

sdk-team %!s(int64=6) %!d(string=hai) anos
pai
achega
47fda11426

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2019-11-15 Version 1.36.179
+- Modify QueryAccountBill, support group by product.
+
 2019-11-15 Version 1.36.178
 - Modify DescribeRestoreRangeInfo.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.178
+1.36.179

+ 6 - 0
bssopenapi/include/alibabacloud/bssopenapi/model/QueryAccountBillRequest.h

@@ -35,19 +35,25 @@ namespace AlibabaCloud
 				QueryAccountBillRequest();
 				~QueryAccountBillRequest();
 
+				std::string getProductCode()const;
+				void setProductCode(const std::string& productCode);
 				std::string getBillingCycle()const;
 				void setBillingCycle(const std::string& billingCycle);
 				int getPageNum()const;
 				void setPageNum(int pageNum);
 				long getOwnerID()const;
 				void setOwnerID(long ownerID);
+				bool getIsGroupByProduct()const;
+				void setIsGroupByProduct(bool isGroupByProduct);
 				int getPageSize()const;
 				void setPageSize(int pageSize);
 
             private:
+				std::string productCode_;
 				std::string billingCycle_;
 				int pageNum_;
 				long ownerID_;
+				bool isGroupByProduct_;
 				int pageSize_;
 
 			};

+ 8 - 5
bssopenapi/include/alibabacloud/bssopenapi/model/QueryAccountBillResult.h

@@ -36,18 +36,21 @@ namespace AlibabaCloud
 				{
 					struct Item
 					{
-						float pretaxGrossAmount;
 						float deductedByCoupons;
 						std::string ownerName;
-						std::string ownerID;
-						float pretaxAmount;
-						std::string currency;
+						std::string productName;
+						std::string productCode;
 						float deductedByCashCoupons;
 						float outstandingAmount;
-						std::string costUnit;
 						float paymentAmount;
 						float deductedByPrepaidCard;
 						float invoiceDiscount;
+						std::string subscriptionType;
+						float pretaxGrossAmount;
+						std::string ownerID;
+						float pretaxAmount;
+						std::string currency;
+						std::string costUnit;
 					};
 					std::string billingCycle;
 					int totalCount;

+ 3 - 3
bssopenapi/src/BssOpenApiClient.cc

@@ -31,21 +31,21 @@ BssOpenApiClient::BssOpenApiClient(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, "BssOpenApi");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
 }
 
 BssOpenApiClient::BssOpenApiClient(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, "BssOpenApi");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
 }
 
 BssOpenApiClient::BssOpenApiClient(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, "BssOpenApi");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
 }
 
 BssOpenApiClient::~BssOpenApiClient()

+ 22 - 0
bssopenapi/src/model/QueryAccountBillRequest.cc

@@ -27,6 +27,17 @@ QueryAccountBillRequest::QueryAccountBillRequest() :
 QueryAccountBillRequest::~QueryAccountBillRequest()
 {}
 
+std::string QueryAccountBillRequest::getProductCode()const
+{
+	return productCode_;
+}
+
+void QueryAccountBillRequest::setProductCode(const std::string& productCode)
+{
+	productCode_ = productCode;
+	setCoreParameter("ProductCode", productCode);
+}
+
 std::string QueryAccountBillRequest::getBillingCycle()const
 {
 	return billingCycle_;
@@ -60,6 +71,17 @@ void QueryAccountBillRequest::setOwnerID(long ownerID)
 	setCoreParameter("OwnerID", std::to_string(ownerID));
 }
 
+bool QueryAccountBillRequest::getIsGroupByProduct()const
+{
+	return isGroupByProduct_;
+}
+
+void QueryAccountBillRequest::setIsGroupByProduct(bool isGroupByProduct)
+{
+	isGroupByProduct_ = isGroupByProduct;
+	setCoreParameter("IsGroupByProduct", isGroupByProduct ? "true" : "false");
+}
+
 int QueryAccountBillRequest::getPageSize()const
 {
 	return pageSize_;

+ 6 - 0
bssopenapi/src/model/QueryAccountBillResult.cc

@@ -80,6 +80,12 @@ void QueryAccountBillResult::parse(const std::string &payload)
 			itemObject.currency = dataNodeItemsItem["Currency"].asString();
 		if(!dataNodeItemsItem["OwnerName"].isNull())
 			itemObject.ownerName = dataNodeItemsItem["OwnerName"].asString();
+		if(!dataNodeItemsItem["ProductCode"].isNull())
+			itemObject.productCode = dataNodeItemsItem["ProductCode"].asString();
+		if(!dataNodeItemsItem["ProductName"].isNull())
+			itemObject.productName = dataNodeItemsItem["ProductName"].asString();
+		if(!dataNodeItemsItem["SubscriptionType"].isNull())
+			itemObject.subscriptionType = dataNodeItemsItem["SubscriptionType"].asString();
 		data_.items.push_back(itemObject);
 	}
 	if(!value["Success"].isNull())