Supported BreakCodeDetails,FirstCheckInTime, LastCheckoutTime .

This commit is contained in:
sdk-team
2023-05-23 12:05:54 +00:00
parent ebee82abfa
commit 00eafdf174
7 changed files with 106 additions and 26 deletions

View File

@@ -1 +1 @@
1.36.1579
1.36.1580

View File

@@ -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;
};

View File

@@ -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;

View File

@@ -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;

View File

@@ -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())

View File

@@ -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())

View File

@@ -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())