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 voidaddAttachmentsToEvent(CsTicketEventModel event, java.util.Collection<MediaModel> attachments)CsCustomerEventModelcreateAssignAgentToTicket(CsTicketModel ticket)Create a creation event for the specified ticket TO THE CS Agent.CsCustomerEventModelcreateCreationEventForTicket(CsTicketModel ticket, CsEventReason reason, CsInterventionType interventionType, java.lang.String text)Create a creation event for the specified ticket.CsCustomerEventModelcreateCustomerEmailForTicket(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 toCsCustomerEventModelcreateNoteForTicket(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 informationCsCustomerEventModelensureTicketEventSetupForCreationEvent(CsTicketModel ticket, CsCustomerEventModel creationEvent)Ensure that the specified creation event is correctly setup and bound to the ticket.java.lang.StringgetAgentNoteCommentType()java.lang.StringgetCustomerNoteCommentType()protected java.lang.StringgetEmailCommentType()protected ModelServicegetModelService()protected CsTicketStategetOpenState()protected java.lang.StringgetTicketCreatedType()protected TicketEventFactorygetTicketEventFactory()protected voidonTicketCreation(CsTicketModel ticket, CsCustomerEventModel creationEvent)Placeholder for post ticket creation business rulesvoidsetAgentNoteCommentType(java.lang.String agentNoteCommentType)voidsetCustomerNoteCommentType(java.lang.String customerNoteCommentType)voidsetEmailCommentType(java.lang.String emailCommentType)voidsetModelService(ModelService modelService)voidsetOpenState(CsTicketState openState)voidsetTicketCreatedType(java.lang.String ticketCreatedType)voidsetTicketEventFactory(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:TicketEventStrategyCreate and internal note against the ticket with the specified information- Specified by:
createNoteForTicketin 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:TicketEventStrategyCreate a creation event for the specified ticket TO THE CS Agent.- Specified by:
createAssignAgentToTicketin 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:TicketEventStrategyCreate a note against the ticket which is sent as an email to the customer the ticket relates to- Specified by:
createCustomerEmailForTicketin 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:TicketEventStrategyCreate a creation event for the specified ticket.- Specified by:
createCreationEventForTicketin 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:TicketEventStrategyEnsure 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:
ensureTicketEventSetupForCreationEventin 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)
-
-