Subversion Repositories SmartDukaan

Rev

Rev 3269 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
3137 mandeep.dh 1
/**
2
 * 
3
 */
4
package in.shop2020.serving.controllers;
5
 
6
import in.shop2020.crm.Agent;
7
import in.shop2020.crm.Ticket;
8
import in.shop2020.crm.TicketStatus;
9
import in.shop2020.model.v1.user.User;
10
import in.shop2020.model.v1.user.UserContextException;
11
 
12
import java.util.ArrayList;
13
import java.util.List;
14
 
15
import org.apache.thrift.TException;
16
 
17
/**
18
 * @author mandeep
19
 * 
20
 */
21
public class TicketsController extends BaseController {
22
 
23
    /**
24
     * 
25
     */
26
    private static final long serialVersionUID = 1L;
27
 
28
    List<Ticket>              tickets          = new ArrayList<Ticket>();
29
 
30
    public String getMyOpenTickets() {
31
        try {
32
            createServiceClients();
33
            Agent agent = crmServiceClient
34
                    .getAgentByEmailId(currentAgentEmailId);
35
 
36
            for (Ticket ticket : crmServiceClient.getAssignedTickets(agent
37
                    .getId())) {
38
                if (TicketStatus.OPEN.equals(ticket.getStatus())) {
39
                    tickets.add(ticket);
40
                }
41
            }
42
        } catch (TException e) {
43
            String errorString = "Error getting tickets for "
44
                    + currentAgentEmailId;
45
            log.error(errorString, e);
46
            addActionError(errorString);
47
        }
48
 
49
        return INDEX;
50
    }
51
 
52
    public String getMyTickets() {
53
        try {
54
            createServiceClients();
55
            Agent agent = crmServiceClient.getAgentByEmailId(currentAgentEmailId);
56
            tickets = crmServiceClient.getAssignedTickets(agent.getId());
57
        } catch (TException e) {
58
            String errorString = "Error getting tickets for " + currentAgentEmailId;
59
            log.error(errorString, e);
60
            addActionError(errorString);
61
        }
62
 
63
        return INDEX;
64
    }
65
 
66
    public String getUnassignedTickets() {
67
        try {
68
            createServiceClients();
69
            tickets = crmServiceClient.getUnassignedTickets();
70
        } catch (TException e) {
71
            String errorString = "Error getting tickets for " + currentAgentEmailId;
72
            log.error(errorString, e);
73
            addActionError(errorString);
74
        }
75
 
76
        return INDEX;
77
    }
78
 
79
    public String getAllTickets() {
80
        try {
81
            createServiceClients();
82
            Agent agent = crmServiceClient.getAgentByEmailId(currentAgentEmailId);
83
            tickets = crmServiceClient.getAllTickets(agent.getId());
84
        } catch (TException e) {
85
            String errorString = "Error getting tickets for " + currentAgentEmailId;
86
            log.error(errorString, e);
87
            addActionError(errorString);
88
        }
89
 
90
        return INDEX;
91
    }
92
 
93
    public String getAllOpenTickets() {
94
        try {
95
            createServiceClients();
96
            Agent agent = crmServiceClient.getAgentByEmailId(currentAgentEmailId);
97
            for (Ticket ticket : crmServiceClient.getAllTickets(agent.getId())) {
98
                if (TicketStatus.OPEN.equals(ticket.getStatus())) {
99
                    tickets.add(ticket);
100
                }
101
            }
102
        } catch (TException e) {
103
            String errorString = "Error getting tickets for " + currentAgentEmailId;
104
            log.error(errorString, e);
105
            addActionError(errorString);
106
        }
107
 
108
        return INDEX;
109
    }
110
 
111
    public User getUser(Long userId) {
112
        User user = null;
113
 
114
        try {
115
            createServiceClients();
116
            user = userContextServiceClient.getUserById(userId);
117
        } catch (UserContextException e) {
118
            String errorString = "Could not fetch user for " + userId;
119
            log.error(errorString, e);
120
            addActionError(errorString);
121
        } catch (TException e) {
122
            String errorString = "Could not create client";
123
            log.error(errorString, e);
124
            addActionError(errorString);
125
        }
126
 
127
        return user;
128
    }
129
 
130
    public Agent getAgent(long agentId) {
131
        Agent agent = null;
132
 
133
        try {
134
            agent = crmServiceClient.getAgent(agentId);
135
        } catch (TException e) {
136
            String errorString = "Could not get agent for " + agentId;
137
            log.error(errorString, e);
138
            addActionError(errorString);
139
        }
140
 
141
        return agent;
142
    }
143
 
144
    public List<Ticket> getTickets() {
145
        return tickets;
146
    }
147
 
148
    public void setTickets(List<Ticket> tickets) {
149
        this.tickets = tickets;
150
    }
151
}