Supported BreakCodeDetails,FirstCheckInTime, LastCheckoutTime .
This commit is contained in:
@@ -35,10 +35,12 @@ namespace AlibabaCloud
|
|||||||
struct DataItem
|
struct DataItem
|
||||||
{
|
{
|
||||||
std::string state;
|
std::string state;
|
||||||
|
std::string breakCode;
|
||||||
long startTime;
|
long startTime;
|
||||||
std::string stateCode;
|
std::string stateCode;
|
||||||
bool outboundScenario;
|
bool outboundScenario;
|
||||||
long duration;
|
long duration;
|
||||||
|
std::string workMode;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -97,28 +97,42 @@ namespace AlibabaCloud
|
|||||||
};
|
};
|
||||||
struct Overall
|
struct Overall
|
||||||
{
|
{
|
||||||
long totalReadyTime;
|
struct BreakCodeDetail
|
||||||
long totalBreakTime;
|
{
|
||||||
long totalCalls;
|
std::string breakCode;
|
||||||
|
long duration;
|
||||||
|
long count;
|
||||||
|
};
|
||||||
long totalWorkTime;
|
long totalWorkTime;
|
||||||
long totalHoldTime;
|
long totalHoldTime;
|
||||||
long satisfactionSurveysOffered;
|
|
||||||
float averageHoldTime;
|
float averageHoldTime;
|
||||||
float satisfactionIndex;
|
float satisfactionIndex;
|
||||||
float averageBreakTime;
|
float averageBreakTime;
|
||||||
long satisfactionSurveysResponded;
|
long totalOutboundScenarioTime;
|
||||||
|
long firstCheckInTime;
|
||||||
|
long lastCheckOutTime;
|
||||||
|
long totalOffSiteOnlineTime;
|
||||||
long totalTalkTime;
|
long totalTalkTime;
|
||||||
float averageReadyTime;
|
float averageReadyTime;
|
||||||
long totalLoggedInTime;
|
|
||||||
long maxTalkTime;
|
long maxTalkTime;
|
||||||
float satisfactionRate;
|
float satisfactionRate;
|
||||||
float averageWorkTime;
|
|
||||||
long maxReadyTime;
|
long maxReadyTime;
|
||||||
long maxWorkTime;
|
|
||||||
long maxBreakTime;
|
long maxBreakTime;
|
||||||
float occupancyRate;
|
|
||||||
long maxHoldTime;
|
long maxHoldTime;
|
||||||
float averageTalkTime;
|
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;
|
Outbound outbound;
|
||||||
Overall overall;
|
Overall overall;
|
||||||
|
|||||||
@@ -95,30 +95,42 @@ namespace AlibabaCloud
|
|||||||
};
|
};
|
||||||
struct Overall
|
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 totalReadyTime;
|
||||||
long lastCheckoutTime;
|
long lastCheckoutTime;
|
||||||
long totalCalls;
|
long totalCalls;
|
||||||
long totalBreakTime;
|
long totalBreakTime;
|
||||||
long totalWorkTime;
|
|
||||||
long totalHoldTime;
|
|
||||||
long satisfactionSurveysOffered;
|
long satisfactionSurveysOffered;
|
||||||
float averageHoldTime;
|
long totalOfficePhoneOnlineTime;
|
||||||
float satisfactionIndex;
|
|
||||||
float averageBreakTime;
|
|
||||||
long firstCheckInTime;
|
|
||||||
long satisfactionSurveysResponded;
|
long satisfactionSurveysResponded;
|
||||||
long totalTalkTime;
|
long totalOutboundScenarioReadyTime;
|
||||||
float averageReadyTime;
|
|
||||||
long totalLoggedInTime;
|
long totalLoggedInTime;
|
||||||
long maxTalkTime;
|
|
||||||
float averageWorkTime;
|
float averageWorkTime;
|
||||||
long maxReadyTime;
|
std::vector<BreakCodeDetail> breakCodeDetailList;
|
||||||
float satisfactionRate;
|
long totalOnSiteOnlineTime;
|
||||||
long maxWorkTime;
|
long maxWorkTime;
|
||||||
long maxBreakTime;
|
|
||||||
float occupancyRate;
|
float occupancyRate;
|
||||||
long maxHoldTime;
|
|
||||||
float averageTalkTime;
|
|
||||||
};
|
};
|
||||||
Outbound outbound;
|
Outbound outbound;
|
||||||
Overall overall;
|
Overall overall;
|
||||||
|
|||||||
@@ -53,6 +53,10 @@ void ListAgentStateLogsResult::parse(const std::string &payload)
|
|||||||
dataObject.state = valueDataDataItem["State"].asString();
|
dataObject.state = valueDataDataItem["State"].asString();
|
||||||
if(!valueDataDataItem["OutboundScenario"].isNull())
|
if(!valueDataDataItem["OutboundScenario"].isNull())
|
||||||
dataObject.outboundScenario = valueDataDataItem["OutboundScenario"].asString() == "true";
|
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);
|
data_.push_back(dataObject);
|
||||||
}
|
}
|
||||||
if(!value["Code"].isNull())
|
if(!value["Code"].isNull())
|
||||||
|
|||||||
@@ -213,6 +213,32 @@ void ListHistoricalAgentReportResult::parse(const std::string &payload)
|
|||||||
itemsObject.overall.maxTalkTime = std::stol(overallNode["MaxTalkTime"].asString());
|
itemsObject.overall.maxTalkTime = std::stol(overallNode["MaxTalkTime"].asString());
|
||||||
if(!overallNode["TotalCalls"].isNull())
|
if(!overallNode["TotalCalls"].isNull())
|
||||||
itemsObject.overall.totalCalls = std::stol(overallNode["TotalCalls"].asString());
|
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);
|
data_.list.push_back(itemsObject);
|
||||||
}
|
}
|
||||||
if(!value["Code"].isNull())
|
if(!value["Code"].isNull())
|
||||||
|
|||||||
@@ -192,8 +192,6 @@ void ListIntervalAgentReportResult::parse(const std::string &payload)
|
|||||||
dataObject.overall.satisfactionRate = std::stof(overallNode["SatisfactionRate"].asString());
|
dataObject.overall.satisfactionRate = std::stof(overallNode["SatisfactionRate"].asString());
|
||||||
if(!overallNode["SatisfactionSurveysOffered"].isNull())
|
if(!overallNode["SatisfactionSurveysOffered"].isNull())
|
||||||
dataObject.overall.satisfactionSurveysOffered = std::stol(overallNode["SatisfactionSurveysOffered"].asString());
|
dataObject.overall.satisfactionSurveysOffered = std::stol(overallNode["SatisfactionSurveysOffered"].asString());
|
||||||
if(!overallNode["FirstCheckInTime"].isNull())
|
|
||||||
dataObject.overall.firstCheckInTime = std::stol(overallNode["FirstCheckInTime"].asString());
|
|
||||||
if(!overallNode["SatisfactionSurveysResponded"].isNull())
|
if(!overallNode["SatisfactionSurveysResponded"].isNull())
|
||||||
dataObject.overall.satisfactionSurveysResponded = std::stol(overallNode["SatisfactionSurveysResponded"].asString());
|
dataObject.overall.satisfactionSurveysResponded = std::stol(overallNode["SatisfactionSurveysResponded"].asString());
|
||||||
if(!overallNode["AverageHoldTime"].isNull())
|
if(!overallNode["AverageHoldTime"].isNull())
|
||||||
@@ -202,6 +200,30 @@ void ListIntervalAgentReportResult::parse(const std::string &payload)
|
|||||||
dataObject.overall.averageReadyTime = std::stof(overallNode["AverageReadyTime"].asString());
|
dataObject.overall.averageReadyTime = std::stof(overallNode["AverageReadyTime"].asString());
|
||||||
if(!overallNode["TotalBreakTime"].isNull())
|
if(!overallNode["TotalBreakTime"].isNull())
|
||||||
dataObject.overall.totalBreakTime = std::stol(overallNode["TotalBreakTime"].asString());
|
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);
|
data_.push_back(dataObject);
|
||||||
}
|
}
|
||||||
if(!value["Code"].isNull())
|
if(!value["Code"].isNull())
|
||||||
|
|||||||
Reference in New Issue
Block a user