Supported BreakCodeDetails,FirstCheckInTime, LastCheckoutTime .
This commit is contained in:
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -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<BreakCodeDetail> breakCodeDetailList;
|
||||
long totalOnSiteOnlineTime;
|
||||
long maxWorkTime;
|
||||
float occupancyRate;
|
||||
};
|
||||
Outbound outbound;
|
||||
Overall overall;
|
||||
|
||||
@@ -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<BreakCodeDetail> breakCodeDetailList;
|
||||
long totalOnSiteOnlineTime;
|
||||
long maxWorkTime;
|
||||
long maxBreakTime;
|
||||
float occupancyRate;
|
||||
long maxHoldTime;
|
||||
float averageTalkTime;
|
||||
};
|
||||
Outbound outbound;
|
||||
Overall overall;
|
||||
|
||||
@@ -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())
|
||||
|
||||
@@ -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())
|
||||
|
||||
@@ -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())
|
||||
|
||||
Reference in New Issue
Block a user