📄 inboxmanagerejb.java
字号:
ticketHnd.commit();
} // if (ticketHnd == null)
} catch (Exception ex) {
error = ex;
} // try
// Logging.
try {
if (error != null) {
String logMessage = "The ticket wasn't updated: " + error.getMessage();
InboxLogPublisher publisher = new InboxLogPublisher(ls);
publisher.ERROR(logMessage, inboxMessage);
ERROR(logMessage, error);
throw error;
} else {
String logMessage = "The ticket was updated. The ticket ID is " + inboxMessage.getObjectId().longValue();
INFO(logMessage + " Time (ms) - " + (System.currentTimeMillis() - time) +
". Message: " + inboxMessage);
InboxLogPublisher publisher = new InboxLogPublisher(ls);
publisher.INFO(logMessage, inboxMessage);
} // if (error != null)
} catch(Exception ex){
// Re-throwing the exception.
throwException("Known exception: " + ex.getMessage(), ex);
} // try
INFO("The ticket was updated");
return true;
} // createTicket(LogonSession, InboxMessage) : boolean
/**
* The method creates a interaction by the message.
* @param ls logon session object
* @param inboxMessage message object
* @return interactio ID
*/
public Long createInteraction(LogonSession ls, InboxMessage inboxMessage) {
INFO("Create a new interaction by the message...");
long time = System.currentTimeMillis();
Exception error = null;
Long interactionId;
//JEOManagerLocal jeoManager = getJEOManager();
// Save!
try {
// check is the customer has already got
if (inboxMessage.getSenderID() == null) {
Long customerID = getCustomer(ls, inboxMessage);
if (customerID == null) {
// try to get the default customer
String emailDefaulCustomer = SysPropertyManager.getProperty("IN_EMAIL_DEFAULT_CUSTOMER_ID");
if (emailDefaulCustomer != null) {
inboxMessage.setSenderID(new Long(emailDefaulCustomer));
inboxMessage.setSenderType(CustomInboxHelper.CUSTOMER_TYPE);
} else {
// the ticket isn't linked
throw new NullPointerException("The system property IN_EMAIL_DEFAULT_CUSTOMER_ID wasn't found.");
} // if (emailDefaulCustomer != null)
} // if (customerID != null)
} // if (inboxMessage.getSenderID() == null)
String emailSourceId = SysPropertyManager.getProperty("IN_EMAIL_INTER_SOURCE");
if (emailSourceId == null) {
throw new NullPointerException("The system property IN_EMAIL_INTER_SOURCE wasn't found.");
}
String emailDefaulAgentId = SysPropertyManager.getProperty("IN_EMAIL_INTER_DEFAULT_AGENT");
if (emailDefaulAgentId == null) {
throw new NullPointerException("The system property IN_EMAIL_INTER_DEFAULT_AGENT wasn't found.");
}
JEOManagerLocal jeoManager = getJEOManager();
// try to create ne Interaction object
JEObjectHandler hnd = jeoManager.create(ls, InteractionObjectHandler.class);
InteractionObject interactionObj = (InteractionObject)hnd.getJEObject();
interactionObj.setQw_source(new Integer(emailSourceId));
// check and set problem field
if (inboxMessage.getSubject().length() > 255)
interactionObj.setQw_problem(inboxMessage.getSubject().substring(0, 250));
else
interactionObj.setQw_problem(inboxMessage.getSubject());
// check and set description field
if (inboxMessage.getBody() == null) {
interactionObj.setQw_description(inboxMessage.getSubject());
} else {
String body = inboxMessage.getBody();
if (StringHelper.isHTML(body)) {
body = StringHelper.html2text(body);
}
if (body.length() > 2000)
interactionObj.setQw_description(body.substring(0, 1900));
else
interactionObj.setQw_description(body);
} // if (message.getBody() == null)
interactionObj.setQw_notes(inboxMessage.getBody().toCharArray());
interactionObj.setQw_agentid(new Long(emailDefaulAgentId));
// link to the customer
if (inboxMessage.getSenderType() == CustomInboxHelper.CUSTOMER_TYPE) {
interactionObj.setQw_customerid(inboxMessage.getSenderID());
} else if (inboxMessage.getSenderType() == CustomInboxHelper.CUSTOMER_INTERNAL_TYPE) {
interactionObj.setQw_employeeid(inboxMessage.getSenderID());
} else {
throw new NullPointerException("Unsupported Customer Type. The interaction wasn't created.");
} // if (inboxMessage.getSenderType() == CustomInboxHelper.CUSTOMER_TYPE)
hnd.commit();
interactionId = interactionObj.getQw_interactionid();
} catch (Exception ex) {
error = ex;
interactionId = null;
} // try
// Logging.
try {
if (error != null) {
String logMessage = "Can't create a new interaction: " + error.getMessage();
InboxLogPublisher publisher = new InboxLogPublisher( ls );
publisher.ERROR(logMessage, inboxMessage);
ERROR(logMessage, error);
throw error;
} else {
String logMessage = "The new interaction was created. The interaction ID is " + interactionId;
INFO(logMessage + " Time (ms) - " + (System.currentTimeMillis() - time) +
". Message: " + inboxMessage);
InboxLogPublisher publisher = new InboxLogPublisher(ls);
publisher.INFO(logMessage, inboxMessage);
} // if (error != null)
} catch(Exception ex){
// Re-throwing the exception.
throwException("Known exception: " + ex.getMessage(), ex);
} // try
INFO("The new interaction was created");
return interactionId;
} // createInteraction(LogonSession, InboxMessage) : Long
/**
* The method creates a interaction by the interaction. It is used for reply sending.
* @param ls logon session object
* @param inboxMessage message object
* @return interactio ID
*/
public Long createInteractionByInteraction(LogonSession ls, InboxMessage inboxMessage) {
INFO("Create a new interaction by the interaction...");
long time = System.currentTimeMillis();
Exception error = null;
Long interactionId;
JEOManagerLocal jeoManager = getJEOManager();
// Save!
try {
// get existing interaction
JEObjectHandler interactionHnd = InteractionObjectHandler.selectByID(jeoManager, ls, inboxMessage.getObjectId().longValue());
// If no ticket found.
if (interactionHnd == null) {
String errorMessage = "The interaction wasn't found. The interaction ID is " + inboxMessage.getObjectId().longValue();
ERROR(errorMessage);
throw new GenericSystemException(errorMessage);
}
InteractionObject interactionObject = (InteractionObject)interactionHnd.getJEObject();
String emailSourceId = SysPropertyManager.getProperty("OUT_EMAIL_INTER_SOURCE");
if (emailSourceId == null) {
throw new NullPointerException("The system property OUT_EMAIL_INTER_SOURCE wasn't found.");
}
// try to create ne Interaction object
JEObjectHandler hnd = jeoManager.create(ls, InteractionObjectHandler.class);
InteractionObject interactionObj = (InteractionObject)hnd.getJEObject();
interactionObj.setQw_source(new Integer(emailSourceId));
// check and set problem field
if (inboxMessage.getSubject().length() > 255)
interactionObj.setQw_problem(inboxMessage.getSubject().substring(0, 250));
else
interactionObj.setQw_problem(inboxMessage.getSubject());
// check and set description field
if (inboxMessage.getBody() == null) {
interactionObj.setQw_description(inboxMessage.getSubject());
} else {
String body = inboxMessage.getBody();
if (StringHelper.isHTML(body)) {
body = StringHelper.html2text(body);
}
if (body.length() > 2000)
interactionObj.setQw_description(body.substring(0, 1900));
else
interactionObj.setQw_description(body);
} // if (message.getBody() == null)
interactionObj.setQw_agentid(interactionObject.getQw_agentid());
interactionObj.setQw_customerid(interactionObject.getQw_customerid());
interactionObj.setQw_employeeid(interactionObject.getQw_employeeid());
interactionObj.setQw_notes(inboxMessage.getBody().toCharArray());
hnd.commit();
interactionId = interactionObj.getQw_interactionid();
} catch (Exception ex) {
error = ex;
interactionId = null;
} // try
// Logging.
try {
if (error != null) {
String logMessage = "Can't create a new interaction: " + error.getMessage();
InboxLogPublisher publisher = new InboxLogPublisher( ls );
publisher.ERROR(logMessage, inboxMessage);
ERROR(logMessage, error);
throw error;
} else {
String logMessage = "The new interaction was created. The ticket ID is " + interactionId;
INFO(logMessage + " Time (ms) - " + (System.currentTimeMillis() - time) +
". Message: " + inboxMessage);
InboxLogPublisher publisher = new InboxLogPublisher(ls);
publisher.INFO(logMessage, inboxMessage);
} // if (error != null)
} catch(Exception ex){
// Re-throwing the exception.
throwException("Known exception: " + ex.getMessage(), ex);
} // try
INFO("The new interaction was created");
return interactionId;
} // createInteraction(LogonSession, InboxMessage) : Long
/**
* The method creates a interaction by the ticket.
* @param ls logon session object
* @param inboxMessage inbox message object
* @return Long if the interaction was created
*/
public Long createInteractionByTicket(LogonSession ls, InboxMessage inboxMessage) {
INFO("Create a new interaction by the outgoing message...");
long time = System.currentTimeMillis();
Exception error = null;
Long interactionId;
JEOManagerLocal jeoManager = getJEOManager();
// Save!
try {
// get existing ticket
JEObjectHandler ticketHnd = TicketMailObjectHandler.selectByID(jeoManager, ls, inboxMessage.getObjectId().longValue());
// If no ticket found.
if (ticketHnd == null) {
String errorMessage = "The ticket wasn't found. The ticket ID is " + inboxMessage.getObjectId().longValue();
ERROR(errorMessage);
throw new GenericSystemException(errorMessage);
}
TicketMailObject ticketObject = (TicketMailObject)ticketHnd.getJEObject();
String emailSourceId = SysPropertyManager.getProperty("OUT_EMAIL_INTER_SOURCE");
if (emailSourceId == null) {
throw new NullPointerException("The system property OUT_EMAIL_INTER_SOURCE wasn't found.");
}
// try to create ne Interaction object
JEObjectHandler hnd = jeoManager.create(ls, InteractionObjectHandler.class);
InteractionObject interactionObj = (InteractionObject)hnd.getJEObject();
interactionObj.setQw_source(new Integer(emailSourceId));
// check and set problem field
if (inboxMessage.getSubject().length() > 255)
interactionObj.setQw_problem(inboxMessage.getSubject().substring(0, 250));
else
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -