Subversion Repositories SmartDukaan

Rev

Rev 14915 | Rev 16244 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2674 vikas 1
package in.shop2020.serving.controllers;
2
 
3090 mandeep.dh 3
import in.shop2020.crm.Activity;
4142 mandeep.dh 4
import in.shop2020.crm.ActivityType;
3397 mandeep.dh 5
import in.shop2020.crm.Agent;
3390 mandeep.dh 6
import in.shop2020.crm.SearchFilter;
3090 mandeep.dh 7
import in.shop2020.crm.Ticket;
3499 mandeep.dh 8
import in.shop2020.crm.TicketCategory;
3090 mandeep.dh 9
import in.shop2020.crm.TicketStatus;
2724 vikas 10
import in.shop2020.model.v1.order.Order;
7572 anupam.sin 11
import in.shop2020.model.v1.order.OrderSource;
2724 vikas 12
import in.shop2020.model.v1.order.OrderStatus;
6111 anupam.sin 13
import in.shop2020.model.v1.order.RechargeOrder;
14
import in.shop2020.model.v1.order.RechargeOrderStatus;
3090 mandeep.dh 15
import in.shop2020.model.v1.order.TransactionServiceException;
7387 manish.sha 16
import in.shop2020.model.v1.order.UserWallet;
2724 vikas 17
import in.shop2020.model.v1.user.Cart;
18
import in.shop2020.model.v1.user.Line;
13102 kshitij.so 19
import in.shop2020.model.v1.user.PrivateDealUser;
2724 vikas 20
import in.shop2020.model.v1.user.User;
3090 mandeep.dh 21
import in.shop2020.model.v1.user.UserCommunication;
22
import in.shop2020.model.v1.user.UserCommunicationException;
23
import in.shop2020.model.v1.user.UserContextException;
3390 mandeep.dh 24
import in.shop2020.serving.auth.CRMAuthorizingRealm;
25
import in.shop2020.thrift.clients.CRMClient;
26
import in.shop2020.thrift.clients.TransactionClient;
27
import in.shop2020.thrift.clients.UserClient;
3269 mandeep.dh 28
import in.shop2020.util.CRMConstants;
7606 anupam.sin 29
import in.shop2020.util.CRMEmailProcessor;
2674 vikas 30
 
3546 mandeep.dh 31
import java.util.ArrayList;
3397 mandeep.dh 32
import java.util.Calendar;
3390 mandeep.dh 33
import java.util.Collections;
2724 vikas 34
import java.util.Date;
35
import java.util.List;
36
 
7606 anupam.sin 37
import org.apache.commons.logging.Log;
38
import org.apache.commons.logging.LogFactory;
2674 vikas 39
import org.apache.log4j.Logger;
16208 manish.sha 40
import org.apache.shiro.SecurityUtils;
2674 vikas 41
import org.apache.struts2.convention.annotation.Action;
3090 mandeep.dh 42
import org.apache.thrift.TException;
2674 vikas 43
 
44
/**
45
 * @author vikas
3422 mandeep.dh 46
 * 
2674 vikas 47
 */
48
@SuppressWarnings("serial")
49
public class HomeController extends BaseController {
7606 anupam.sin 50
//    private static final Logger log        = Logger.getLogger(HomeController.class);
51
    private static final Log log                   = LogFactory.getLog(HomeController.class);
3090 mandeep.dh 52
 
6111 anupam.sin 53
    private String              rechargeOrderId;
54
    private String              deviceNumber;
3422 mandeep.dh 55
    private String              email;
56
    private String              orderId;
57
    private String              mobileNumber;
58
    private User                user;
59
    private long                orderCount;
60
    private long                completedOrderCount;
61
    private long                openOrderCount;
62
    private long                failedOrderCount;
63
    private long                userCommunicationCount;
64
    private long                ticketCount;
65
    private long                openTicketCount;
66
    private long                closedTicketCount;
67
    private String              ticketId;
68
    private String              lastLogin;
69
    private double              cartItems;
70
    private String              couponCode = "";
71
    private long                agentOpenTicketCount;
72
    private long                unassignedTicketCount;
73
    private long                activityCount;
74
    private long                customerActivityCount;
16208 manish.sha 75
    private long				pmCustomerActivityCount;
76
    private long                pmAgentUnreadActivityCount;
3499 mandeep.dh 77
    private long                pendingCodVerificationCount;
3711 mandeep.dh 78
    private long                agentUnreadActivityCount;
3578 mandeep.dh 79
    private long                openFailedPaymentsTicketCount;
4008 mandeep.dh 80
    private long                openDelayedDeliveryTicketCount;
4267 anupam.sin 81
    private long                openFlaggedPaymentsTicketCount;
5858 amar.kumar 82
    private long				openStorePickupTicketCount;
7372 kshitij.so 83
    private long                lowInventoryTicketsCount;
7615 manish.sha 84
    //Start:- Added By Manish Sharma for Creating a new Ticket: Category- RTO Refund on 21-Jun-2013
85
    private long                RtoRefundsTicketCount;
86
    //End:- Added By Manish Sharma for Creating a new Ticket: Category- RTO Refund on 21-Jun-2013
4490 anupam.sin 87
    private long                DoaRequestCount;
6111 anupam.sin 88
    private long                failedRechargeCount = 0;
89
    private long                successfulRechargeCount = 0;
2674 vikas 90
 
5858 amar.kumar 91
	private long                ReturnRequestCount;
4490 anupam.sin 92
 
4751 anupam.sin 93
    private long                orderCancellationCount;
6111 anupam.sin 94
 
95
    private long                rechargeOrderCount = 0;
4751 anupam.sin 96
 
7572 anupam.sin 97
    private String              amazonOrderItemCode;
98
 
7387 manish.sha 99
    //Start:- Added by Manish Sharma for Displaying wallet amount at user page on June-05-2013
100
    private UserWallet          wallet = null;
101
 
102
    private long                walletAmount;
103
    //End:- Added by Manish Sharma for Displaying wallet amount at user page on June-05-2013
7572 anupam.sin 104
 
105
    private List<Order> orders = new ArrayList<Order>();
106
 
9166 manish.sha 107
    private List<RechargeOrder> rechargeOrders = new ArrayList<RechargeOrder>();
7572 anupam.sin 108
    private String amazonId;
11890 kshitij.so 109
    private long bulkOrderEnquiryCount;
14882 manish.sha 110
    private long profitMandiTicketCount;
13102 kshitij.so 111
    private PrivateDealUser privateDealUser;
13324 manish.sha 112
    private String masterOrderId;
7572 anupam.sin 113
 
4751 anupam.sin 114
 
13102 kshitij.so 115
    public PrivateDealUser getPrivateDealUser() {
116
        return privateDealUser;
117
    }
118
 
119
    public void setPrivateDealUser(PrivateDealUser privateDealUser) {
120
        this.privateDealUser = privateDealUser;
121
    }
122
 
2674 vikas 123
    @Action("/")
2724 vikas 124
    public String index() throws Exception {
3137 mandeep.dh 125
        String returnValue = INPUT;
126
 
3090 mandeep.dh 127
        try {
3106 mandeep.dh 128
            if (email == null) {
3390 mandeep.dh 129
                loadTicketCounts();
16208 manish.sha 130
                loadPmCustomerActivities();
3390 mandeep.dh 131
                loadCustomerActivities();
16208 manish.sha 132
 
3137 mandeep.dh 133
                return returnValue;
3106 mandeep.dh 134
            }
7572 anupam.sin 135
 
136
            if (mobileNumber != null && !mobileNumber.isEmpty()) {
137
                transactionServiceClient = new TransactionClient().getClient();
138
                setOrders(transactionServiceClient.getOrdersByMobileNumber(mobileNumber));
139
                return "orders-index";
140
            }
141
 
142
            if (amazonId != null && !amazonId.isEmpty()) {
143
                transactionServiceClient = new TransactionClient().getClient();
7645 anupam.sin 144
                setOrders(transactionServiceClient.getOrdersByAmazonOrderCode(amazonId));
7572 anupam.sin 145
                return "orders-index";
146
            }
147
 
13324 manish.sha 148
            if(masterOrderId!=null && !masterOrderId.isEmpty()){
149
            	transactionServiceClient = new TransactionClient().getClient();
150
                setOrders(transactionServiceClient.getGroupOrdersByLogisticsTxnId(masterOrderId));
151
                return "orders-index";
152
            }
153
 
9166 manish.sha 154
            if (deviceNumber != null && !deviceNumber.isEmpty()) {
155
                transactionServiceClient = new TransactionClient().getClient();
156
                rechargeOrders = transactionServiceClient.getRechargeOrdersForDevice(deviceNumber);
157
                setRechargeOrders(rechargeOrders);
158
                return "recharge-orders-result-index";
159
                //user = userContextServiceClient.getUserById(rechargeOrders.get(0).getUserId());
160
            }
161
 
3390 mandeep.dh 162
            userContextServiceClient = new UserClient().getClient();
3096 mandeep.dh 163
            if (email != null && !email.isEmpty()) {
164
                user = userContextServiceClient.getUserByEmail(email);
3422 mandeep.dh 165
            } else if (orderId != null && !orderId.isEmpty()) {
3390 mandeep.dh 166
                transactionServiceClient = new TransactionClient().getClient();
3422 mandeep.dh 167
                Order order = transactionServiceClient.getOrder(Long
168
                        .parseLong(orderId));
169
                user = userContextServiceClient.getUserById(order
170
                        .getCustomer_id());
6111 anupam.sin 171
            } else if (rechargeOrderId != null && !rechargeOrderId.isEmpty()){
172
                transactionServiceClient = new TransactionClient().getClient();
173
                RechargeOrder rechargeOrder = transactionServiceClient.getRechargeOrder(Long
174
                        .parseLong(rechargeOrderId));
175
                user = userContextServiceClient.getUserById(rechargeOrder.getUserId());
3422 mandeep.dh 176
            } else if (ticketId != null && !ticketId.isEmpty()) {
3390 mandeep.dh 177
                SearchFilter searchFilter = new SearchFilter();
178
                searchFilter.setTicketId(Long.parseLong(ticketId));
3422 mandeep.dh 179
                crmServiceClient = new CRMClient().getClient();
180
                List<Ticket> tickets = crmServiceClient
181
                        .getTickets(searchFilter);
3390 mandeep.dh 182
                if (!tickets.isEmpty()) {
183
                    Ticket ticket = tickets.get(0);
184
                    if (ticket.isSetCustomerId()) {
185
                        user = userContextServiceClient.getUserById(ticket.getCustomerId());
186
                    }
187
                }
3422 mandeep.dh 188
                else {
189
                    // resetting in case on invalid ticket Id
190
                    ticketId = null;
191
                }
3096 mandeep.dh 192
            }
3090 mandeep.dh 193
 
194
            if (user == null || user.getUserId() <= 0) {
3422 mandeep.dh 195
                if (ticketId == null || ticketId.isEmpty()) {
196
                    addActionError("Invalid input");
197
                }
198
            } else {
3390 mandeep.dh 199
                loadUserCommunicationDetails();
6111 anupam.sin 200
                loadRechargeOrders();
3390 mandeep.dh 201
                loadOrderDetails();
202
                loadCartDetails();
203
                loadTicketDetails();
204
                loadActivityDetails();
3137 mandeep.dh 205
                returnValue = INDEX;
206
            }
3422 mandeep.dh 207
        } catch (Exception e) {
3137 mandeep.dh 208
            addActionError("Invalid input");
3090 mandeep.dh 209
            log.error("Error occurred", e);
2724 vikas 210
        }
3137 mandeep.dh 211
 
212
        if (INPUT.equals(returnValue)) {
3390 mandeep.dh 213
            loadTicketCounts();
3422 mandeep.dh 214
            loadCustomerActivities();
3137 mandeep.dh 215
        }
216
 
217
        return returnValue;
3090 mandeep.dh 218
    }
219
 
3390 mandeep.dh 220
    private void loadCustomerActivities() throws TException {
16208 manish.sha 221
    	if(!isProfitMandiAgent()){
222
	        SearchFilter searchFilter = new SearchFilter();
223
	        searchFilter.setActivityCreatorIds(Collections
224
	                .singletonList(CRMConstants.ADMIN_AGENT_ID));
225
	        searchFilter.setIsActivityRead(false);
226
	        searchFilter.setNotShowPmTickets(true);
227
	        searchFilter.setTicketCategoryList(new ArrayList<TicketCategory>());
228
	        searchFilter.getTicketCategoryList().add(TicketCategory.PROFITMANDI_CASHBACK);
229
	        searchFilter.getTicketCategoryList().add(TicketCategory.PROFITMANDI_FEEDBACK);
230
	        searchFilter.getTicketCategoryList().add(TicketCategory.PROFITMANDI_ORDER_NOT_SEEN);
231
	        searchFilter.getTicketCategoryList().add(TicketCategory.PROFITMANDI_OTHER);
232
	        searchFilter.getTicketCategoryList().add(TicketCategory.PROFITMANDI_RECHARGE_ISSUE);
233
 
234
	        agentUnreadActivityCount = 0;
235
	        customerActivityCount = 0;
236
 
237
	        crmServiceClient = new CRMClient().getClient();
238
	        List<Activity> activities = crmServiceClient.getActivities(searchFilter);
239
 
240
	        if (activities != null) {
241
	            for (Activity activity : activities) {
242
	                if (CRMAuthorizingRealm.getAgent(currentAgentEmailId).getId() == activity.getTicketAssigneeId()) {
243
	                    agentUnreadActivityCount++;
244
	                }
245
	            }
246
 
247
	            customerActivityCount = activities.size();
248
	        }
249
    	}
3339 mandeep.dh 250
    }
16208 manish.sha 251
 
252
    private void loadPmCustomerActivities() throws TException {
253
    	if(isProfitMandiAgent()){
254
	    	SearchFilter searchFilter = new SearchFilter();
255
	        searchFilter.setActivityCreatorIds(Collections
256
	                .singletonList(CRMConstants.ADMIN_AGENT_ID));
257
	        searchFilter.setIsActivityRead(false);
258
	        searchFilter.setNotShowPmTickets(false);
259
	        searchFilter.setTicketCategoryList(new ArrayList<TicketCategory>());
260
	        searchFilter.getTicketCategoryList().add(TicketCategory.PROFITMANDI_CASHBACK);
261
	        searchFilter.getTicketCategoryList().add(TicketCategory.PROFITMANDI_FEEDBACK);
262
	        searchFilter.getTicketCategoryList().add(TicketCategory.PROFITMANDI_ORDER_NOT_SEEN);
263
	        searchFilter.getTicketCategoryList().add(TicketCategory.PROFITMANDI_OTHER);
264
	        searchFilter.getTicketCategoryList().add(TicketCategory.PROFITMANDI_RECHARGE_ISSUE);
265
 
266
	        pmAgentUnreadActivityCount = 0;
267
	        pmCustomerActivityCount = 0;
268
 
269
	        crmServiceClient = new CRMClient().getClient();
270
	        List<Activity> activities = crmServiceClient.getActivities(searchFilter);
271
 
272
	        if (activities != null) {
273
	            for (Activity activity : activities) {
274
	                if (CRMAuthorizingRealm.getAgent(currentAgentEmailId).getId() == activity.getTicketAssigneeId()) {
275
	                	pmAgentUnreadActivityCount++;
276
	                }
277
	                pmCustomerActivityCount++;
278
	            }
279
 
280
	        }
281
    	}
282
    }
3339 mandeep.dh 283
 
3390 mandeep.dh 284
    private void loadActivityDetails() throws TException {
285
        SearchFilter searchFilter = new SearchFilter();
286
        searchFilter.setCustomerId(user.getUserId());
287
 
3422 mandeep.dh 288
        crmServiceClient = new CRMClient().getClient();
289
        List<Activity> activities = crmServiceClient
290
                .getActivities(searchFilter);
3106 mandeep.dh 291
        if (activities != null) {
292
            activityCount = activities.size();
293
        }
294
    }
295
 
3390 mandeep.dh 296
    private void loadTicketCounts() throws TException {
297
        SearchFilter searchFilter = new SearchFilter();
3546 mandeep.dh 298
        searchFilter.setTicketStatuses(new ArrayList<TicketStatus>());
299
        searchFilter.getTicketStatuses().add(TicketStatus.OPEN);
300
        searchFilter.getTicketStatuses().add(TicketStatus.REOPEN);
3422 mandeep.dh 301
        searchFilter.setTicketAssigneeIds(Collections
3499 mandeep.dh 302
                .singletonList(CRMAuthorizingRealm.getAgent(currentAgentEmailId).getId()));
3390 mandeep.dh 303
 
3422 mandeep.dh 304
        crmServiceClient = new CRMClient().getClient();
3499 mandeep.dh 305
        agentOpenTicketCount = crmServiceClient.getTickets(searchFilter).size();
306
        unassignedTicketCount = crmServiceClient.getUnassignedTickets().size();
16208 manish.sha 307
        if(!isProfitMandiAgent()){
308
	        if (canVerifyCOD()) {
309
	            searchFilter = new SearchFilter();
310
	            searchFilter.setTicketCategory(TicketCategory.COD_VERIFICATION);
311
	            searchFilter.setTicketStatuses(new ArrayList<TicketStatus>());
312
	            searchFilter.getTicketStatuses().add(TicketStatus.OPEN);
313
	            searchFilter.getTicketStatuses().add(TicketStatus.REOPEN);
314
 
315
	            crmServiceClient = new CRMClient().getClient();
316
	            pendingCodVerificationCount = crmServiceClient.getTickets(searchFilter).size();            
317
	        }
318
 
319
	        if (canViewFailedPayments()) {
320
	            searchFilter = new SearchFilter();
321
	            searchFilter.setTicketStatuses(new ArrayList<TicketStatus>());
322
	            searchFilter.getTicketStatuses().add(TicketStatus.OPEN);
323
	            searchFilter.getTicketStatuses().add(TicketStatus.REOPEN);
324
	            searchFilter.setTicketCategory(TicketCategory.FAILED_PAYMENTS);
325
	            crmServiceClient = new CRMClient().getClient();
326
	            openFailedPaymentsTicketCount = crmServiceClient.getTickets(searchFilter).size();
327
	        }
328
 
329
	        if (canViewDelayedDeliveries()) {
330
	            searchFilter = new SearchFilter();
331
	            searchFilter.setTicketStatuses(new ArrayList<TicketStatus>());
332
	            searchFilter.getTicketStatuses().add(TicketStatus.OPEN);
333
	            searchFilter.getTicketStatuses().add(TicketStatus.REOPEN);
334
	            searchFilter.setTicketCategory(TicketCategory.DELAYED_DELIVERY);
335
	            crmServiceClient = new CRMClient().getClient();
336
	            openDelayedDeliveryTicketCount = crmServiceClient.getTickets(searchFilter).size();
337
	        }
338
 
339
	        if (canViewFlaggedPayments()) {
340
	            searchFilter = new SearchFilter();
341
	            searchFilter.setTicketStatuses(new ArrayList<TicketStatus>());
342
	            searchFilter.getTicketStatuses().add(TicketStatus.OPEN);
343
	            searchFilter.getTicketStatuses().add(TicketStatus.REOPEN);
344
	            searchFilter.setTicketCategory(TicketCategory.PAYMENT_FLAGGED);
345
	            crmServiceClient = new CRMClient().getClient();
346
	            openFlaggedPaymentsTicketCount = crmServiceClient.getTickets(searchFilter).size();
347
	        }
348
 
349
	        if (canViewDoaRequests()) {
350
	            searchFilter = new SearchFilter();
351
	            searchFilter.setTicketStatuses(new ArrayList<TicketStatus>());
352
	            searchFilter.getTicketStatuses().add(TicketStatus.OPEN);
353
	            searchFilter.getTicketStatuses().add(TicketStatus.REOPEN);
354
	            searchFilter.setTicketCategory(TicketCategory.DOA_RECEIVED);
355
	            crmServiceClient = new CRMClient().getClient();
356
	            DoaRequestCount = crmServiceClient.getTickets(searchFilter).size();
357
	        }
358
 
359
	        if (canViewReturnRequests()) {
360
	            searchFilter = new SearchFilter();
361
	            searchFilter.setTicketStatuses(new ArrayList<TicketStatus>());
362
	            searchFilter.getTicketStatuses().add(TicketStatus.OPEN);
363
	            searchFilter.getTicketStatuses().add(TicketStatus.REOPEN);
364
	            searchFilter.setTicketCategory(TicketCategory.RETURN_FORM);
365
	            crmServiceClient = new CRMClient().getClient();
366
	            ReturnRequestCount = crmServiceClient.getTickets(searchFilter).size();
367
	        }
368
 
369
	        if (canViewOrderCancellation()) {
370
	            searchFilter = new SearchFilter();
371
	            searchFilter.setTicketStatuses(new ArrayList<TicketStatus>());
372
	            searchFilter.getTicketStatuses().add(TicketStatus.OPEN);
373
	            searchFilter.getTicketStatuses().add(TicketStatus.REOPEN);
374
	            searchFilter.setTicketCategory(TicketCategory.ORDER_CANCELLATION);
375
	            crmServiceClient = new CRMClient().getClient();
376
	            orderCancellationCount = crmServiceClient.getTickets(searchFilter).size();
377
	        }
378
 
379
	        searchFilter = new SearchFilter();
380
	        searchFilter.setTicketStatuses(new ArrayList<TicketStatus>());
381
	        searchFilter.getTicketStatuses().add(TicketStatus.OPEN);
382
	        searchFilter.getTicketStatuses().add(TicketStatus.REOPEN);
383
	        searchFilter.setTicketCategory(TicketCategory.STORE_PICKUP);
384
	        crmServiceClient = new CRMClient().getClient();
385
	        openStorePickupTicketCount = crmServiceClient.getTickets(searchFilter).size();
386
 
387
	        if (canViewLowInventoryCancellation()) {
388
	            searchFilter = new SearchFilter();
389
	            searchFilter.setTicketStatuses(new ArrayList<TicketStatus>());
390
	            searchFilter.getTicketStatuses().add(TicketStatus.OPEN);
391
	            searchFilter.getTicketStatuses().add(TicketStatus.REOPEN);
392
	            searchFilter.setTicketCategory(TicketCategory.LOW_INVENTORY_CANCELLED_ORDERS);
393
	            crmServiceClient = new CRMClient().getClient();
394
	            lowInventoryTicketsCount = crmServiceClient.getTickets(searchFilter).size();
395
	        }
396
	        //Start:- Added By Manish Sharma for Creating a new Ticket: Category- RTO Refund on 21-Jun-2013
397
	        if (canViewRTORefunds()) {
398
	        	searchFilter = new SearchFilter();
399
	            searchFilter.setTicketStatuses(new ArrayList<TicketStatus>());
400
	            searchFilter.getTicketStatuses().add(TicketStatus.OPEN);
401
	            searchFilter.getTicketStatuses().add(TicketStatus.REOPEN);
402
	            searchFilter.setTicketCategory(TicketCategory.RTO_REFUND);
403
	            crmServiceClient = new CRMClient().getClient();
404
	            RtoRefundsTicketCount = crmServiceClient.getTickets(searchFilter).size();
405
	        }
406
	        //End:- Added By Manish Sharma for Creating a new Ticket: Category- RTO Refund on 21-Jun-2013
407
	        if (canViewBulkOrderEnquiry()) {
408
	            log.info("Inside can view bulk order enquiry");
409
	            searchFilter = new SearchFilter();
410
	            searchFilter.setTicketStatuses(new ArrayList<TicketStatus>());
411
	            searchFilter.getTicketStatuses().add(TicketStatus.OPEN);
412
	            searchFilter.getTicketStatuses().add(TicketStatus.REOPEN);
413
	            searchFilter.setTicketCategory(TicketCategory.Bulk_Order_ENQUIRY);
414
	            crmServiceClient = new CRMClient().getClient();
415
	            log.info("count"+crmServiceClient.getTickets(searchFilter).size());
416
	            setBulkOrderEnquiryCount(crmServiceClient.getTickets(searchFilter).size());
417
	        }
418
 
419
	        if(canViewProfitMandiTicket()){
420
	        	log.info("Inside can view Profit Mandi Tickets");
421
	        	searchFilter = new SearchFilter();
422
	            searchFilter.setTicketStatuses(new ArrayList<TicketStatus>());
423
	            searchFilter.getTicketStatuses().add(TicketStatus.OPEN);
424
	            searchFilter.getTicketStatuses().add(TicketStatus.REOPEN);
425
	            searchFilter.setTicketCategoryList(new ArrayList<TicketCategory>());
426
	            searchFilter.getTicketCategoryList().add(TicketCategory.PROFITMANDI_CASHBACK);
427
	            searchFilter.getTicketCategoryList().add(TicketCategory.PROFITMANDI_FEEDBACK);
428
	            searchFilter.getTicketCategoryList().add(TicketCategory.PROFITMANDI_ORDER_NOT_SEEN);
429
	            searchFilter.getTicketCategoryList().add(TicketCategory.PROFITMANDI_OTHER);
430
	            searchFilter.getTicketCategoryList().add(TicketCategory.PROFITMANDI_RECHARGE_ISSUE);
431
	            crmServiceClient = new CRMClient().getClient();
432
	            setProfitMandiTicketCount(crmServiceClient.getTickets(searchFilter).size());
433
	        }
434
        }     
3578 mandeep.dh 435
 
3106 mandeep.dh 436
    }
437
 
3390 mandeep.dh 438
    private void loadUserCommunicationDetails()
3090 mandeep.dh 439
            throws UserCommunicationException, TException {
3390 mandeep.dh 440
        userContextServiceClient = new UserClient().getClient();
3422 mandeep.dh 441
        List<UserCommunication> userCommunication = userContextServiceClient
442
                .getUserCommunicationByUser(user.getUserId());
3090 mandeep.dh 443
        userCommunicationCount = userCommunication.size();
13102 kshitij.so 444
        privateDealUser = userContextServiceClient.getPrivateDealUser(user.getUserId());
3090 mandeep.dh 445
    }
6111 anupam.sin 446
 
447
    private void loadRechargeOrders() throws TransactionServiceException,
448
    TException {
449
        transactionServiceClient = new TransactionClient().getClient();
450
        List<RechargeOrder> allRechargeOrders = transactionServiceClient.getRechargeOrders(user.getUserId());
451
        rechargeOrderCount = allRechargeOrders.size();
3090 mandeep.dh 452
 
6111 anupam.sin 453
        for (RechargeOrder o : allRechargeOrders) {
454
            if (o.getStatus() == RechargeOrderStatus.RECHARGE_SUCCESSFUL) {
455
                successfulRechargeCount++;
456
            } else if (CRMConstants.failedStatusList.contains(o.getStatus())) {
457
                failedRechargeCount++;
458
            }
459
        }
7387 manish.sha 460
        //Start:- Added by Manish Sharma for Displaying wallet amount at user page on June-05-2013
461
        wallet = transactionServiceClient.getUserWallet(user.getUserId());
462
        setWalletAmount(wallet.getAmount());
463
        //End:- Added by Manish Sharma for Displaying wallet amount at user page on June-05-2013 
6111 anupam.sin 464
    }
3422 mandeep.dh 465
    private void loadOrderDetails() throws TransactionServiceException,
6111 anupam.sin 466
    TException {
3390 mandeep.dh 467
        transactionServiceClient = new TransactionClient().getClient();
3422 mandeep.dh 468
        List<Order> allOrders = transactionServiceClient.getOrdersForCustomer(
469
                user.getUserId(), 0, (new Date()).getTime(), null);
2724 vikas 470
        orderCount = allOrders.size();
3090 mandeep.dh 471
 
2724 vikas 472
        for (Order o : allOrders) {
473
            if (o.getStatus() == OrderStatus.DELIVERY_SUCCESS) {
474
                completedOrderCount++;
3422 mandeep.dh 475
            } else if (CRMConstants.failedStatusList.contains(o.getStatus())) {
2724 vikas 476
                failedOrderCount++;
3422 mandeep.dh 477
            } else {
2724 vikas 478
                openOrderCount++;
479
            }
480
        }
3090 mandeep.dh 481
    }
482
 
3422 mandeep.dh 483
    private void loadCartDetails() throws UserContextException, TException {
3390 mandeep.dh 484
        userContextServiceClient = new UserClient().getClient();
5326 rajveer 485
        lastLogin = new Date(user.getLastLogin()).toString();
3090 mandeep.dh 486
        Cart cart = null;
487
 
2724 vikas 488
        try {
3090 mandeep.dh 489
            cart = userContextServiceClient.getCurrentCart(user.getUserId());
2724 vikas 490
            if (cart.getCouponCode() != null) {
491
                couponCode = cart.getCouponCode();
492
            }
493
            for (Line line : cart.getLines()) {
494
                cartItems += line.getQuantity();
495
            }
496
        } catch (Exception e) {
497
            log.warn("No cart assigned for this user", e);
498
        }
2674 vikas 499
    }
2724 vikas 500
 
3390 mandeep.dh 501
    private void loadTicketDetails() throws TException {
3090 mandeep.dh 502
        // Fetching tickets' info
503
        ticketCount = 0;
504
        openTicketCount = 0;
505
        closedTicketCount = 0;
506
 
3422 mandeep.dh 507
        crmServiceClient = new CRMClient().getClient();
3390 mandeep.dh 508
        SearchFilter searchFilter = new SearchFilter();
509
        searchFilter.setCustomerId(user.getUserId());
510
 
511
        List<Ticket> tickets = crmServiceClient.getTickets(searchFilter);
3422 mandeep.dh 512
        if (tickets != null) {
3090 mandeep.dh 513
            for (Ticket ticket : tickets) {
514
                ticketCount++;
3106 mandeep.dh 515
                if (!ticket.getStatus().equals(TicketStatus.CLOSED)) {
3090 mandeep.dh 516
                    openTicketCount++;
3422 mandeep.dh 517
                } else {
3090 mandeep.dh 518
                    closedTicketCount++;
519
                }
520
            }
521
        }
522
    }
7572 anupam.sin 523
 
524
    public String getSourceName(long source) {
525
        return OrderSource.findByValue((int) source).toString();
526
    }
527
 
3090 mandeep.dh 528
 
3397 mandeep.dh 529
    public String getToday() {
530
        return SDF.format(new Date());
531
    }
532
 
533
    public String getYesterday() {
534
        Calendar calendar = Calendar.getInstance();
535
        calendar.setTime(new Date());
536
        calendar.add(Calendar.DAY_OF_MONTH, -1);
537
        return SDF.format(calendar.getTime());
538
    }
539
 
540
    public List<Agent> getAllAgents() {
541
        return CRMAuthorizingRealm.getAgents();
542
    }
543
 
4142 mandeep.dh 544
    public ActivityType[] getActivityTypes() {
545
        return ActivityType.values();
546
    }
547
 
548
    public TicketCategory[] getTicketCategories() {
549
        return TicketCategory.values();
550
    }
551
 
2724 vikas 552
    public void setEmail(String email) {
553
        this.email = email;
554
    }
555
 
556
    public String getEmail() {
557
        return email;
558
    }
559
 
560
    public void setOrderId(String orderId) {
3390 mandeep.dh 561
        this.orderId = orderId;
2724 vikas 562
    }
563
 
3390 mandeep.dh 564
    public String getOrderId() {
2724 vikas 565
        return orderId;
566
    }
3422 mandeep.dh 567
 
2724 vikas 568
    public User getUser() {
569
        return user;
570
    }
3422 mandeep.dh 571
 
2724 vikas 572
    public long getOrderCount() {
573
        return orderCount;
574
    }
3422 mandeep.dh 575
 
2724 vikas 576
    public long getCompletedOrderCount() {
577
        return completedOrderCount;
578
    }
3422 mandeep.dh 579
 
2724 vikas 580
    public long getOpenOrderCount() {
581
        return openOrderCount;
582
    }
3422 mandeep.dh 583
 
2724 vikas 584
    public long getFailedOrderCount() {
585
        return failedOrderCount;
586
    }
3422 mandeep.dh 587
 
3499 mandeep.dh 588
    public int getCartItems() {
589
        return (int)cartItems;
2724 vikas 590
    }
3422 mandeep.dh 591
 
2724 vikas 592
    public String getLastLogin() {
593
        return lastLogin;
594
    }
595
 
596
    public String getCouponCode() {
597
        return couponCode;
598
    }
2830 vikas 599
 
600
    public long getUserCommunicationCount() {
601
        return userCommunicationCount;
602
    }
3090 mandeep.dh 603
 
604
    public long getTicketCount() {
605
        return ticketCount;
606
    }
607
 
608
    public long getOpenTicketCount() {
609
        return openTicketCount;
610
    }
611
 
612
    public long getClosedTicketCount() {
613
        return closedTicketCount;
614
    }
615
 
616
    public void setMobileNumber(String mobileNumber) {
617
        this.mobileNumber = mobileNumber;
618
    }
3096 mandeep.dh 619
 
620
    public String getTicketId() {
621
        return ticketId;
622
    }
623
 
624
    public void setTicketId(String ticketId) {
625
        this.ticketId = ticketId;
626
    }
3106 mandeep.dh 627
 
628
    public long getAgentOpenTicketCount() {
629
        return agentOpenTicketCount;
630
    }
631
 
632
    public long getUnassignedTicketCount() {
633
        return unassignedTicketCount;
634
    }
635
 
636
    public long getActivityCount() {
637
        return activityCount;
638
    }
639
 
640
    public void setActivityCount(long activityCount) {
641
        this.activityCount = activityCount;
642
    }
3339 mandeep.dh 643
 
644
    public long getCustomerActivityCount() {
645
        return customerActivityCount;
646
    }
647
 
648
    public void setCustomerActivityCount(long customerActivityCount) {
649
        this.customerActivityCount = customerActivityCount;
650
    }
3499 mandeep.dh 651
 
652
    public long getPendingCodVerificationCount() {
653
        return pendingCodVerificationCount;
654
    }
655
 
656
    public void setPendingCodVerificationCount(long pendingCodVerificationCount) {
657
        this.pendingCodVerificationCount = pendingCodVerificationCount;
658
    }
3578 mandeep.dh 659
 
660
    public long getOpenFailedPaymentsTicketCount() {
661
        return openFailedPaymentsTicketCount;
662
    }
663
 
664
    public void setOpenFailedPaymentsTicketCount(long openFailedPaymentsTicketCount) {
665
        this.openFailedPaymentsTicketCount = openFailedPaymentsTicketCount;
666
    }
3711 mandeep.dh 667
 
668
    public long getAgentUnreadActivityCount() {
669
        return agentUnreadActivityCount;
670
    }
671
 
672
    public void setAgentUnreadActivityCount(long agentUnreadActivityCount) {
673
        this.agentUnreadActivityCount = agentUnreadActivityCount;
674
    }
4008 mandeep.dh 675
 
676
    public long getOpenDelayedDeliveryTicketCount() {
677
        return openDelayedDeliveryTicketCount;
678
    }
679
 
680
    public void setOpenDelayedDeliveryTicketCount(
681
            long openDelayedDeliveryTicketCount) {
682
        this.openDelayedDeliveryTicketCount = openDelayedDeliveryTicketCount;
683
    }
4267 anupam.sin 684
 
685
    public long getOpenFlaggedPaymentsTicketCount() {
686
        return openFlaggedPaymentsTicketCount;
687
    }
688
 
689
    public void setOpenFlaggedPaymentsTicketCount(
690
            long openFlaggedPaymentsTicketCount) {
691
        this.openFlaggedPaymentsTicketCount = openFlaggedPaymentsTicketCount;
692
    }
4490 anupam.sin 693
 
694
    public long getDoaRequestCount() {
695
        return DoaRequestCount;
696
    }
697
 
698
    public void setDoaRequestCount(long DoaRequestCount) {
699
        this.DoaRequestCount = DoaRequestCount;
700
    }
701
 
702
    public long getReturnRequestCount() {
703
        return ReturnRequestCount;
704
    }
705
 
706
    public void setReturnRequestCount(long returnRequestCount) {
707
        ReturnRequestCount = returnRequestCount;
708
    }
4751 anupam.sin 709
 
710
    public long getOrderCancellationCount() {
711
        return orderCancellationCount;
712
    }
713
 
714
    public void setOrderCancellationCount(long orderCancellationCount) {
715
        this.orderCancellationCount = orderCancellationCount;
716
    }
5858 amar.kumar 717
 
718
 
719
    public long getOpenStorePickupTicketCount() {
720
		return openStorePickupTicketCount;
721
	}
722
 
723
	public void setOpenStorePickupTicketCount(long openStorePickupTicketCount) {
724
		this.openStorePickupTicketCount = openStorePickupTicketCount;
725
	}
7372 kshitij.so 726
 
727
	public long getLowInventoryTicketsCount() {
728
		return lowInventoryTicketsCount;
729
	}
5858 amar.kumar 730
 
7372 kshitij.so 731
	public void setLowInventoryTicketsCount(long lowInventoryTicketsCount) {
732
		this.lowInventoryTicketsCount = lowInventoryTicketsCount;
733
	}
7615 manish.sha 734
 
735
	//Start:- Added By Manish Sharma for Creating a new Ticket: Category- RTO Refund on 21-Jun-2013
736
	public long getRTORefundsCount(){
737
		return RtoRefundsTicketCount;
738
	}
7372 kshitij.so 739
 
7615 manish.sha 740
	public void setRTORefundsCount(long RtoRefundsTicketCount) {
741
		this.RtoRefundsTicketCount = RtoRefundsTicketCount;
742
	}
743
	//End:- Added By Manish Sharma for Creating a new Ticket: Category- RTO Refund on 21-Jun-2013
744
 
6111 anupam.sin 745
    public String getDeviceNumber() {
746
        return deviceNumber;
747
    }
748
 
749
    public void setDeviceNumber(String deviceNumber) {
750
        this.deviceNumber = deviceNumber;
751
    }
752
 
753
    public long getFailedRechargeCount() {
754
        return failedRechargeCount;
755
    }
756
 
757
    public void setFailedRechargeCount(long failedRechargeCount) {
758
        this.failedRechargeCount = failedRechargeCount;
759
    }
760
 
761
    public long getSuccessfulRechargeCount() {
762
        return successfulRechargeCount;
763
    }
764
 
765
    public void setSuccessfulRechargeCount(long successfulRechargeCount) {
766
        this.successfulRechargeCount = successfulRechargeCount;
767
    }
768
 
769
    public long getRechargeOrderCount() {
770
        return rechargeOrderCount;
771
    }
772
 
773
    public void setRechargeOrderCount(long rechargeOrderCount) {
774
        this.rechargeOrderCount = rechargeOrderCount;
775
    }
776
 
777
    public String getRechargeOrderId() {
778
        return rechargeOrderId;
779
    }
780
 
781
    public void setRechargeOrderId(String rechargeOrderId) {
782
        this.rechargeOrderId = rechargeOrderId;
783
    }
784
 
7387 manish.sha 785
    //Start:- Added by Manish Sharma for Displaying wallet amount at user page on June-05-2013
786
	public UserWallet getWallet() {
787
		return wallet;
788
	}
789
 
790
	public void setWallet(UserWallet wallet) {
791
		this.wallet = wallet;
792
	}
793
 
794
	public long getWalletAmount() {
795
		return walletAmount;
796
	}
797
 
798
	public void setWalletAmount(long walletAmount) {
799
		this.walletAmount = walletAmount;
800
	}
801
	//End:- Added by Manish Sharma for Displaying wallet amount at user page on June-05-2013
802
 
7572 anupam.sin 803
    public void setOrders(List<Order> orders) {
804
        this.orders = orders;
805
    }
806
 
807
    public List<Order> getOrders() {
808
        return orders;
809
    }
810
 
811
    public void setAmazonOrderItemCode(String amazonOrderItemCode) {
812
        this.amazonOrderItemCode = amazonOrderItemCode;
813
    }
814
 
815
    public String getAmazonOrderItemCode() {
816
        return amazonOrderItemCode;
817
    }
818
 
819
    public void setAmazonId(String amazonId) {
820
        this.amazonId = amazonId;
821
    }
822
 
823
    public String getAmazonId() {
824
        return amazonId;
825
    }
826
 
9166 manish.sha 827
	public List<RechargeOrder> getRechargeOrders() {
828
		return rechargeOrders;
829
	}
830
 
831
	public void setRechargeOrders(List<RechargeOrder> rechargeOrders) {
832
		this.rechargeOrders = rechargeOrders;
833
	}
834
 
11890 kshitij.so 835
    public void setBulkOrderEnquiryCount(long bulkOrderEnquiryCount) {
836
        this.bulkOrderEnquiryCount = bulkOrderEnquiryCount;
837
    }
838
 
839
    public long getBulkOrderEnquiryCount() {
840
        return bulkOrderEnquiryCount;
841
    }
842
 
11895 kshitij.so 843
 
13324 manish.sha 844
	public String getMasterOrderId() {
845
		return masterOrderId;
846
	}
847
 
848
	public void setMasterOrderId(String masterOrderId) {
849
		this.masterOrderId = masterOrderId;
850
	}
851
 
14882 manish.sha 852
	public long getProfitMandiTicketCount() {
853
		return profitMandiTicketCount;
854
	}
855
 
856
	public void setProfitMandiTicketCount(long profitMandiTicketCount) {
857
		this.profitMandiTicketCount = profitMandiTicketCount;
858
	}
16208 manish.sha 859
 
860
	public long getPmCustomerActivityCount() {
861
		return pmCustomerActivityCount;
862
	}
863
 
864
	public void setPmCustomerActivityCount(long pmCustomerActivityCount) {
865
		this.pmCustomerActivityCount = pmCustomerActivityCount;
866
	}
867
 
868
	public long getPmAgentUnreadActivityCount() {
869
		return pmAgentUnreadActivityCount;
870
	}
871
 
872
	public void setPmAgentUnreadActivityCount(long pmAgentUnreadActivityCount) {
873
		this.pmAgentUnreadActivityCount = pmAgentUnreadActivityCount;
874
	}
2724 vikas 875
}