Class DeskServiceImpl

java.lang.Object
org.flowable.common.engine.impl.service.CommonServiceImpl<C>
org.flowable.common.engine.impl.service.CommonEngineServiceImpl<EngageEngineConfiguration>
com.flowable.engage.engine.impl.desk.DeskServiceImpl
All Implemented Interfaces:
DeskService

public class DeskServiceImpl
extends org.flowable.common.engine.impl.service.CommonEngineServiceImpl<EngageEngineConfiguration>
implements DeskService
The default desk and ticket service implementation.
Author:
Micha Kiener
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected java.lang.String digitalAssistantUserId
    The user id of the digital assistant used in ticket and desk conversations, defaults to the digital assistant user, if not changed.

    Fields inherited from class org.flowable.common.engine.impl.service.CommonEngineServiceImpl

    commandExecutor

    Fields inherited from class org.flowable.common.engine.impl.service.CommonServiceImpl

    configuration
  • Constructor Summary

    Constructors 
    Constructor Description
    DeskServiceImpl​(EngageEngineConfiguration configuration)  
  • Method Summary

    Modifier and Type Method Description
    protected org.flowable.common.engine.impl.interceptor.CommandContext getCommandContext()  
    java.lang.String getDigitalAssistantUserId()  
    void handleUnassignedTicketMessage​(java.lang.String deskConversationId, java.lang.String ticketConversationId, Message message)  
    void initializeDeskConversation​(java.lang.String deskConversationId)
    Invoked by the generic conversation listener to initialize the given desk conversation.
    void initializeTicketConversation​(java.lang.String deskConversationId, java.lang.String ticketConversationId)
    Invoked by the generic conversation listener to initialize the given ticket conversation.
    void setDigitalAssistantUserId​(java.lang.String digitalAssistantUserId)  
    Conversation startTicketConversation​(java.lang.String deskConversationId, java.util.Collection<java.lang.String> participantIds, java.lang.String name, java.util.Map<java.lang.String,​java.lang.Object> variables, java.lang.String userIdForPermissionChecks)
    Starts a new ticket conversation as part of a desk.
    void switchToDeskTeam​(java.lang.String deskConversationId, java.lang.String ticketConversationId, boolean isNewTicket)  
    void switchToDeskTeamMember​(java.lang.String deskConversationId, java.lang.String ticketConversationId, java.lang.String deskMemberId, boolean isNewTicket)  

    Methods inherited from class org.flowable.common.engine.impl.service.CommonEngineServiceImpl

    getCommandExecutor, setCommandExecutor

    Methods inherited from class org.flowable.common.engine.impl.service.CommonServiceImpl

    getConfiguration

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • digitalAssistantUserId

      protected java.lang.String digitalAssistantUserId
      The user id of the digital assistant used in ticket and desk conversations, defaults to the digital assistant user, if not changed.
  • Constructor Details

  • Method Details

    • startTicketConversation

      public Conversation startTicketConversation​(java.lang.String deskConversationId, java.util.Collection<java.lang.String> participantIds, java.lang.String name, java.util.Map<java.lang.String,​java.lang.Object> variables, java.lang.String userIdForPermissionChecks)
      Description copied from interface: DeskService
      Starts a new ticket conversation as part of a desk.
      Specified by:
      startTicketConversation in interface DeskService
      Parameters:
      deskConversationId - the id of the desk conversation where a new ticket should be started for
      participantIds - the collection of participants for the ticket
      name - the name of the ticket, must be provided
      variables - the optional map of additional ticket information
      userIdForPermissionChecks - optionally pass in a user id to check for permissions, if not provided, no permission check is done
      Returns:
      the newly created ticket conversation
    • initializeDeskConversation

      public void initializeDeskConversation​(java.lang.String deskConversationId)
      Description copied from interface: DeskService
      Invoked by the generic conversation listener to initialize the given desk conversation.
      Specified by:
      initializeDeskConversation in interface DeskService
      Parameters:
      deskConversationId - the id of the desk conversation newly created and in need for initialization
    • initializeTicketConversation

      public void initializeTicketConversation​(java.lang.String deskConversationId, java.lang.String ticketConversationId)
      Description copied from interface: DeskService
      Invoked by the generic conversation listener to initialize the given ticket conversation.
      Specified by:
      initializeTicketConversation in interface DeskService
      Parameters:
      deskConversationId - the id of the desk conversation the ticket belongs to
      ticketConversationId - the id of the ticket conversation newly created and in need for initialization
    • switchToDeskTeam

      public void switchToDeskTeam​(java.lang.String deskConversationId, java.lang.String ticketConversationId, boolean isNewTicket)
      Specified by:
      switchToDeskTeam in interface DeskService
    • switchToDeskTeamMember

      public void switchToDeskTeamMember​(java.lang.String deskConversationId, java.lang.String ticketConversationId, java.lang.String deskMemberId, boolean isNewTicket)
      Specified by:
      switchToDeskTeamMember in interface DeskService
    • handleUnassignedTicketMessage

      public void handleUnassignedTicketMessage​(java.lang.String deskConversationId, java.lang.String ticketConversationId, Message message)
      Specified by:
      handleUnassignedTicketMessage in interface DeskService
    • getDigitalAssistantUserId

      public java.lang.String getDigitalAssistantUserId()
      Specified by:
      getDigitalAssistantUserId in interface DeskService
    • setDigitalAssistantUserId

      public void setDigitalAssistantUserId​(java.lang.String digitalAssistantUserId)
    • getCommandContext

      protected org.flowable.common.engine.impl.interceptor.CommandContext getCommandContext()