Subversion Repositories SmartDukaan

Rev

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