Blame | Last modification | View Log | RSS feed
/****/package in.shop2020.serving.controllers;import in.shop2020.crm.Activity;import in.shop2020.crm.Agent;import in.shop2020.crm.ContactMedium;import in.shop2020.crm.Ticket;import in.shop2020.crm.TicketCategory;import in.shop2020.crm.TicketPriority;import in.shop2020.crm.TicketStatus;import in.shop2020.model.v1.user.User;import in.shop2020.model.v1.user.UserContextException;import java.util.Date;import java.util.LinkedHashMap;import java.util.List;import java.util.Map;import org.apache.thrift.TException;/*** Action class for activity pages in CRM.** @author mandeep*/public class UserActivityController extends BaseController {/****/private static final long serialVersionUID = 1L;private Map<Long, Activity> activities = new LinkedHashMap<Long, Activity>();private long userId;private String description;private String contactMedium;private String ticketAssigneeEmailId;private String contactTimestamp;private String contactingAgentEmailId;private User user;private String ticketCategory;public String index() throws TException, UserContextException {createServiceClients();List<Activity> activityList = crmServiceClient.getActivities(userId);if (activityList != null) {for (Activity activity : activityList) {activities.put(activity.getId(), activity);}}user = userContextServiceClient.getUserById(userId);return INDEX;}public String editNew() throws UserContextException, TException {contactTimestamp = SDF.format(new Date());return EDIT_NEW;}public Map<Long, Activity> getActivities() {return activities;}public TicketStatus[] getTicketStatuses() {return TicketStatus.values();}public TicketPriority[] getTicketPriorities() {return TicketPriority.values();}public ContactMedium[] getContactMedia() {return ContactMedium.values();}public User getUser() {return user;}public Ticket getTicket(long activityId) throws TException {Ticket ticket = null;Activity activity = crmServiceClient.getActivity(activityId);if (activity != null && activity.getTicketId() != 0) {ticket = crmServiceClient.getTicket(activity.getTicketId());}else {ticket = new Ticket();}return ticket;}public String create() throws Exception {createServiceClients();Activity activity = new Activity();activity.setCustomerId(userId);activity.setContactingAgentId(crmServiceClient.getAgentByEmailId(currentAgentEmailId).getId());activity.setDescription(description);activity.setContactMedium(ContactMedium.valueOf(contactMedium));activity.setTicketAssigneeId(crmServiceClient.getAgentByEmailId(ticketAssigneeEmailId).getId());activity.setTicketPriority(TicketPriority.MEDIUM);activity.setTicketStatus(TicketStatus.CLOSED);activity.setContactTimestamp(SDF.parse(contactTimestamp).getTime());activity.setCreatorId(crmServiceClient.getAgentByEmailId(currentAgentEmailId).getId());activity.setTicketCategory(TicketCategory.valueOf(ticketCategory));crmServiceClient.insertActivity(activity);return index();}public List<Agent> getAllAgents() throws TException{createServiceClients();return crmServiceClient.getAllAgents();}public Agent getAgent(long agentId) throws TException {return crmServiceClient.getAgent(agentId);}public void setUserId(String userId) {this.userId = Long.parseLong(userId);}public void setDescription(String description) {this.description = description;}public void setContactMedium(String contactMedium) {this.contactMedium = contactMedium;}public void setTicketAssigneeEmailId(String ticketAssigneeEmailId) {this.ticketAssigneeEmailId = ticketAssigneeEmailId;}public void setContactTimestamp(String contactTimestamp) {this.contactTimestamp = contactTimestamp;}public void setContactingAgentEmailId(String contactingAgentEmailId) {this.contactingAgentEmailId = contactingAgentEmailId;}public long getUserId() {return userId;}public String getContactTimestamp() {return contactTimestamp;}public String getTicketCategory() {return ticketCategory;}public void setTicketCategory(String ticketCategory) {this.ticketCategory = ticketCategory;}}