Class AgentThreadRoutingStrategy
java.lang.Object
com.bytedesk.service.routing_strategy.AgentThreadRoutingStrategy
- All Implemented Interfaces:
ThreadRoutingStrategy
@Component("agentThreadStrategy")
public class AgentThreadRoutingStrategy
extends Object
implements ThreadRoutingStrategy
- Author:
- jackning 270580156@qq.com
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AgentRestService
private final BytedeskEventPublisher
private final MessageRestService
private final IMessageSendService
private final QueueMemberRestService
private final QueueService
private final ThreadRestService
private final VisitorThreadService
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateAgentThread
(VisitorRequest visitorRequest) createThread
(VisitorRequest visitorRequest) private MessageProtobuf
getAgentContinueMessage
(VisitorRequest visitorRequest, ThreadEntity thread) private MessageProtobuf
getAgentQueuingMessage
(VisitorRequest visitorRequest, ThreadEntity thread) private MessageProtobuf
handleAvailableAgent
(ThreadEntity threadFromRequest, AgentEntity agent, QueueMemberEntity queueMemberEntity) private MessageProtobuf
handleOfflineAgent
(ThreadEntity threadFromRequest, AgentEntity agent, QueueMemberEntity queueMemberEntity) private MessageProtobuf
handleQueuedAgent
(ThreadEntity threadFromRequest, AgentEntity agent, QueueMemberEntity queueMemberEntity)
-
Field Details
-
agentService
-
threadService
-
visitorThreadService
-
messageSendService
-
queueService
-
queueMemberRestService
-
messageRestService
-
bytedeskEventPublisher
-
-
Constructor Details
-
AgentThreadRoutingStrategy
public AgentThreadRoutingStrategy()
-
-
Method Details
-
createThread
- Specified by:
createThread
in interfaceThreadRoutingStrategy
-
createAgentThread
-
handleAvailableAgent
private MessageProtobuf handleAvailableAgent(ThreadEntity threadFromRequest, AgentEntity agent, QueueMemberEntity queueMemberEntity) -
handleQueuedAgent
private MessageProtobuf handleQueuedAgent(ThreadEntity threadFromRequest, AgentEntity agent, QueueMemberEntity queueMemberEntity) -
handleOfflineAgent
private MessageProtobuf handleOfflineAgent(ThreadEntity threadFromRequest, AgentEntity agent, QueueMemberEntity queueMemberEntity) -
getAgentContinueMessage
private MessageProtobuf getAgentContinueMessage(VisitorRequest visitorRequest, @Nonnull ThreadEntity thread) -
getAgentQueuingMessage
private MessageProtobuf getAgentQueuingMessage(VisitorRequest visitorRequest, @Nonnull ThreadEntity thread)
-