From 00eafdf17409c07f51e1d6bdde17e88713482a65 Mon Sep 17 00:00:00 2001 From: sdk-team Date: Tue, 23 May 2023 12:05:54 +0000 Subject: [PATCH] Supported BreakCodeDetails,FirstCheckInTime, LastCheckoutTime . --- VERSION | 2 +- .../ccc/model/ListAgentStateLogsResult.h | 2 + .../model/ListHistoricalAgentReportResult.h | 32 ++++++++++----- .../ccc/model/ListIntervalAgentReportResult.h | 40 ++++++++++++------- ccc/src/model/ListAgentStateLogsResult.cc | 4 ++ .../model/ListHistoricalAgentReportResult.cc | 26 ++++++++++++ .../model/ListIntervalAgentReportResult.cc | 26 +++++++++++- 7 files changed, 106 insertions(+), 26 deletions(-) diff --git a/VERSION b/VERSION index 714de0c61..9ee1c4c91 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.36.1579 \ No newline at end of file +1.36.1580 \ No newline at end of file diff --git a/ccc/include/alibabacloud/ccc/model/ListAgentStateLogsResult.h b/ccc/include/alibabacloud/ccc/model/ListAgentStateLogsResult.h index 0248d7456..36afbcb4a 100644 --- a/ccc/include/alibabacloud/ccc/model/ListAgentStateLogsResult.h +++ b/ccc/include/alibabacloud/ccc/model/ListAgentStateLogsResult.h @@ -35,10 +35,12 @@ namespace AlibabaCloud struct DataItem { std::string state; + std::string breakCode; long startTime; std::string stateCode; bool outboundScenario; long duration; + std::string workMode; }; diff --git a/ccc/include/alibabacloud/ccc/model/ListHistoricalAgentReportResult.h b/ccc/include/alibabacloud/ccc/model/ListHistoricalAgentReportResult.h index 4a2c6eb5d..0ed0519d8 100644 --- a/ccc/include/alibabacloud/ccc/model/ListHistoricalAgentReportResult.h +++ b/ccc/include/alibabacloud/ccc/model/ListHistoricalAgentReportResult.h @@ -97,28 +97,42 @@ namespace AlibabaCloud }; struct Overall { - long totalReadyTime; - long totalBreakTime; - long totalCalls; + struct BreakCodeDetail + { + std::string breakCode; + long duration; + long count; + }; long totalWorkTime; long totalHoldTime; - long satisfactionSurveysOffered; float averageHoldTime; float satisfactionIndex; float averageBreakTime; - long satisfactionSurveysResponded; + long totalOutboundScenarioTime; + long firstCheckInTime; + long lastCheckOutTime; + long totalOffSiteOnlineTime; long totalTalkTime; float averageReadyTime; - long totalLoggedInTime; long maxTalkTime; float satisfactionRate; - float averageWorkTime; long maxReadyTime; - long maxWorkTime; long maxBreakTime; - float occupancyRate; long maxHoldTime; float averageTalkTime; + long totalReadyTime; + long totalBreakTime; + long totalCalls; + long satisfactionSurveysOffered; + long totalOfficePhoneOnlineTime; + long satisfactionSurveysResponded; + long totalOutboundScenarioReadyTime; + long totalLoggedInTime; + float averageWorkTime; + std::vector breakCodeDetailList; + long totalOnSiteOnlineTime; + long maxWorkTime; + float occupancyRate; }; Outbound outbound; Overall overall; diff --git a/ccc/include/alibabacloud/ccc/model/ListIntervalAgentReportResult.h b/ccc/include/alibabacloud/ccc/model/ListIntervalAgentReportResult.h index 56d7b2de5..ab7e08801 100644 --- a/ccc/include/alibabacloud/ccc/model/ListIntervalAgentReportResult.h +++ b/ccc/include/alibabacloud/ccc/model/ListIntervalAgentReportResult.h @@ -95,30 +95,42 @@ namespace AlibabaCloud }; struct Overall { + struct BreakCodeDetail + { + std::string breakCode; + long duration; + long count; + }; + long totalWorkTime; + long totalHoldTime; + float averageHoldTime; + float satisfactionIndex; + float averageBreakTime; + long totalOutboundScenarioTime; + long firstCheckInTime; + long totalOffSiteOnlineTime; + long totalTalkTime; + float averageReadyTime; + long maxTalkTime; + long maxReadyTime; + float satisfactionRate; + long maxBreakTime; + long maxHoldTime; + float averageTalkTime; long totalReadyTime; long lastCheckoutTime; long totalCalls; long totalBreakTime; - long totalWorkTime; - long totalHoldTime; long satisfactionSurveysOffered; - float averageHoldTime; - float satisfactionIndex; - float averageBreakTime; - long firstCheckInTime; + long totalOfficePhoneOnlineTime; long satisfactionSurveysResponded; - long totalTalkTime; - float averageReadyTime; + long totalOutboundScenarioReadyTime; long totalLoggedInTime; - long maxTalkTime; float averageWorkTime; - long maxReadyTime; - float satisfactionRate; + std::vector breakCodeDetailList; + long totalOnSiteOnlineTime; long maxWorkTime; - long maxBreakTime; float occupancyRate; - long maxHoldTime; - float averageTalkTime; }; Outbound outbound; Overall overall; diff --git a/ccc/src/model/ListAgentStateLogsResult.cc b/ccc/src/model/ListAgentStateLogsResult.cc index 72965d3ae..b769f024d 100644 --- a/ccc/src/model/ListAgentStateLogsResult.cc +++ b/ccc/src/model/ListAgentStateLogsResult.cc @@ -53,6 +53,10 @@ void ListAgentStateLogsResult::parse(const std::string &payload) dataObject.state = valueDataDataItem["State"].asString(); if(!valueDataDataItem["OutboundScenario"].isNull()) dataObject.outboundScenario = valueDataDataItem["OutboundScenario"].asString() == "true"; + if(!valueDataDataItem["BreakCode"].isNull()) + dataObject.breakCode = valueDataDataItem["BreakCode"].asString(); + if(!valueDataDataItem["WorkMode"].isNull()) + dataObject.workMode = valueDataDataItem["WorkMode"].asString(); data_.push_back(dataObject); } if(!value["Code"].isNull()) diff --git a/ccc/src/model/ListHistoricalAgentReportResult.cc b/ccc/src/model/ListHistoricalAgentReportResult.cc index 7229b4bca..d7db81dd9 100644 --- a/ccc/src/model/ListHistoricalAgentReportResult.cc +++ b/ccc/src/model/ListHistoricalAgentReportResult.cc @@ -213,6 +213,32 @@ void ListHistoricalAgentReportResult::parse(const std::string &payload) itemsObject.overall.maxTalkTime = std::stol(overallNode["MaxTalkTime"].asString()); if(!overallNode["TotalCalls"].isNull()) itemsObject.overall.totalCalls = std::stol(overallNode["TotalCalls"].asString()); + if(!overallNode["TotalOnSiteOnlineTime"].isNull()) + itemsObject.overall.totalOnSiteOnlineTime = std::stol(overallNode["TotalOnSiteOnlineTime"].asString()); + if(!overallNode["TotalOffSiteOnlineTime"].isNull()) + itemsObject.overall.totalOffSiteOnlineTime = std::stol(overallNode["TotalOffSiteOnlineTime"].asString()); + if(!overallNode["TotalOfficePhoneOnlineTime"].isNull()) + itemsObject.overall.totalOfficePhoneOnlineTime = std::stol(overallNode["TotalOfficePhoneOnlineTime"].asString()); + if(!overallNode["FirstCheckInTime"].isNull()) + itemsObject.overall.firstCheckInTime = std::stol(overallNode["FirstCheckInTime"].asString()); + if(!overallNode["LastCheckOutTime"].isNull()) + itemsObject.overall.lastCheckOutTime = std::stol(overallNode["LastCheckOutTime"].asString()); + if(!overallNode["TotalOutboundScenarioTime"].isNull()) + itemsObject.overall.totalOutboundScenarioTime = std::stol(overallNode["TotalOutboundScenarioTime"].asString()); + if(!overallNode["TotalOutboundScenarioReadyTime"].isNull()) + itemsObject.overall.totalOutboundScenarioReadyTime = std::stol(overallNode["TotalOutboundScenarioReadyTime"].asString()); + auto allBreakCodeDetailListNode = overallNode["BreakCodeDetailList"]["BreakCodeDetail"]; + for (auto overallNodeBreakCodeDetailListBreakCodeDetail : allBreakCodeDetailListNode) + { + Data::Items::Overall::BreakCodeDetail breakCodeDetailObject; + if(!overallNodeBreakCodeDetailListBreakCodeDetail["BreakCode"].isNull()) + breakCodeDetailObject.breakCode = overallNodeBreakCodeDetailListBreakCodeDetail["BreakCode"].asString(); + if(!overallNodeBreakCodeDetailListBreakCodeDetail["Count"].isNull()) + breakCodeDetailObject.count = std::stol(overallNodeBreakCodeDetailListBreakCodeDetail["Count"].asString()); + if(!overallNodeBreakCodeDetailListBreakCodeDetail["Duration"].isNull()) + breakCodeDetailObject.duration = std::stol(overallNodeBreakCodeDetailListBreakCodeDetail["Duration"].asString()); + itemsObject.overall.breakCodeDetailList.push_back(breakCodeDetailObject); + } data_.list.push_back(itemsObject); } if(!value["Code"].isNull()) diff --git a/ccc/src/model/ListIntervalAgentReportResult.cc b/ccc/src/model/ListIntervalAgentReportResult.cc index f757b814b..a41a92c64 100644 --- a/ccc/src/model/ListIntervalAgentReportResult.cc +++ b/ccc/src/model/ListIntervalAgentReportResult.cc @@ -192,8 +192,6 @@ void ListIntervalAgentReportResult::parse(const std::string &payload) dataObject.overall.satisfactionRate = std::stof(overallNode["SatisfactionRate"].asString()); if(!overallNode["SatisfactionSurveysOffered"].isNull()) dataObject.overall.satisfactionSurveysOffered = std::stol(overallNode["SatisfactionSurveysOffered"].asString()); - if(!overallNode["FirstCheckInTime"].isNull()) - dataObject.overall.firstCheckInTime = std::stol(overallNode["FirstCheckInTime"].asString()); if(!overallNode["SatisfactionSurveysResponded"].isNull()) dataObject.overall.satisfactionSurveysResponded = std::stol(overallNode["SatisfactionSurveysResponded"].asString()); if(!overallNode["AverageHoldTime"].isNull()) @@ -202,6 +200,30 @@ void ListIntervalAgentReportResult::parse(const std::string &payload) dataObject.overall.averageReadyTime = std::stof(overallNode["AverageReadyTime"].asString()); if(!overallNode["TotalBreakTime"].isNull()) dataObject.overall.totalBreakTime = std::stol(overallNode["TotalBreakTime"].asString()); + if(!overallNode["TotalOnSiteOnlineTime"].isNull()) + dataObject.overall.totalOnSiteOnlineTime = std::stol(overallNode["TotalOnSiteOnlineTime"].asString()); + if(!overallNode["TotalOffSiteOnlineTime"].isNull()) + dataObject.overall.totalOffSiteOnlineTime = std::stol(overallNode["TotalOffSiteOnlineTime"].asString()); + if(!overallNode["TotalOfficePhoneOnlineTime"].isNull()) + dataObject.overall.totalOfficePhoneOnlineTime = std::stol(overallNode["TotalOfficePhoneOnlineTime"].asString()); + if(!overallNode["TotalOutboundScenarioTime"].isNull()) + dataObject.overall.totalOutboundScenarioTime = std::stol(overallNode["TotalOutboundScenarioTime"].asString()); + if(!overallNode["TotalOutboundScenarioReadyTime"].isNull()) + dataObject.overall.totalOutboundScenarioReadyTime = std::stol(overallNode["TotalOutboundScenarioReadyTime"].asString()); + if(!overallNode["FirstCheckInTime"].isNull()) + dataObject.overall.firstCheckInTime = std::stol(overallNode["FirstCheckInTime"].asString()); + auto allBreakCodeDetailListNode = overallNode["BreakCodeDetailList"]["BreakCodeDetail"]; + for (auto overallNodeBreakCodeDetailListBreakCodeDetail : allBreakCodeDetailListNode) + { + DataItem::Overall::BreakCodeDetail breakCodeDetailObject; + if(!overallNodeBreakCodeDetailListBreakCodeDetail["BreakCode"].isNull()) + breakCodeDetailObject.breakCode = overallNodeBreakCodeDetailListBreakCodeDetail["BreakCode"].asString(); + if(!overallNodeBreakCodeDetailListBreakCodeDetail["Count"].isNull()) + breakCodeDetailObject.count = std::stol(overallNodeBreakCodeDetailListBreakCodeDetail["Count"].asString()); + if(!overallNodeBreakCodeDetailListBreakCodeDetail["Duration"].isNull()) + breakCodeDetailObject.duration = std::stol(overallNodeBreakCodeDetailListBreakCodeDetail["Duration"].asString()); + dataObject.overall.breakCodeDetailList.push_back(breakCodeDetailObject); + } data_.push_back(dataObject); } if(!value["Code"].isNull())