Subversion Repositories SmartDukaan

Rev

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