Subversion Repositories SmartDukaan

Rev

Rev 16248 | 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;
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;
4751 anupam.sin 118
 
2674 vikas 119
    @Action("/")
2724 vikas 120
    public String index() throws Exception {
3137 mandeep.dh 121
        String returnValue = INPUT;
122
 
3090 mandeep.dh 123
        try {
7572 anupam.sin 124
 
125
            if (mobileNumber != null && !mobileNumber.isEmpty()) {
126
                transactionServiceClient = new TransactionClient().getClient();
127
                setOrders(transactionServiceClient.getOrdersByMobileNumber(mobileNumber));
128
                return "orders-index";
129
            }
130
 
131
            if (amazonId != null && !amazonId.isEmpty()) {
132
                transactionServiceClient = new TransactionClient().getClient();
7645 anupam.sin 133
                setOrders(transactionServiceClient.getOrdersByAmazonOrderCode(amazonId));
7572 anupam.sin 134
                return "orders-index";
135
            }
136
 
13324 manish.sha 137
            if(masterOrderId!=null && !masterOrderId.isEmpty()){
138
            	transactionServiceClient = new TransactionClient().getClient();
139
                setOrders(transactionServiceClient.getGroupOrdersByLogisticsTxnId(masterOrderId));
140
                return "orders-index";
141
            }
142
 
9166 manish.sha 143
            if (deviceNumber != null && !deviceNumber.isEmpty()) {
144
                transactionServiceClient = new TransactionClient().getClient();
145
                rechargeOrders = transactionServiceClient.getRechargeOrdersForDevice(deviceNumber);
146
                setRechargeOrders(rechargeOrders);
147
                return "recharge-orders-result-index";
148
                //user = userContextServiceClient.getUserById(rechargeOrders.get(0).getUserId());
149
            }
150
 
3390 mandeep.dh 151
            userContextServiceClient = new UserClient().getClient();
3096 mandeep.dh 152
            if (email != null && !email.isEmpty()) {
153
                user = userContextServiceClient.getUserByEmail(email);
3422 mandeep.dh 154
            } else if (orderId != null && !orderId.isEmpty()) {
3390 mandeep.dh 155
                transactionServiceClient = new TransactionClient().getClient();
3422 mandeep.dh 156
                Order order = transactionServiceClient.getOrder(Long
157
                        .parseLong(orderId));
158
                user = userContextServiceClient.getUserById(order
159
                        .getCustomer_id());
6111 anupam.sin 160
            } else if (rechargeOrderId != null && !rechargeOrderId.isEmpty()){
161
                transactionServiceClient = new TransactionClient().getClient();
162
                RechargeOrder rechargeOrder = transactionServiceClient.getRechargeOrder(Long
163
                        .parseLong(rechargeOrderId));
164
                user = userContextServiceClient.getUserById(rechargeOrder.getUserId());
3422 mandeep.dh 165
            } else if (ticketId != null && !ticketId.isEmpty()) {
3390 mandeep.dh 166
                SearchFilter searchFilter = new SearchFilter();
167
                searchFilter.setTicketId(Long.parseLong(ticketId));
3422 mandeep.dh 168
                crmServiceClient = new CRMClient().getClient();
169
                List<Ticket> tickets = crmServiceClient
170
                        .getTickets(searchFilter);
3390 mandeep.dh 171
                if (!tickets.isEmpty()) {
172
                    Ticket ticket = tickets.get(0);
173
                    if (ticket.isSetCustomerId()) {
174
                        user = userContextServiceClient.getUserById(ticket.getCustomerId());
175
                    }
176
                }
3422 mandeep.dh 177
                else {
178
                    // resetting in case on invalid ticket Id
179
                    ticketId = null;
180
                }
20110 kshitij.so 181
            } else if (returnTransactionId != null && !returnTransactionId.isEmpty()) {
182
                transactionServiceClient = new TransactionClient().getClient();
183
                ReturnTransaction returnTransaction = transactionServiceClient.getReturnTransaction(Long.valueOf(returnTransactionId));
184
                user = userContextServiceClient.getUserById(returnTransaction
185
                        .getCustomer_id());
186
            }else if (pickupRequestId != null && !pickupRequestId.isEmpty()) {
187
                transactionServiceClient = new TransactionClient().getClient();
188
                ReturnPickupRequest returnPickupRequest = transactionServiceClient.getReturnPickupRequest(Long.valueOf(pickupRequestId));
189
                List<ReturnOrderInfo> returnOrders = transactionServiceClient.getAllReturnOrdersForReturnPickupRequest(returnPickupRequest.getId());
190
                ReturnTransaction returnTransaction = transactionServiceClient.getReturnTransaction(returnOrders.get(0).getReturnTransactionId());
191
                user = userContextServiceClient.getUserById(returnTransaction
192
                        .getCustomer_id());
3096 mandeep.dh 193
            }
3090 mandeep.dh 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
	}
20110 kshitij.so 885
 
886
	public void setReturnTransactionId(String returnTransactionId) {
887
		this.returnTransactionId = returnTransactionId;
888
	}
889
 
890
	public String getReturnTransactionId() {
891
		return returnTransactionId;
892
	}
893
 
894
	public String getPickupRequestId() {
895
		return pickupRequestId;
896
	}
897
 
898
	public void setPickupRequestId(String pickupRequestId) {
899
		this.pickupRequestId = pickupRequestId;
900
	}
901
 
902
	public PrivateDealUser getPrivateDealUser() {
903
        return privateDealUser;
904
    }
905
 
906
    public void setPrivateDealUser(PrivateDealUser privateDealUser) {
907
        this.privateDealUser = privateDealUser;
908
    }
2724 vikas 909
}