Subversion Repositories SmartDukaan

Rev

Rev 3137 | Rev 3339 | Go to most recent revision | Details | Compare with Previous | 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();
3269 mandeep.dh 33
            Agent agent = crmServiceClient.getAgentByEmailId(currentAgentEmailId);
3137 mandeep.dh 34
 
3269 mandeep.dh 35
            for (Ticket ticket : crmServiceClient.getAssignedTickets(agent.getId())) {
3137 mandeep.dh 36
                if (TicketStatus.OPEN.equals(ticket.getStatus())) {
37
                    tickets.add(ticket);
38
                }
39
            }
40
        } catch (TException e) {
41
            String errorString = "Error getting tickets for "
42
                    + currentAgentEmailId;
43
            log.error(errorString, e);
44
            addActionError(errorString);
45
        }
46
 
47
        return INDEX;
48
    }
49
 
50
    public String getMyTickets() {
51
        try {
52
            createServiceClients();
53
            Agent agent = crmServiceClient.getAgentByEmailId(currentAgentEmailId);
54
            tickets = crmServiceClient.getAssignedTickets(agent.getId());
55
        } catch (TException e) {
56
            String errorString = "Error getting tickets for " + currentAgentEmailId;
57
            log.error(errorString, e);
58
            addActionError(errorString);
59
        }
60
 
61
        return INDEX;
62
    }
63
 
64
    public String getUnassignedTickets() {
65
        try {
66
            createServiceClients();
67
            tickets = crmServiceClient.getUnassignedTickets();
68
        } catch (TException e) {
69
            String errorString = "Error getting tickets for " + currentAgentEmailId;
70
            log.error(errorString, e);
71
            addActionError(errorString);
72
        }
73
 
74
        return INDEX;
75
    }
76
 
77
    public String getAllTickets() {
78
        try {
79
            createServiceClients();
80
            Agent agent = crmServiceClient.getAgentByEmailId(currentAgentEmailId);
81
            tickets = crmServiceClient.getAllTickets(agent.getId());
82
        } catch (TException e) {
83
            String errorString = "Error getting tickets for " + currentAgentEmailId;
84
            log.error(errorString, e);
85
            addActionError(errorString);
86
        }
87
 
88
        return INDEX;
89
    }
90
 
91
    public String getAllOpenTickets() {
92
        try {
93
            createServiceClients();
94
            Agent agent = crmServiceClient.getAgentByEmailId(currentAgentEmailId);
95
            for (Ticket ticket : crmServiceClient.getAllTickets(agent.getId())) {
96
                if (TicketStatus.OPEN.equals(ticket.getStatus())) {
97
                    tickets.add(ticket);
98
                }
99
            }
100
        } catch (TException e) {
101
            String errorString = "Error getting tickets for " + currentAgentEmailId;
102
            log.error(errorString, e);
103
            addActionError(errorString);
104
        }
105
 
106
        return INDEX;
107
    }
108
 
109
    public User getUser(Long userId) {
110
        User user = null;
111
 
112
        try {
113
            createServiceClients();
114
            user = userContextServiceClient.getUserById(userId);
115
        } catch (UserContextException e) {
116
            String errorString = "Could not fetch user for " + userId;
117
            log.error(errorString, e);
118
            addActionError(errorString);
119
        } catch (TException e) {
120
            String errorString = "Could not create client";
121
            log.error(errorString, e);
122
            addActionError(errorString);
123
        }
124
 
125
        return user;
126
    }
127
 
128
    public Agent getAgent(long agentId) {
129
        Agent agent = null;
130
 
131
        try {
132
            agent = crmServiceClient.getAgent(agentId);
133
        } catch (TException e) {
134
            String errorString = "Could not get agent for " + agentId;
135
            log.error(errorString, e);
136
            addActionError(errorString);
137
        }
138
 
139
        return agent;
140
    }
141
 
142
    public List<Ticket> getTickets() {
143
        return tickets;
144
    }
145
 
146
    public void setTickets(List<Ticket> tickets) {
147
        this.tickets = tickets;
148
    }
149
}