Class DefaultTicketEventStrategy
- java.lang.Object
-
- de.hybris.platform.ticket.strategies.impl.DefaultTicketEventStrategy
-
- All Implemented Interfaces:
TicketEventStrategy
public class DefaultTicketEventStrategy extends java.lang.Object implements TicketEventStrategy
-
-
Constructor Summary
Constructors Constructor Description DefaultTicketEventStrategy()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addAttachmentsToEvent(CsTicketEventModel event, java.util.Collection<MediaModel> attachments)
CsCustomerEventModel
createAssignAgentToTicket(CsTicketModel ticket)
Create a creation event for the specified ticket TO THE CS Agent.CsCustomerEventModel
createCreationEventForTicket(CsTicketModel ticket, CsEventReason reason, CsInterventionType interventionType, java.lang.String text)
Create a creation event for the specified ticket.CsCustomerEventModel
createCustomerEmailForTicket(CsTicketModel ticket, CsEventReason reason, java.lang.String subject, java.lang.String emailBody, java.util.Collection<MediaModel> attachments)
Create a note against the ticket which is sent as an email to the customer the ticket relates toCsCustomerEventModel
createNoteForTicket(CsTicketModel ticket, CsInterventionType intervention, CsEventReason reason, java.lang.String note, java.util.Collection<MediaModel> attachments)
Create and internal note against the ticket with the specified informationCsCustomerEventModel
ensureTicketEventSetupForCreationEvent(CsTicketModel ticket, CsCustomerEventModel creationEvent)
Ensure that the specified creation event is correctly setup and bound to the ticket.java.lang.String
getAgentNoteCommentType()
java.lang.String
getCustomerNoteCommentType()
protected java.lang.String
getEmailCommentType()
protected ModelService
getModelService()
protected CsTicketState
getOpenState()
protected java.lang.String
getTicketCreatedType()
protected TicketEventFactory
getTicketEventFactory()
protected void
onTicketCreation(CsTicketModel ticket, CsCustomerEventModel creationEvent)
Placeholder for post ticket creation business rulesvoid
setAgentNoteCommentType(java.lang.String agentNoteCommentType)
void
setCustomerNoteCommentType(java.lang.String customerNoteCommentType)
void
setEmailCommentType(java.lang.String emailCommentType)
void
setModelService(ModelService modelService)
void
setOpenState(CsTicketState openState)
void
setTicketCreatedType(java.lang.String ticketCreatedType)
void
setTicketEventFactory(TicketEventFactory ticketEventFactory)
-
-
-
Method Detail
-
createNoteForTicket
public CsCustomerEventModel createNoteForTicket(CsTicketModel ticket, CsInterventionType intervention, CsEventReason reason, java.lang.String note, java.util.Collection<MediaModel> attachments)
Description copied from interface:TicketEventStrategy
Create and internal note against the ticket with the specified information- Specified by:
createNoteForTicket
in interfaceTicketEventStrategy
- Parameters:
ticket
- The ticket to create the note forintervention
- The intervention type of the notereason
- The reason for the note's creationnote
- The text of the noteattachments
- Any attachments which should be added to the note- Returns:
- The newly create note
-
createAssignAgentToTicket
public CsCustomerEventModel createAssignAgentToTicket(CsTicketModel ticket)
Description copied from interface:TicketEventStrategy
Create a creation event for the specified ticket TO THE CS Agent.- Specified by:
createAssignAgentToTicket
in interfaceTicketEventStrategy
- Parameters:
ticket
- The ticket the creation event is for- Returns:
- CsTicketEventModel
-
createCustomerEmailForTicket
public CsCustomerEventModel createCustomerEmailForTicket(CsTicketModel ticket, CsEventReason reason, java.lang.String subject, java.lang.String emailBody, java.util.Collection<MediaModel> attachments)
Description copied from interface:TicketEventStrategy
Create a note against the ticket which is sent as an email to the customer the ticket relates to- Specified by:
createCustomerEmailForTicket
in interfaceTicketEventStrategy
- Parameters:
ticket
- The ticket to create the note email forreason
- The reason for the emailsubject
- The subject of the emailemailBody
- The body of the emailattachments
- Any attachments should be included with the email- Returns:
- The newly create email
-
createCreationEventForTicket
public CsCustomerEventModel createCreationEventForTicket(CsTicketModel ticket, CsEventReason reason, CsInterventionType interventionType, java.lang.String text)
Description copied from interface:TicketEventStrategy
Create a creation event for the specified ticket.- Specified by:
createCreationEventForTicket
in interfaceTicketEventStrategy
- Parameters:
ticket
- The ticket to create the creation event forreason
- The reson for the ticket eventinterventionType
- The intervention type for the ticket eventtext
- The text to add to the creation event- Returns:
- The newly created creation event
-
ensureTicketEventSetupForCreationEvent
public CsCustomerEventModel ensureTicketEventSetupForCreationEvent(CsTicketModel ticket, CsCustomerEventModel creationEvent)
Description copied from interface:TicketEventStrategy
Ensure that the specified creation event is correctly setup and bound to the ticket. This ensures that all of the manadatory underlying fields on the event are populated.- Specified by:
ensureTicketEventSetupForCreationEvent
in interfaceTicketEventStrategy
- Parameters:
ticket
- The ticket the creation event is forcreationEvent
- The creation event- Returns:
- The updated creation event
-
onTicketCreation
protected void onTicketCreation(CsTicketModel ticket, CsCustomerEventModel creationEvent)
Placeholder for post ticket creation business rules
-
addAttachmentsToEvent
protected void addAttachmentsToEvent(CsTicketEventModel event, java.util.Collection<MediaModel> attachments)
-
setEmailCommentType
public void setEmailCommentType(java.lang.String emailCommentType)
-
setTicketCreatedType
public void setTicketCreatedType(java.lang.String ticketCreatedType)
-
setTicketEventFactory
public void setTicketEventFactory(TicketEventFactory ticketEventFactory)
-
setOpenState
public void setOpenState(CsTicketState openState)
-
setCustomerNoteCommentType
public void setCustomerNoteCommentType(java.lang.String customerNoteCommentType)
- Parameters:
customerNoteCommentType
- the customerNoteCommentType to set
-
setAgentNoteCommentType
public void setAgentNoteCommentType(java.lang.String agentNoteCommentType)
- Parameters:
agentNoteCommentType
- the agentNoteCommentType to set
-
getTicketEventFactory
protected TicketEventFactory getTicketEventFactory()
- Returns:
- the ticketEventFactory
-
getTicketCreatedType
protected java.lang.String getTicketCreatedType()
- Returns:
- the ticketCreatedType
-
getEmailCommentType
protected java.lang.String getEmailCommentType()
- Returns:
- the emailCommentType
-
getOpenState
protected CsTicketState getOpenState()
- Returns:
- the openState
-
getCustomerNoteCommentType
public java.lang.String getCustomerNoteCommentType()
- Returns:
- the customerNoteCommentType
-
getAgentNoteCommentType
public java.lang.String getAgentNoteCommentType()
- Returns:
- the agentNoteCommentType
-
getModelService
protected ModelService getModelService()
-
setModelService
public void setModelService(ModelService modelService)
-
-