DescribeBaseStatisticsResult.cc 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. /*
  2. * Copyright 2009-2017 Alibaba Cloud All rights reserved.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. #include <alibabacloud/reid/model/DescribeBaseStatisticsResult.h>
  17. #include <json/json.h>
  18. using namespace AlibabaCloud::Reid;
  19. using namespace AlibabaCloud::Reid::Model;
  20. DescribeBaseStatisticsResult::DescribeBaseStatisticsResult() :
  21. ServiceResult()
  22. {}
  23. DescribeBaseStatisticsResult::DescribeBaseStatisticsResult(const std::string &payload) :
  24. ServiceResult()
  25. {
  26. parse(payload);
  27. }
  28. DescribeBaseStatisticsResult::~DescribeBaseStatisticsResult()
  29. {}
  30. void DescribeBaseStatisticsResult::parse(const std::string &payload)
  31. {
  32. Json::Reader reader;
  33. Json::Value value;
  34. reader.parse(payload, value);
  35. setRequestId(value["RequestId"].asString());
  36. auto allBaseStatisticsNode = value["BaseStatistics"]["BaseStatisticsItem"];
  37. for (auto valueBaseStatisticsBaseStatisticsItem : allBaseStatisticsNode)
  38. {
  39. BaseStatisticsItem baseStatisticsObject;
  40. if(!valueBaseStatisticsBaseStatisticsItem["StoreId"].isNull())
  41. baseStatisticsObject.storeId = std::stol(valueBaseStatisticsBaseStatisticsItem["StoreId"].asString());
  42. if(!valueBaseStatisticsBaseStatisticsItem["FemaleUvCount"].isNull())
  43. baseStatisticsObject.femaleUvCount = std::stoi(valueBaseStatisticsBaseStatisticsItem["FemaleUvCount"].asString());
  44. if(!valueBaseStatisticsBaseStatisticsItem["OldCount"].isNull())
  45. baseStatisticsObject.oldCount = std::stoi(valueBaseStatisticsBaseStatisticsItem["OldCount"].asString());
  46. if(!valueBaseStatisticsBaseStatisticsItem["NewCount"].isNull())
  47. baseStatisticsObject.newCount = std::stoi(valueBaseStatisticsBaseStatisticsItem["NewCount"].asString());
  48. if(!valueBaseStatisticsBaseStatisticsItem["SummaryType"].isNull())
  49. baseStatisticsObject.summaryType = valueBaseStatisticsBaseStatisticsItem["SummaryType"].asString();
  50. if(!valueBaseStatisticsBaseStatisticsItem["MaleUvCount"].isNull())
  51. baseStatisticsObject.maleUvCount = std::stoi(valueBaseStatisticsBaseStatisticsItem["MaleUvCount"].asString());
  52. if(!valueBaseStatisticsBaseStatisticsItem["Time"].isNull())
  53. baseStatisticsObject.time = valueBaseStatisticsBaseStatisticsItem["Time"].asString();
  54. if(!valueBaseStatisticsBaseStatisticsItem["LocationId"].isNull())
  55. baseStatisticsObject.locationId = std::stol(valueBaseStatisticsBaseStatisticsItem["LocationId"].asString());
  56. if(!valueBaseStatisticsBaseStatisticsItem["StayPeriod"].isNull())
  57. baseStatisticsObject.stayPeriod = std::stol(valueBaseStatisticsBaseStatisticsItem["StayPeriod"].asString());
  58. if(!valueBaseStatisticsBaseStatisticsItem["UvCount"].isNull())
  59. baseStatisticsObject.uvCount = std::stoi(valueBaseStatisticsBaseStatisticsItem["UvCount"].asString());
  60. if(!valueBaseStatisticsBaseStatisticsItem["OnlyBodyUvCount"].isNull())
  61. baseStatisticsObject.onlyBodyUvCount = std::stoi(valueBaseStatisticsBaseStatisticsItem["OnlyBodyUvCount"].asString());
  62. auto allAgeItemsNode = allBaseStatisticsNode["AgeItems"]["AgeItem"];
  63. for (auto allBaseStatisticsNodeAgeItemsAgeItem : allAgeItemsNode)
  64. {
  65. BaseStatisticsItem::AgeItem ageItemsObject;
  66. if(!allBaseStatisticsNodeAgeItemsAgeItem["Name"].isNull())
  67. ageItemsObject.name = allBaseStatisticsNodeAgeItemsAgeItem["Name"].asString();
  68. if(!allBaseStatisticsNodeAgeItemsAgeItem["Count"].isNull())
  69. ageItemsObject.count = std::stoi(allBaseStatisticsNodeAgeItemsAgeItem["Count"].asString());
  70. baseStatisticsObject.ageItems.push_back(ageItemsObject);
  71. }
  72. auto allStayDistributionItemsNode = allBaseStatisticsNode["StayDistributionItems"]["StayDistributionItem"];
  73. for (auto allBaseStatisticsNodeStayDistributionItemsStayDistributionItem : allStayDistributionItemsNode)
  74. {
  75. BaseStatisticsItem::StayDistributionItem stayDistributionItemsObject;
  76. if(!allBaseStatisticsNodeStayDistributionItemsStayDistributionItem["StartTs"].isNull())
  77. stayDistributionItemsObject.startTs = std::stol(allBaseStatisticsNodeStayDistributionItemsStayDistributionItem["StartTs"].asString());
  78. if(!allBaseStatisticsNodeStayDistributionItemsStayDistributionItem["EndTs"].isNull())
  79. stayDistributionItemsObject.endTs = std::stol(allBaseStatisticsNodeStayDistributionItemsStayDistributionItem["EndTs"].asString());
  80. if(!allBaseStatisticsNodeStayDistributionItemsStayDistributionItem["Count"].isNull())
  81. stayDistributionItemsObject.count = std::stoi(allBaseStatisticsNodeStayDistributionItemsStayDistributionItem["Count"].asString());
  82. baseStatisticsObject.stayDistributionItems.push_back(stayDistributionItemsObject);
  83. }
  84. auto allMaleAgeItemsNode = allBaseStatisticsNode["MaleAgeItems"]["AgeItem"];
  85. for (auto allBaseStatisticsNodeMaleAgeItemsAgeItem : allMaleAgeItemsNode)
  86. {
  87. BaseStatisticsItem::AgeItem maleAgeItemsObject;
  88. if(!allBaseStatisticsNodeMaleAgeItemsAgeItem["Name"].isNull())
  89. maleAgeItemsObject.name = allBaseStatisticsNodeMaleAgeItemsAgeItem["Name"].asString();
  90. if(!allBaseStatisticsNodeMaleAgeItemsAgeItem["Count"].isNull())
  91. maleAgeItemsObject.count = std::stoi(allBaseStatisticsNodeMaleAgeItemsAgeItem["Count"].asString());
  92. baseStatisticsObject.maleAgeItems.push_back(maleAgeItemsObject);
  93. }
  94. auto allFemaleAgeItemsNode = allBaseStatisticsNode["FemaleAgeItems"]["AgeItem"];
  95. for (auto allBaseStatisticsNodeFemaleAgeItemsAgeItem : allFemaleAgeItemsNode)
  96. {
  97. BaseStatisticsItem::AgeItem femaleAgeItemsObject;
  98. if(!allBaseStatisticsNodeFemaleAgeItemsAgeItem["Name"].isNull())
  99. femaleAgeItemsObject.name = allBaseStatisticsNodeFemaleAgeItemsAgeItem["Name"].asString();
  100. if(!allBaseStatisticsNodeFemaleAgeItemsAgeItem["Count"].isNull())
  101. femaleAgeItemsObject.count = std::stoi(allBaseStatisticsNodeFemaleAgeItemsAgeItem["Count"].asString());
  102. baseStatisticsObject.femaleAgeItems.push_back(femaleAgeItemsObject);
  103. }
  104. baseStatistics_.push_back(baseStatisticsObject);
  105. }
  106. if(!value["ErrorCode"].isNull())
  107. errorCode_ = value["ErrorCode"].asString();
  108. if(!value["CursorTime"].isNull())
  109. cursorTime_ = value["CursorTime"].asString();
  110. if(!value["ErrorMessage"].isNull())
  111. errorMessage_ = value["ErrorMessage"].asString();
  112. if(!value["Success"].isNull())
  113. success_ = value["Success"].asString() == "true";
  114. }
  115. std::string DescribeBaseStatisticsResult::getCursorTime()const
  116. {
  117. return cursorTime_;
  118. }
  119. std::string DescribeBaseStatisticsResult::getErrorCode()const
  120. {
  121. return errorCode_;
  122. }
  123. std::string DescribeBaseStatisticsResult::getErrorMessage()const
  124. {
  125. return errorMessage_;
  126. }
  127. std::vector<DescribeBaseStatisticsResult::BaseStatisticsItem> DescribeBaseStatisticsResult::getBaseStatistics()const
  128. {
  129. return baseStatistics_;
  130. }
  131. bool DescribeBaseStatisticsResult::getSuccess()const
  132. {
  133. return success_;
  134. }