Subversion Repositories SmartDukaan

Rev

Rev 16244 | Rev 20110 | 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();
16248 manish.sha 215
            loadPmCustomerActivities();
3137 mandeep.dh 216
        }
217
 
218
        return returnValue;
3090 mandeep.dh 219
    }
220
 
3390 mandeep.dh 221
    private void loadCustomerActivities() throws TException {
16208 manish.sha 222
    	if(!isProfitMandiAgent()){
223
	        SearchFilter searchFilter = new SearchFilter();
224
	        searchFilter.setActivityCreatorIds(Collections
225
	                .singletonList(CRMConstants.ADMIN_AGENT_ID));
226
	        searchFilter.setIsActivityRead(false);
16244 manish.sha 227
	        if(!isSaholicAndProfitMandiAllowed()){
228
		        searchFilter.setNotShowPmTickets(true);
229
		        searchFilter.setTicketCategoryList(profitMandiTicketCategoryList);
230
	        }
16208 manish.sha 231
	        agentUnreadActivityCount = 0;
232
	        customerActivityCount = 0;
233
 
234
	        crmServiceClient = new CRMClient().getClient();
235
	        List<Activity> activities = crmServiceClient.getActivities(searchFilter);
236
 
237
	        if (activities != null) {
238
	            for (Activity activity : activities) {
239
	                if (CRMAuthorizingRealm.getAgent(currentAgentEmailId).getId() == activity.getTicketAssigneeId()) {
240
	                    agentUnreadActivityCount++;
241
	                }
242
	            }
243
 
244
	            customerActivityCount = activities.size();
245
	        }
246
    	}
3339 mandeep.dh 247
    }
16208 manish.sha 248
 
249
    private void loadPmCustomerActivities() throws TException {
250
    	if(isProfitMandiAgent()){
251
	    	SearchFilter searchFilter = new SearchFilter();
252
	        searchFilter.setActivityCreatorIds(Collections
253
	                .singletonList(CRMConstants.ADMIN_AGENT_ID));
254
	        searchFilter.setIsActivityRead(false);
255
	        searchFilter.setNotShowPmTickets(false);
16244 manish.sha 256
	        searchFilter.setTicketCategoryList(profitMandiTicketCategoryList);
16208 manish.sha 257
 
258
	        pmAgentUnreadActivityCount = 0;
259
	        pmCustomerActivityCount = 0;
260
 
261
	        crmServiceClient = new CRMClient().getClient();
262
	        List<Activity> activities = crmServiceClient.getActivities(searchFilter);
263
 
264
	        if (activities != null) {
265
	            for (Activity activity : activities) {
266
	                if (CRMAuthorizingRealm.getAgent(currentAgentEmailId).getId() == activity.getTicketAssigneeId()) {
267
	                	pmAgentUnreadActivityCount++;
268
	                }
269
	                pmCustomerActivityCount++;
270
	            }
271
 
272
	        }
273
    	}
274
    }
3339 mandeep.dh 275
 
3390 mandeep.dh 276
    private void loadActivityDetails() throws TException {
277
        SearchFilter searchFilter = new SearchFilter();
278
        searchFilter.setCustomerId(user.getUserId());
279
 
3422 mandeep.dh 280
        crmServiceClient = new CRMClient().getClient();
281
        List<Activity> activities = crmServiceClient
282
                .getActivities(searchFilter);
3106 mandeep.dh 283
        if (activities != null) {
284
            activityCount = activities.size();
285
        }
286
    }
287
 
3390 mandeep.dh 288
    private void loadTicketCounts() throws TException {
289
        SearchFilter searchFilter = new SearchFilter();
3546 mandeep.dh 290
        searchFilter.setTicketStatuses(new ArrayList<TicketStatus>());
291
        searchFilter.getTicketStatuses().add(TicketStatus.OPEN);
292
        searchFilter.getTicketStatuses().add(TicketStatus.REOPEN);
3422 mandeep.dh 293
        searchFilter.setTicketAssigneeIds(Collections
3499 mandeep.dh 294
                .singletonList(CRMAuthorizingRealm.getAgent(currentAgentEmailId).getId()));
3390 mandeep.dh 295
 
3422 mandeep.dh 296
        crmServiceClient = new CRMClient().getClient();
3499 mandeep.dh 297
        agentOpenTicketCount = crmServiceClient.getTickets(searchFilter).size();
16244 manish.sha 298
        List<Ticket> unassignedTickets = new ArrayList<Ticket>();
299
        unassignedTickets = crmServiceClient.getUnassignedTickets();
300
        long sAgentUnassignedTicketCount = 0;
301
        long pmAgentUnassignedTicketCount = 0;
302
        long allPermittedUnassignedTicketCount = 0;
303
 
304
        for(Ticket unassignedTicket: unassignedTickets){
305
        	if(profitMandiTicketCategoryList.contains(unassignedTicket.getCategory())){
306
        		pmAgentUnassignedTicketCount++;
307
        		allPermittedUnassignedTicketCount++;
308
        	}else{
309
        		sAgentUnassignedTicketCount++;
310
        		allPermittedUnassignedTicketCount++;
311
        	}
312
        }
313
 
314
        if(isSaholicAndProfitMandiAllowed()){
315
        	unassignedTicketCount = allPermittedUnassignedTicketCount;
316
        }else if(isProfitMandiAgent()){
317
        	unassignedTicketCount = pmAgentUnassignedTicketCount;
318
        }else{
319
        	unassignedTicketCount = sAgentUnassignedTicketCount;
320
        }
16208 manish.sha 321
        if(!isProfitMandiAgent()){
322
	        if (canVerifyCOD()) {
323
	            searchFilter = new SearchFilter();
324
	            searchFilter.setTicketCategory(TicketCategory.COD_VERIFICATION);
325
	            searchFilter.setTicketStatuses(new ArrayList<TicketStatus>());
326
	            searchFilter.getTicketStatuses().add(TicketStatus.OPEN);
327
	            searchFilter.getTicketStatuses().add(TicketStatus.REOPEN);
328
 
329
	            crmServiceClient = new CRMClient().getClient();
330
	            pendingCodVerificationCount = crmServiceClient.getTickets(searchFilter).size();            
331
	        }
332
 
333
	        if (canViewFailedPayments()) {
334
	            searchFilter = new SearchFilter();
335
	            searchFilter.setTicketStatuses(new ArrayList<TicketStatus>());
336
	            searchFilter.getTicketStatuses().add(TicketStatus.OPEN);
337
	            searchFilter.getTicketStatuses().add(TicketStatus.REOPEN);
338
	            searchFilter.setTicketCategory(TicketCategory.FAILED_PAYMENTS);
339
	            crmServiceClient = new CRMClient().getClient();
340
	            openFailedPaymentsTicketCount = crmServiceClient.getTickets(searchFilter).size();
341
	        }
342
 
343
	        if (canViewDelayedDeliveries()) {
344
	            searchFilter = new SearchFilter();
345
	            searchFilter.setTicketStatuses(new ArrayList<TicketStatus>());
346
	            searchFilter.getTicketStatuses().add(TicketStatus.OPEN);
347
	            searchFilter.getTicketStatuses().add(TicketStatus.REOPEN);
348
	            searchFilter.setTicketCategory(TicketCategory.DELAYED_DELIVERY);
349
	            crmServiceClient = new CRMClient().getClient();
350
	            openDelayedDeliveryTicketCount = crmServiceClient.getTickets(searchFilter).size();
351
	        }
352
 
353
	        if (canViewFlaggedPayments()) {
354
	            searchFilter = new SearchFilter();
355
	            searchFilter.setTicketStatuses(new ArrayList<TicketStatus>());
356
	            searchFilter.getTicketStatuses().add(TicketStatus.OPEN);
357
	            searchFilter.getTicketStatuses().add(TicketStatus.REOPEN);
358
	            searchFilter.setTicketCategory(TicketCategory.PAYMENT_FLAGGED);
359
	            crmServiceClient = new CRMClient().getClient();
360
	            openFlaggedPaymentsTicketCount = crmServiceClient.getTickets(searchFilter).size();
361
	        }
362
 
363
	        if (canViewDoaRequests()) {
364
	            searchFilter = new SearchFilter();
365
	            searchFilter.setTicketStatuses(new ArrayList<TicketStatus>());
366
	            searchFilter.getTicketStatuses().add(TicketStatus.OPEN);
367
	            searchFilter.getTicketStatuses().add(TicketStatus.REOPEN);
368
	            searchFilter.setTicketCategory(TicketCategory.DOA_RECEIVED);
369
	            crmServiceClient = new CRMClient().getClient();
370
	            DoaRequestCount = crmServiceClient.getTickets(searchFilter).size();
371
	        }
372
 
373
	        if (canViewReturnRequests()) {
374
	            searchFilter = new SearchFilter();
375
	            searchFilter.setTicketStatuses(new ArrayList<TicketStatus>());
376
	            searchFilter.getTicketStatuses().add(TicketStatus.OPEN);
377
	            searchFilter.getTicketStatuses().add(TicketStatus.REOPEN);
378
	            searchFilter.setTicketCategory(TicketCategory.RETURN_FORM);
379
	            crmServiceClient = new CRMClient().getClient();
380
	            ReturnRequestCount = crmServiceClient.getTickets(searchFilter).size();
381
	        }
382
 
383
	        if (canViewOrderCancellation()) {
384
	            searchFilter = new SearchFilter();
385
	            searchFilter.setTicketStatuses(new ArrayList<TicketStatus>());
386
	            searchFilter.getTicketStatuses().add(TicketStatus.OPEN);
387
	            searchFilter.getTicketStatuses().add(TicketStatus.REOPEN);
388
	            searchFilter.setTicketCategory(TicketCategory.ORDER_CANCELLATION);
389
	            crmServiceClient = new CRMClient().getClient();
390
	            orderCancellationCount = crmServiceClient.getTickets(searchFilter).size();
391
	        }
392
 
393
	        searchFilter = new SearchFilter();
394
	        searchFilter.setTicketStatuses(new ArrayList<TicketStatus>());
395
	        searchFilter.getTicketStatuses().add(TicketStatus.OPEN);
396
	        searchFilter.getTicketStatuses().add(TicketStatus.REOPEN);
397
	        searchFilter.setTicketCategory(TicketCategory.STORE_PICKUP);
398
	        crmServiceClient = new CRMClient().getClient();
399
	        openStorePickupTicketCount = crmServiceClient.getTickets(searchFilter).size();
400
 
401
	        if (canViewLowInventoryCancellation()) {
402
	            searchFilter = new SearchFilter();
403
	            searchFilter.setTicketStatuses(new ArrayList<TicketStatus>());
404
	            searchFilter.getTicketStatuses().add(TicketStatus.OPEN);
405
	            searchFilter.getTicketStatuses().add(TicketStatus.REOPEN);
406
	            searchFilter.setTicketCategory(TicketCategory.LOW_INVENTORY_CANCELLED_ORDERS);
407
	            crmServiceClient = new CRMClient().getClient();
408
	            lowInventoryTicketsCount = crmServiceClient.getTickets(searchFilter).size();
409
	        }
410
	        //Start:- Added By Manish Sharma for Creating a new Ticket: Category- RTO Refund on 21-Jun-2013
411
	        if (canViewRTORefunds()) {
412
	        	searchFilter = new SearchFilter();
413
	            searchFilter.setTicketStatuses(new ArrayList<TicketStatus>());
414
	            searchFilter.getTicketStatuses().add(TicketStatus.OPEN);
415
	            searchFilter.getTicketStatuses().add(TicketStatus.REOPEN);
416
	            searchFilter.setTicketCategory(TicketCategory.RTO_REFUND);
417
	            crmServiceClient = new CRMClient().getClient();
418
	            RtoRefundsTicketCount = crmServiceClient.getTickets(searchFilter).size();
419
	        }
420
	        //End:- Added By Manish Sharma for Creating a new Ticket: Category- RTO Refund on 21-Jun-2013
421
	        if (canViewBulkOrderEnquiry()) {
422
	            log.info("Inside can view bulk order enquiry");
423
	            searchFilter = new SearchFilter();
424
	            searchFilter.setTicketStatuses(new ArrayList<TicketStatus>());
425
	            searchFilter.getTicketStatuses().add(TicketStatus.OPEN);
426
	            searchFilter.getTicketStatuses().add(TicketStatus.REOPEN);
427
	            searchFilter.setTicketCategory(TicketCategory.Bulk_Order_ENQUIRY);
428
	            crmServiceClient = new CRMClient().getClient();
429
	            log.info("count"+crmServiceClient.getTickets(searchFilter).size());
430
	            setBulkOrderEnquiryCount(crmServiceClient.getTickets(searchFilter).size());
431
	        }
432
 
433
	        if(canViewProfitMandiTicket()){
434
	        	log.info("Inside can view Profit Mandi Tickets");
435
	        	searchFilter = new SearchFilter();
436
	            searchFilter.setTicketStatuses(new ArrayList<TicketStatus>());
437
	            searchFilter.getTicketStatuses().add(TicketStatus.OPEN);
438
	            searchFilter.getTicketStatuses().add(TicketStatus.REOPEN);
16244 manish.sha 439
	            searchFilter.setTicketCategoryList(profitMandiTicketCategoryList);
440
 
16208 manish.sha 441
	            crmServiceClient = new CRMClient().getClient();
442
	            setProfitMandiTicketCount(crmServiceClient.getTickets(searchFilter).size());
443
	        }
444
        }     
3578 mandeep.dh 445
 
3106 mandeep.dh 446
    }
447
 
3390 mandeep.dh 448
    private void loadUserCommunicationDetails()
3090 mandeep.dh 449
            throws UserCommunicationException, TException {
3390 mandeep.dh 450
        userContextServiceClient = new UserClient().getClient();
3422 mandeep.dh 451
        List<UserCommunication> userCommunication = userContextServiceClient
452
                .getUserCommunicationByUser(user.getUserId());
3090 mandeep.dh 453
        userCommunicationCount = userCommunication.size();
13102 kshitij.so 454
        privateDealUser = userContextServiceClient.getPrivateDealUser(user.getUserId());
3090 mandeep.dh 455
    }
6111 anupam.sin 456
 
457
    private void loadRechargeOrders() throws TransactionServiceException,
458
    TException {
459
        transactionServiceClient = new TransactionClient().getClient();
460
        List<RechargeOrder> allRechargeOrders = transactionServiceClient.getRechargeOrders(user.getUserId());
461
        rechargeOrderCount = allRechargeOrders.size();
3090 mandeep.dh 462
 
6111 anupam.sin 463
        for (RechargeOrder o : allRechargeOrders) {
464
            if (o.getStatus() == RechargeOrderStatus.RECHARGE_SUCCESSFUL) {
465
                successfulRechargeCount++;
466
            } else if (CRMConstants.failedStatusList.contains(o.getStatus())) {
467
                failedRechargeCount++;
468
            }
469
        }
7387 manish.sha 470
        //Start:- Added by Manish Sharma for Displaying wallet amount at user page on June-05-2013
471
        wallet = transactionServiceClient.getUserWallet(user.getUserId());
472
        setWalletAmount(wallet.getAmount());
473
        //End:- Added by Manish Sharma for Displaying wallet amount at user page on June-05-2013 
6111 anupam.sin 474
    }
3422 mandeep.dh 475
    private void loadOrderDetails() throws TransactionServiceException,
6111 anupam.sin 476
    TException {
3390 mandeep.dh 477
        transactionServiceClient = new TransactionClient().getClient();
3422 mandeep.dh 478
        List<Order> allOrders = transactionServiceClient.getOrdersForCustomer(
479
                user.getUserId(), 0, (new Date()).getTime(), null);
2724 vikas 480
        orderCount = allOrders.size();
3090 mandeep.dh 481
 
2724 vikas 482
        for (Order o : allOrders) {
483
            if (o.getStatus() == OrderStatus.DELIVERY_SUCCESS) {
484
                completedOrderCount++;
3422 mandeep.dh 485
            } else if (CRMConstants.failedStatusList.contains(o.getStatus())) {
2724 vikas 486
                failedOrderCount++;
3422 mandeep.dh 487
            } else {
2724 vikas 488
                openOrderCount++;
489
            }
490
        }
3090 mandeep.dh 491
    }
492
 
3422 mandeep.dh 493
    private void loadCartDetails() throws UserContextException, TException {
3390 mandeep.dh 494
        userContextServiceClient = new UserClient().getClient();
5326 rajveer 495
        lastLogin = new Date(user.getLastLogin()).toString();
3090 mandeep.dh 496
        Cart cart = null;
497
 
2724 vikas 498
        try {
3090 mandeep.dh 499
            cart = userContextServiceClient.getCurrentCart(user.getUserId());
2724 vikas 500
            if (cart.getCouponCode() != null) {
501
                couponCode = cart.getCouponCode();
502
            }
503
            for (Line line : cart.getLines()) {
504
                cartItems += line.getQuantity();
505
            }
506
        } catch (Exception e) {
507
            log.warn("No cart assigned for this user", e);
508
        }
2674 vikas 509
    }
2724 vikas 510
 
3390 mandeep.dh 511
    private void loadTicketDetails() throws TException {
3090 mandeep.dh 512
        // Fetching tickets' info
513
        ticketCount = 0;
514
        openTicketCount = 0;
515
        closedTicketCount = 0;
516
 
3422 mandeep.dh 517
        crmServiceClient = new CRMClient().getClient();
3390 mandeep.dh 518
        SearchFilter searchFilter = new SearchFilter();
519
        searchFilter.setCustomerId(user.getUserId());
520
 
521
        List<Ticket> tickets = crmServiceClient.getTickets(searchFilter);
3422 mandeep.dh 522
        if (tickets != null) {
3090 mandeep.dh 523
            for (Ticket ticket : tickets) {
524
                ticketCount++;
3106 mandeep.dh 525
                if (!ticket.getStatus().equals(TicketStatus.CLOSED)) {
3090 mandeep.dh 526
                    openTicketCount++;
3422 mandeep.dh 527
                } else {
3090 mandeep.dh 528
                    closedTicketCount++;
529
                }
530
            }
531
        }
532
    }
7572 anupam.sin 533
 
534
    public String getSourceName(long source) {
535
        return OrderSource.findByValue((int) source).toString();
536
    }
537
 
3090 mandeep.dh 538
 
3397 mandeep.dh 539
    public String getToday() {
540
        return SDF.format(new Date());
541
    }
542
 
543
    public String getYesterday() {
544
        Calendar calendar = Calendar.getInstance();
545
        calendar.setTime(new Date());
546
        calendar.add(Calendar.DAY_OF_MONTH, -1);
547
        return SDF.format(calendar.getTime());
548
    }
549
 
550
    public List<Agent> getAllAgents() {
551
        return CRMAuthorizingRealm.getAgents();
552
    }
553
 
4142 mandeep.dh 554
    public ActivityType[] getActivityTypes() {
555
        return ActivityType.values();
556
    }
557
 
558
    public TicketCategory[] getTicketCategories() {
559
        return TicketCategory.values();
560
    }
561
 
2724 vikas 562
    public void setEmail(String email) {
563
        this.email = email;
564
    }
565
 
566
    public String getEmail() {
567
        return email;
568
    }
569
 
570
    public void setOrderId(String orderId) {
3390 mandeep.dh 571
        this.orderId = orderId;
2724 vikas 572
    }
573
 
3390 mandeep.dh 574
    public String getOrderId() {
2724 vikas 575
        return orderId;
576
    }
3422 mandeep.dh 577
 
2724 vikas 578
    public User getUser() {
579
        return user;
580
    }
3422 mandeep.dh 581
 
2724 vikas 582
    public long getOrderCount() {
583
        return orderCount;
584
    }
3422 mandeep.dh 585
 
2724 vikas 586
    public long getCompletedOrderCount() {
587
        return completedOrderCount;
588
    }
3422 mandeep.dh 589
 
2724 vikas 590
    public long getOpenOrderCount() {
591
        return openOrderCount;
592
    }
3422 mandeep.dh 593
 
2724 vikas 594
    public long getFailedOrderCount() {
595
        return failedOrderCount;
596
    }
3422 mandeep.dh 597
 
3499 mandeep.dh 598
    public int getCartItems() {
599
        return (int)cartItems;
2724 vikas 600
    }
3422 mandeep.dh 601
 
2724 vikas 602
    public String getLastLogin() {
603
        return lastLogin;
604
    }
605
 
606
    public String getCouponCode() {
607
        return couponCode;
608
    }
2830 vikas 609
 
610
    public long getUserCommunicationCount() {
611
        return userCommunicationCount;
612
    }
3090 mandeep.dh 613
 
614
    public long getTicketCount() {
615
        return ticketCount;
616
    }
617
 
618
    public long getOpenTicketCount() {
619
        return openTicketCount;
620
    }
621
 
622
    public long getClosedTicketCount() {
623
        return closedTicketCount;
624
    }
625
 
626
    public void setMobileNumber(String mobileNumber) {
627
        this.mobileNumber = mobileNumber;
628
    }
3096 mandeep.dh 629
 
630
    public String getTicketId() {
631
        return ticketId;
632
    }
633
 
634
    public void setTicketId(String ticketId) {
635
        this.ticketId = ticketId;
636
    }
3106 mandeep.dh 637
 
638
    public long getAgentOpenTicketCount() {
639
        return agentOpenTicketCount;
640
    }
641
 
642
    public long getUnassignedTicketCount() {
643
        return unassignedTicketCount;
644
    }
645
 
646
    public long getActivityCount() {
647
        return activityCount;
648
    }
649
 
650
    public void setActivityCount(long activityCount) {
651
        this.activityCount = activityCount;
652
    }
3339 mandeep.dh 653
 
654
    public long getCustomerActivityCount() {
655
        return customerActivityCount;
656
    }
657
 
658
    public void setCustomerActivityCount(long customerActivityCount) {
659
        this.customerActivityCount = customerActivityCount;
660
    }
3499 mandeep.dh 661
 
662
    public long getPendingCodVerificationCount() {
663
        return pendingCodVerificationCount;
664
    }
665
 
666
    public void setPendingCodVerificationCount(long pendingCodVerificationCount) {
667
        this.pendingCodVerificationCount = pendingCodVerificationCount;
668
    }
3578 mandeep.dh 669
 
670
    public long getOpenFailedPaymentsTicketCount() {
671
        return openFailedPaymentsTicketCount;
672
    }
673
 
674
    public void setOpenFailedPaymentsTicketCount(long openFailedPaymentsTicketCount) {
675
        this.openFailedPaymentsTicketCount = openFailedPaymentsTicketCount;
676
    }
3711 mandeep.dh 677
 
678
    public long getAgentUnreadActivityCount() {
679
        return agentUnreadActivityCount;
680
    }
681
 
682
    public void setAgentUnreadActivityCount(long agentUnreadActivityCount) {
683
        this.agentUnreadActivityCount = agentUnreadActivityCount;
684
    }
4008 mandeep.dh 685
 
686
    public long getOpenDelayedDeliveryTicketCount() {
687
        return openDelayedDeliveryTicketCount;
688
    }
689
 
690
    public void setOpenDelayedDeliveryTicketCount(
691
            long openDelayedDeliveryTicketCount) {
692
        this.openDelayedDeliveryTicketCount = openDelayedDeliveryTicketCount;
693
    }
4267 anupam.sin 694
 
695
    public long getOpenFlaggedPaymentsTicketCount() {
696
        return openFlaggedPaymentsTicketCount;
697
    }
698
 
699
    public void setOpenFlaggedPaymentsTicketCount(
700
            long openFlaggedPaymentsTicketCount) {
701
        this.openFlaggedPaymentsTicketCount = openFlaggedPaymentsTicketCount;
702
    }
4490 anupam.sin 703
 
704
    public long getDoaRequestCount() {
705
        return DoaRequestCount;
706
    }
707
 
708
    public void setDoaRequestCount(long DoaRequestCount) {
709
        this.DoaRequestCount = DoaRequestCount;
710
    }
711
 
712
    public long getReturnRequestCount() {
713
        return ReturnRequestCount;
714
    }
715
 
716
    public void setReturnRequestCount(long returnRequestCount) {
717
        ReturnRequestCount = returnRequestCount;
718
    }
4751 anupam.sin 719
 
720
    public long getOrderCancellationCount() {
721
        return orderCancellationCount;
722
    }
723
 
724
    public void setOrderCancellationCount(long orderCancellationCount) {
725
        this.orderCancellationCount = orderCancellationCount;
726
    }
5858 amar.kumar 727
 
728
 
729
    public long getOpenStorePickupTicketCount() {
730
		return openStorePickupTicketCount;
731
	}
732
 
733
	public void setOpenStorePickupTicketCount(long openStorePickupTicketCount) {
734
		this.openStorePickupTicketCount = openStorePickupTicketCount;
735
	}
7372 kshitij.so 736
 
737
	public long getLowInventoryTicketsCount() {
738
		return lowInventoryTicketsCount;
739
	}
5858 amar.kumar 740
 
7372 kshitij.so 741
	public void setLowInventoryTicketsCount(long lowInventoryTicketsCount) {
742
		this.lowInventoryTicketsCount = lowInventoryTicketsCount;
743
	}
7615 manish.sha 744
 
745
	//Start:- Added By Manish Sharma for Creating a new Ticket: Category- RTO Refund on 21-Jun-2013
746
	public long getRTORefundsCount(){
747
		return RtoRefundsTicketCount;
748
	}
7372 kshitij.so 749
 
7615 manish.sha 750
	public void setRTORefundsCount(long RtoRefundsTicketCount) {
751
		this.RtoRefundsTicketCount = RtoRefundsTicketCount;
752
	}
753
	//End:- Added By Manish Sharma for Creating a new Ticket: Category- RTO Refund on 21-Jun-2013
754
 
6111 anupam.sin 755
    public String getDeviceNumber() {
756
        return deviceNumber;
757
    }
758
 
759
    public void setDeviceNumber(String deviceNumber) {
760
        this.deviceNumber = deviceNumber;
761
    }
762
 
763
    public long getFailedRechargeCount() {
764
        return failedRechargeCount;
765
    }
766
 
767
    public void setFailedRechargeCount(long failedRechargeCount) {
768
        this.failedRechargeCount = failedRechargeCount;
769
    }
770
 
771
    public long getSuccessfulRechargeCount() {
772
        return successfulRechargeCount;
773
    }
774
 
775
    public void setSuccessfulRechargeCount(long successfulRechargeCount) {
776
        this.successfulRechargeCount = successfulRechargeCount;
777
    }
778
 
779
    public long getRechargeOrderCount() {
780
        return rechargeOrderCount;
781
    }
782
 
783
    public void setRechargeOrderCount(long rechargeOrderCount) {
784
        this.rechargeOrderCount = rechargeOrderCount;
785
    }
786
 
787
    public String getRechargeOrderId() {
788
        return rechargeOrderId;
789
    }
790
 
791
    public void setRechargeOrderId(String rechargeOrderId) {
792
        this.rechargeOrderId = rechargeOrderId;
793
    }
794
 
7387 manish.sha 795
    //Start:- Added by Manish Sharma for Displaying wallet amount at user page on June-05-2013
796
	public UserWallet getWallet() {
797
		return wallet;
798
	}
799
 
800
	public void setWallet(UserWallet wallet) {
801
		this.wallet = wallet;
802
	}
803
 
804
	public long getWalletAmount() {
805
		return walletAmount;
806
	}
807
 
808
	public void setWalletAmount(long walletAmount) {
809
		this.walletAmount = walletAmount;
810
	}
811
	//End:- Added by Manish Sharma for Displaying wallet amount at user page on June-05-2013
812
 
7572 anupam.sin 813
    public void setOrders(List<Order> orders) {
814
        this.orders = orders;
815
    }
816
 
817
    public List<Order> getOrders() {
818
        return orders;
819
    }
820
 
821
    public void setAmazonOrderItemCode(String amazonOrderItemCode) {
822
        this.amazonOrderItemCode = amazonOrderItemCode;
823
    }
824
 
825
    public String getAmazonOrderItemCode() {
826
        return amazonOrderItemCode;
827
    }
828
 
829
    public void setAmazonId(String amazonId) {
830
        this.amazonId = amazonId;
831
    }
832
 
833
    public String getAmazonId() {
834
        return amazonId;
835
    }
836
 
9166 manish.sha 837
	public List<RechargeOrder> getRechargeOrders() {
838
		return rechargeOrders;
839
	}
840
 
841
	public void setRechargeOrders(List<RechargeOrder> rechargeOrders) {
842
		this.rechargeOrders = rechargeOrders;
843
	}
844
 
11890 kshitij.so 845
    public void setBulkOrderEnquiryCount(long bulkOrderEnquiryCount) {
846
        this.bulkOrderEnquiryCount = bulkOrderEnquiryCount;
847
    }
848
 
849
    public long getBulkOrderEnquiryCount() {
850
        return bulkOrderEnquiryCount;
851
    }
852
 
11895 kshitij.so 853
 
13324 manish.sha 854
	public String getMasterOrderId() {
855
		return masterOrderId;
856
	}
857
 
858
	public void setMasterOrderId(String masterOrderId) {
859
		this.masterOrderId = masterOrderId;
860
	}
861
 
14882 manish.sha 862
	public long getProfitMandiTicketCount() {
863
		return profitMandiTicketCount;
864
	}
865
 
866
	public void setProfitMandiTicketCount(long profitMandiTicketCount) {
867
		this.profitMandiTicketCount = profitMandiTicketCount;
868
	}
16208 manish.sha 869
 
870
	public long getPmCustomerActivityCount() {
871
		return pmCustomerActivityCount;
872
	}
873
 
874
	public void setPmCustomerActivityCount(long pmCustomerActivityCount) {
875
		this.pmCustomerActivityCount = pmCustomerActivityCount;
876
	}
877
 
878
	public long getPmAgentUnreadActivityCount() {
879
		return pmAgentUnreadActivityCount;
880
	}
881
 
882
	public void setPmAgentUnreadActivityCount(long pmAgentUnreadActivityCount) {
883
		this.pmAgentUnreadActivityCount = pmAgentUnreadActivityCount;
884
	}
2724 vikas 885
}