Subversion Repositories SmartDukaan

Rev

Rev 3269 | Rev 3390 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3269 Rev 3339
Line 1... Line 1...
1
/**
1
/**
2
 * 
2
 * 
3
 */
3
 */
4
package in.shop2020.serving.controllers;
4
package in.shop2020.serving.controllers;
5
 
5
 
-
 
6
import in.shop2020.crm.Activity;
-
 
7
import in.shop2020.crm.ActivityType;
6
import in.shop2020.crm.Agent;
8
import in.shop2020.crm.Agent;
7
import in.shop2020.crm.Ticket;
9
import in.shop2020.crm.Ticket;
-
 
10
import in.shop2020.crm.TicketCategory;
-
 
11
import in.shop2020.crm.TicketPriority;
8
import in.shop2020.crm.TicketStatus;
12
import in.shop2020.crm.TicketStatus;
9
import in.shop2020.model.v1.user.User;
13
import in.shop2020.model.v1.user.User;
10
import in.shop2020.model.v1.user.UserContextException;
14
import in.shop2020.model.v1.user.UserContextException;
11
 
15
 
12
import java.util.ArrayList;
16
import java.util.ArrayList;
Line 24... Line 28...
24
     * 
28
     * 
25
     */
29
     */
26
    private static final long serialVersionUID = 1L;
30
    private static final long serialVersionUID = 1L;
27
 
31
 
28
    List<Ticket>              tickets          = new ArrayList<Ticket>();
32
    List<Ticket>              tickets          = new ArrayList<Ticket>();
-
 
33
    private String            userEmailId;
-
 
34
    private String            description;
-
 
35
    private String            assigneeEmailId;
-
 
36
    private String            priority;
-
 
37
    private String            category;
-
 
38
    private String            orderId;
-
 
39
 
-
 
40
    public String create() {
-
 
41
        try {
-
 
42
            createServiceClients();
-
 
43
            long creatorId = crmServiceClient.getAgentByEmailId(
-
 
44
                    currentAgentEmailId).getId();
-
 
45
            Ticket ticket = new Ticket();
-
 
46
            ticket.setDescription(description);
-
 
47
            ticket.setCreatorId(creatorId);
-
 
48
            ticket.setStatus(TicketStatus.OPEN);
-
 
49
            ticket.setPriority(TicketPriority.valueOf(priority));
-
 
50
            ticket.setCategory(TicketCategory.valueOf(category));
-
 
51
 
-
 
52
            Activity activity = new Activity();
-
 
53
            // At creation of ticket activity's description is same as that of
-
 
54
            // ticket
-
 
55
            activity.setDescription("Creating Ticket");
-
 
56
            activity.setType(ActivityType.OTHER);
-
 
57
            activity.setTicketPriority(TicketPriority.valueOf(priority));
-
 
58
            activity.setTicketStatus(TicketStatus.OPEN);
-
 
59
            activity.setCreatorId(creatorId);
-
 
60
            activity.setTicketCategory(TicketCategory.valueOf(category));
-
 
61
            activity.setTicketDescription(description);
-
 
62
 
-
 
63
            if (orderId != null && !orderId.isEmpty()) {
-
 
64
                ticket.setOrderId(Long.parseLong(orderId));
-
 
65
            }
-
 
66
 
-
 
67
            if (userEmailId != null && !userEmailId.isEmpty()) {
-
 
68
                ticket.setCustomerEmailId(userEmailId);
-
 
69
            }
-
 
70
 
-
 
71
            // handling null values appropriately
-
 
72
            if (assigneeEmailId != null && !assigneeEmailId.isEmpty()) {
-
 
73
                long assigneeId = crmServiceClient.getAgentByEmailId(
-
 
74
                        assigneeEmailId).getId();
-
 
75
                ticket.setAssigneeId(assigneeId);
-
 
76
                activity.setTicketAssigneeId(assigneeId);
-
 
77
            }
-
 
78
 
-
 
79
            crmServiceClient.insertTicket(ticket, activity);
-
 
80
        } catch (TException e) {
-
 
81
            log.error("Error while creating ticket", e);
-
 
82
            return EXCEPTION;
-
 
83
        }
-
 
84
 
-
 
85
        return getMyOpenTickets();
-
 
86
    }
29
 
87
 
30
    public String getMyOpenTickets() {
88
    public String getMyOpenTickets() {
31
        try {
89
        try {
32
            createServiceClients();
90
            createServiceClients();
-
 
91
            Agent agent = crmServiceClient
33
            Agent agent = crmServiceClient.getAgentByEmailId(currentAgentEmailId);
92
                    .getAgentByEmailId(currentAgentEmailId);
34
 
93
 
35
            for (Ticket ticket : crmServiceClient.getAssignedTickets(agent.getId())) {
94
            for (Ticket ticket : crmServiceClient.getAssignedTickets(agent
-
 
95
                    .getId())) {
36
                if (TicketStatus.OPEN.equals(ticket.getStatus())) {
96
                if (TicketStatus.OPEN.equals(ticket.getStatus())) {
37
                    tickets.add(ticket);
97
                    tickets.add(ticket);
38
                }
98
                }
39
            }
99
            }
40
        } catch (TException e) {
100
        } catch (TException e) {
Line 48... Line 108...
48
    }
108
    }
49
 
109
 
50
    public String getMyTickets() {
110
    public String getMyTickets() {
51
        try {
111
        try {
52
            createServiceClients();
112
            createServiceClients();
-
 
113
            Agent agent = crmServiceClient
53
            Agent agent = crmServiceClient.getAgentByEmailId(currentAgentEmailId);
114
                    .getAgentByEmailId(currentAgentEmailId);
54
            tickets = crmServiceClient.getAssignedTickets(agent.getId());
115
            tickets = crmServiceClient.getAssignedTickets(agent.getId());
55
        } catch (TException e) {
116
        } catch (TException e) {
56
            String errorString = "Error getting tickets for " + currentAgentEmailId;
117
            String errorString = "Error getting tickets for "
-
 
118
                    + currentAgentEmailId;
57
            log.error(errorString, e);
119
            log.error(errorString, e);
58
            addActionError(errorString);
120
            addActionError(errorString);
59
        }
121
        }
60
 
122
 
61
        return INDEX;
123
        return INDEX;
Line 64... Line 126...
64
    public String getUnassignedTickets() {
126
    public String getUnassignedTickets() {
65
        try {
127
        try {
66
            createServiceClients();
128
            createServiceClients();
67
            tickets = crmServiceClient.getUnassignedTickets();
129
            tickets = crmServiceClient.getUnassignedTickets();
68
        } catch (TException e) {
130
        } catch (TException e) {
69
            String errorString = "Error getting tickets for " + currentAgentEmailId;
131
            String errorString = "Error getting tickets for "
-
 
132
                    + currentAgentEmailId;
70
            log.error(errorString, e);
133
            log.error(errorString, e);
71
            addActionError(errorString);
134
            addActionError(errorString);
72
        }
135
        }
73
 
136
 
74
        return INDEX;
137
        return INDEX;
75
    }
138
    }
76
 
139
 
77
    public String getAllTickets() {
140
    public String getAllTickets() {
78
        try {
141
        try {
79
            createServiceClients();
142
            createServiceClients();
-
 
143
            Agent agent = crmServiceClient
80
            Agent agent = crmServiceClient.getAgentByEmailId(currentAgentEmailId);
144
                    .getAgentByEmailId(currentAgentEmailId);
81
            tickets = crmServiceClient.getAllTickets(agent.getId());
145
            tickets = crmServiceClient.getAllTickets(agent.getId());
82
        } catch (TException e) {
146
        } catch (TException e) {
83
            String errorString = "Error getting tickets for " + currentAgentEmailId;
147
            String errorString = "Error getting tickets for "
-
 
148
                    + currentAgentEmailId;
84
            log.error(errorString, e);
149
            log.error(errorString, e);
85
            addActionError(errorString);
150
            addActionError(errorString);
86
        }
151
        }
87
 
152
 
88
        return INDEX;
153
        return INDEX;
89
    }
154
    }
90
 
155
 
91
    public String getAllOpenTickets() {
156
    public String getAllOpenTickets() {
92
        try {
157
        try {
93
            createServiceClients();
158
            createServiceClients();
-
 
159
            Agent agent = crmServiceClient
94
            Agent agent = crmServiceClient.getAgentByEmailId(currentAgentEmailId);
160
                    .getAgentByEmailId(currentAgentEmailId);
95
            for (Ticket ticket : crmServiceClient.getAllTickets(agent.getId())) {
161
            for (Ticket ticket : crmServiceClient.getAllTickets(agent.getId())) {
96
                if (TicketStatus.OPEN.equals(ticket.getStatus())) {
162
                if (TicketStatus.OPEN.equals(ticket.getStatus())) {
97
                    tickets.add(ticket);
163
                    tickets.add(ticket);
98
                }
164
                }
99
            }
165
            }
100
        } catch (TException e) {
166
        } catch (TException e) {
101
            String errorString = "Error getting tickets for " + currentAgentEmailId;
167
            String errorString = "Error getting tickets for "
-
 
168
                    + currentAgentEmailId;
102
            log.error(errorString, e);
169
            log.error(errorString, e);
103
            addActionError(errorString);
170
            addActionError(errorString);
104
        }
171
        }
105
 
172
 
106
        return INDEX;
173
        return INDEX;
Line 137... Line 204...
137
        }
204
        }
138
 
205
 
139
        return agent;
206
        return agent;
140
    }
207
    }
141
 
208
 
-
 
209
    public List<Agent> getAllAgents() {
-
 
210
        List<Agent> agents = null;
-
 
211
 
-
 
212
        try {
-
 
213
            createServiceClients();
-
 
214
            agents = crmServiceClient.getAllAgents();
-
 
215
        } catch (TException e) {
-
 
216
            String errorString = "Error while getting roles";
-
 
217
            log.error(errorString, e);
-
 
218
            addActionError(errorString);
-
 
219
        }
-
 
220
 
-
 
221
        return agents;
-
 
222
    }
-
 
223
 
-
 
224
    public TicketCategory[] getTicketCategories() {
-
 
225
        return TicketCategory.values();
-
 
226
    }
-
 
227
 
-
 
228
    public TicketPriority[] getTicketPriorities() {
-
 
229
        return TicketPriority.values();
-
 
230
    }
-
 
231
 
142
    public List<Ticket> getTickets() {
232
    public List<Ticket> getTickets() {
143
        return tickets;
233
        return tickets;
144
    }
234
    }
145
 
235
 
146
    public void setTickets(List<Ticket> tickets) {
236
    public void setTickets(List<Ticket> tickets) {
147
        this.tickets = tickets;
237
        this.tickets = tickets;
148
    }
238
    }
-
 
239
 
-
 
240
    public String getUserEmailId() {
-
 
241
        return userEmailId;
-
 
242
    }
-
 
243
 
-
 
244
    public void setUserEmailId(String userEmailId) {
-
 
245
        this.userEmailId = userEmailId;
-
 
246
    }
-
 
247
 
-
 
248
    public String getDescription() {
-
 
249
        return description;
-
 
250
    }
-
 
251
 
-
 
252
    public void setDescription(String description) {
-
 
253
        this.description = description;
-
 
254
    }
-
 
255
 
-
 
256
    public String getAssigneeEmailId() {
-
 
257
        return assigneeEmailId;
-
 
258
    }
-
 
259
 
-
 
260
    public void setAssigneeEmailId(String assigneeEmailId) {
-
 
261
        this.assigneeEmailId = assigneeEmailId;
-
 
262
    }
-
 
263
 
-
 
264
    public String getPriority() {
-
 
265
        return priority;
-
 
266
    }
-
 
267
 
-
 
268
    public void setPriority(String priority) {
-
 
269
        this.priority = priority;
-
 
270
    }
-
 
271
 
-
 
272
    public String getCategory() {
-
 
273
        return category;
-
 
274
    }
-
 
275
 
-
 
276
    public void setCategory(String category) {
-
 
277
        this.category = category;
-
 
278
    }
-
 
279
 
-
 
280
    public String getOrderId() {
-
 
281
        return orderId;
-
 
282
    }
-
 
283
 
-
 
284
    public void setOrderId(String orderId) {
-
 
285
        this.orderId = orderId;
-
 
286
    }
149
}
287
}