Package com.bytedesk.service.queue
Class QueueService
java.lang.Object
com.bytedesk.service.queue.QueueService
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AgentService
private final QueueMemberRepository
private final QueueMemberRestService
private final QueueRepository
final QueueRestService
private final UidUtils
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate int
calculateAverageWaitTime
(String queueUid) void
enqueueAgent
(ThreadEntity threadEntity, AgentEntity agentEntity, VisitorRequest visitorRequest) enqueueRobot
(ThreadEntity threadEntity, RobotEntity robotEntity, VisitorRequest visitorRequest) enqueueWorkgroup
(ThreadEntity threadEntity, AgentEntity agentEntity, WorkgroupEntity workgroupEntity, VisitorRequest visitorRequest) private QueueEntity
getOrCreateQueue
(ThreadEntity threadEntity, String queueNickname) getOrCreateQueueMember
(ThreadEntity threadEntity, UserProtobuf userProtobuf, VisitorRequest visitorRequest, QueueEntity queue) getQueuedThreads
(QueueStatusEnum status) void
private void
updateQueueStats
(QueueEntity queue) void
updateStatus
(String threadUid, QueueStatusEnum status)
-
Field Details
-
queueRepository
-
queueMemberRepository
-
queueMemberRestService
-
agentService
-
queueRestService
-
uidUtils
-
-
Constructor Details
-
QueueService
public QueueService()
-
-
Method Details
-
enqueueRobot
@Transactional public QueueMemberEntity enqueueRobot(ThreadEntity threadEntity, RobotEntity robotEntity, VisitorRequest visitorRequest) -
enqueueAgent
@Transactional public QueueMemberEntity enqueueAgent(ThreadEntity threadEntity, AgentEntity agentEntity, VisitorRequest visitorRequest) -
enqueueWorkgroup
@Transactional public QueueMemberEntity enqueueWorkgroup(ThreadEntity threadEntity, AgentEntity agentEntity, WorkgroupEntity workgroupEntity, VisitorRequest visitorRequest) -
getOrCreateQueue
@Transactional private QueueEntity getOrCreateQueue(ThreadEntity threadEntity, String queueNickname) -
getOrCreateQueueMember
@Transactional public QueueMemberEntity getOrCreateQueueMember(ThreadEntity threadEntity, UserProtobuf userProtobuf, VisitorRequest visitorRequest, QueueEntity queue) -
updateQueueStats
-
calculateAverageWaitTime
-
getQueuedThreads
-
updateStatus
-
checkQueueTimeout
@Transactional public void checkQueueTimeout() -
processQueue
@Transactional public void processQueue() -
getQueueStats
-