Package com.bytedesk.service.statistic
Class ServiceStatisticService
java.lang.Object
com.bytedesk.service.statistic.ServiceStatisticService
@Service
@Description("Service Statistics Service - Customer service statistics calculation and analytics service")
public class ServiceStatisticService
extends Object
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AgentRepositoryprivate final AgentStatusRepositoryprivate final AuthServiceprivate final OrganizationRepositoryprivate final QueueMemberRepositoryfinal QueueRestServiceprivate final RobotRepositoryprivate final ServiceStatisticRepositoryprivate final ThreadRatingRepositoryprivate final ThreadTransferRepositoryprivate final UidUtilsprivate final WorkgroupRepository -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate ServiceStatisticResponsecalculateStatistic(String type, String orgUid, String workgroupUid, String agentUid, String robotUid, String startDate, String endDate, boolean shouldSave) 统一的统计计算方法计算状态持续时长void计算今日统计queryByDate(ServiceStatisticRequest request) 查询某时间段统计private voidupdateAgentStatusMetrics(ServiceStatisticEntity statistic, Map<String, Long> statusDuration) 更新客服状态分布指标private voidupdateBasicMetrics(ServiceStatisticEntity statistic, String orgUid, String startDate, String endDate) 更新基础会话指标private voidupdateMessageMetrics(ServiceStatisticEntity statistic, List<QueueMemberEntity> queueMembers) 更新消息指标private voidupdateQualityMetrics(ServiceStatisticEntity statistic, String orgUid, String startDate, String endDate) 更新质量指标private voidupdateRobotSpecificMetrics(ServiceStatisticEntity statistic, List<QueueMemberEntity> robotMembers) 更新机器人特有指标private voidupdateThreadFlowMetrics(ServiceStatisticEntity statistic, List<QueueMemberEntity> queueMembers) 更新会话流转指标private voidupdateTimeMetrics(ServiceStatisticEntity statistic, List<QueueMemberEntity> queueMembers) 更新时间指标
-
Field Details
-
serviceStatisticRepository
-
queueMemberRepository
-
agentRepository
-
agentStatusRepository
-
threadRatingRepository
-
threadTransferRepository
-
organizationRepository
-
workgroupRepository
-
robotRepository
-
uidUtils
-
queueRestService
-
authService
-
-
Constructor Details
-
ServiceStatisticService
public ServiceStatisticService()
-
-
Method Details
-
queryByDate
查询某时间段统计 -
calculateTodayStatistics
public void calculateTodayStatistics()计算今日统计 -
calculateStatistic
@Transactional private ServiceStatisticResponse calculateStatistic(String type, String orgUid, String workgroupUid, String agentUid, String robotUid, String startDate, String endDate, boolean shouldSave) 统一的统计计算方法 -
updateBasicMetrics
private void updateBasicMetrics(ServiceStatisticEntity statistic, String orgUid, String startDate, String endDate) 更新基础会话指标 -
updateThreadFlowMetrics
private void updateThreadFlowMetrics(ServiceStatisticEntity statistic, List<QueueMemberEntity> queueMembers) 更新会话流转指标 -
updateTimeMetrics
private void updateTimeMetrics(ServiceStatisticEntity statistic, List<QueueMemberEntity> queueMembers) 更新时间指标 -
updateQualityMetrics
private void updateQualityMetrics(ServiceStatisticEntity statistic, String orgUid, String startDate, String endDate) 更新质量指标 -
updateMessageMetrics
private void updateMessageMetrics(ServiceStatisticEntity statistic, List<QueueMemberEntity> queueMembers) 更新消息指标 -
updateRobotSpecificMetrics
private void updateRobotSpecificMetrics(ServiceStatisticEntity statistic, List<QueueMemberEntity> robotMembers) 更新机器人特有指标 -
calculateStatusDuration
计算状态持续时长 -
updateAgentStatusMetrics
private void updateAgentStatusMetrics(ServiceStatisticEntity statistic, Map<String, Long> statusDuration) 更新客服状态分布指标
-