Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
493 rajveer 1
package in.shop2020.hotspot.dashbaord.server;
2
 
3
import in.shop2020.hotspot.dashbaord.shared.actions.Order;
4
import in.shop2020.hotspot.dashbaord.shared.actions.OrderType;
2697 chandransh 5
import in.shop2020.hotspot.dashbaord.shared.actions.ReturnOrder;
5945 mandeep.dh 6
import in.shop2020.model.v1.inventory.InventoryType;
5110 mandeep.dh 7
import in.shop2020.model.v1.catalog.Item;
8
import in.shop2020.model.v1.catalog.ItemType;
5945 mandeep.dh 9
import in.shop2020.model.v1.inventory.Warehouse;
914 chandransh 10
import in.shop2020.model.v1.order.LineItem;
7422 rajveer 11
import in.shop2020.model.v1.order.OrderSource;
493 rajveer 12
import in.shop2020.model.v1.order.OrderStatus;
13
import in.shop2020.model.v1.order.TransactionService.Client;
5110 mandeep.dh 14
import in.shop2020.thrift.clients.CatalogClient;
5948 mandeep.dh 15
import in.shop2020.thrift.clients.InventoryClient;
3132 rajveer 16
import in.shop2020.thrift.clients.TransactionClient;
493 rajveer 17
 
4411 rajveer 18
import java.io.ByteArrayOutputStream;
19
import java.io.File;
20
import java.io.FileNotFoundException;
21
import java.io.FileOutputStream;
22
import java.io.IOException;
493 rajveer 23
import java.util.ArrayList;
4411 rajveer 24
import java.util.Calendar;
493 rajveer 25
import java.util.Date;
4411 rajveer 26
import java.util.GregorianCalendar;
27
import java.util.HashMap;
493 rajveer 28
import java.util.List;
4411 rajveer 29
import java.util.Map;
493 rajveer 30
 
4411 rajveer 31
import org.slf4j.Logger;
32
import org.slf4j.LoggerFactory;
33
 
2449 chandransh 34
/**
35
 * This class is a facade to the Transaction service and should be used to
4133 chandransh 36
 * access all order specific data which requires some kind of transformation.
2449 chandransh 37
 * 
38
 * @author Chandranshu
39
 * 
40
 */
493 rajveer 41
public class TransactionUtils {
4411 rajveer 42
	private static String courierDetailsPath = "/CourierDetailReports";
43
	private static Logger logger = LoggerFactory.getLogger(TransactionUtils.class);
44
 
2449 chandransh 45
	/**
46
	 * The human user is concerned only with a consolidated view of actionable
47
	 * orders. Orders with different statuses in the database can be part of the
48
	 * same consolidated view. This method uses a mapping of <i>type</i> to
49
	 * <i>status</i> to get all such orders and return them as order beans.
50
	 * 
51
	 * @param type
52
	 *            The type of orders to return.
4133 chandransh 53
	 * @param offset
54
	 *            Offset to start from
55
	 * @param limit
56
	 *            No. of orders to return
2449 chandransh 57
	 * @param warehouseId
58
	 *            The warehouse for which the orders should be queried.
59
	 * @return A list of orders of the given type to be fulfilled from the given
60
	 *         warehouse
61
	 */
8303 amar.kumar 62
	public static List<Order> getOrders(OrderType type, long offset, long limit, long warehouseId, long source){
2449 chandransh 63
		List<OrderStatus> statuses = getStatuses(type);
493 rajveer 64
 
65
		List<Order> orders = new ArrayList<Order>();
66
		try{
4133 chandransh 67
			TransactionClient txnClient = new TransactionClient();
68
			Client client = txnClient.getClient();
493 rajveer 69
 
70
			List<in.shop2020.model.v1.order.Order> t_orders = new ArrayList<in.shop2020.model.v1.order.Order>();
8303 amar.kumar 71
			t_orders.addAll(client.getOrdersInBatch(statuses, offset, limit, warehouseId, source));
493 rajveer 72
 
73
			for (in.shop2020.model.v1.order.Order t_order: t_orders){
671 chandransh 74
				Order o = getOrderFromThriftOrder(t_order);
493 rajveer 75
				orders.add(o);
76
			}
77
		}catch(Exception e){
2449 chandransh 78
			e.printStackTrace();
493 rajveer 79
		}
80
		return orders;
81
	}
82
 
2449 chandransh 83
	/**
4133 chandransh 84
	 * Wrapper around the method of same name in the transaction service. This
85
	 * method uses a mapping of <i>type</i> to <i>status</i> to get the count of
86
	 * all orders with a given status.
87
	 * 
88
	 * @param type
89
	 *            The type of orders to return.
90
	 * @param warehouseId
91
	 *            The warehouse for which the orders should be queried.
92
	 * @return The count of orders of the given type assigned to the given
93
	 *         warehouse.
94
	 */
8303 amar.kumar 95
	public static int getOrderCount(OrderType type, long warehouseId, long source){
4133 chandransh 96
		List<OrderStatus> statuses = getStatuses(type);
97
 
98
		int count = 0;
99
		try{
100
			TransactionClient txnClient = new TransactionClient();
101
			Client client = txnClient.getClient();
8303 amar.kumar 102
			count += client.getOrderCount(statuses, warehouseId, source);
4133 chandransh 103
		}catch(Exception e){
104
			e.printStackTrace();
105
		}
106
		return count;
107
	}
108
 
109
	/**
2449 chandransh 110
	 * Calls the same method of the transaction service and returns the status
111
	 * returned. Catches all exceptions that are raised and returns false in
112
	 * that case.
113
	 * 
114
	 * @param warehouseId
115
	 *            The warehouse for which the orders should be marked as
116
	 *            manifested.
117
	 * @param providerId
118
	 *            The provider for which the orders should be marked as
119
	 *            manifested.
3065 chandransh 120
	 * @param cod
121
	 *             Whether cod orders have to be marked as manifested
2449 chandransh 122
	 * @return True if everything goes fine, false otherwise.
123
	 */
5769 rajveer 124
	public static Map<Long, Long> getBilledOrders(long warehouseId, String providerId, boolean cod){
125
		Map<Long, Long> orders = new HashMap<Long, Long>();
760 chandransh 126
		try {
127
			long provider_id = Long.parseLong(providerId);
3132 rajveer 128
			TransactionClient client = new TransactionClient();
760 chandransh 129
			Client c = client.getClient();
4790 rajveer 130
 
131
			List<OrderStatus> statuses = new ArrayList<OrderStatus>();
132
			statuses.add(OrderStatus.BILLED);
8303 amar.kumar 133
			List<in.shop2020.model.v1.order.Order> torders = c.getOrdersInBatch(statuses, 0, 0, warehouseId, 0);
4790 rajveer 134
			for(in.shop2020.model.v1.order.Order torder: torders){
5556 rajveer 135
				if(torder.getLogistics_provider_id() == provider_id && torder.isLogisticsCod() == cod){
5769 rajveer 136
					orders.put(torder.getId(), torder.getPickupStoreId());
4790 rajveer 137
				}
4411 rajveer 138
			}
139
 
760 chandransh 140
		}catch(Exception e){
141
			e.printStackTrace();
142
		}
4790 rajveer 143
		return orders;
760 chandransh 144
	}
2449 chandransh 145
 
4790 rajveer 146
	public static boolean generateCourierDetailsFile(List<Long> orderIds, long providerId, long warehouseId, boolean isCod){
4411 rajveer 147
		Calendar date = new GregorianCalendar();
148
		int year = date.get(Calendar.YEAR);
149
		int month = date.get(Calendar.MONTH) +1;
150
		int day = date.get(Calendar.DAY_OF_MONTH);
151
 
152
		String fileNameSuffix = "-" + warehouseId + "-"+ providerId + "-" + year + "-" + month + "-" + day;
153
		if(isCod){
154
		    fileNameSuffix = "cod" + fileNameSuffix ;
155
		}
156
		else{
157
		    fileNameSuffix = "prepaid" + fileNameSuffix;
158
		}
159
 
160
		try {
4790 rajveer 161
			String fileName = courierDetailsPath + "/courier-details-" + fileNameSuffix + "-temp.xls";
4415 rajveer 162
			FileOutputStream f = new FileOutputStream(fileName);
4411 rajveer 163
			CourierDetailsGenerator courierDetailsGenerator = new CourierDetailsGenerator();
4790 rajveer 164
			ByteArrayOutputStream baosXLS = courierDetailsGenerator.generateCourierDetails(orderIds, warehouseId, providerId, isCod);
4411 rajveer 165
			baosXLS.writeTo(f);
166
			f.close();
167
		} catch (FileNotFoundException e) {
168
			logger.error("Unable to create the courier details file", e);
169
		} catch (IOException e) {
170
			logger.error("Unable to create the courier details file", e);
171
		}
172
 
173
		CourierDetailsReportMerger merger = new CourierDetailsReportMerger();
174
		try {
175
			Map<Long, String> warehouseIdFileNames = new HashMap<Long, String>();
4790 rajveer 176
			String fName;
177
			fName = courierDetailsPath + "/courier-details-" + fileNameSuffix + "-temp.xls";
178
			if((new File(fName)).exists()){
179
				warehouseIdFileNames.put(0L, fName);
4411 rajveer 180
			}
4790 rajveer 181
			fName = courierDetailsPath + "/courier-details-" + fileNameSuffix + ".xls";
182
			if((new File(fName)).exists()){
183
				warehouseIdFileNames.put(1L, fName);
4411 rajveer 184
			}
4790 rajveer 185
			ByteArrayOutputStream binXLS = merger.mergeCourierDetailsReports(warehouseIdFileNames);
186
			FileOutputStream f = new FileOutputStream(courierDetailsPath + "/courier-details-" + fileNameSuffix + ".xls");
4411 rajveer 187
			binXLS.writeTo(f);
188
			f.close();
4790 rajveer 189
			File tempFile = new File(courierDetailsPath + "/courier-details-" + fileNameSuffix + "-temp.xls");
190
			if(tempFile.exists()){
191
				tempFile.delete();
192
			}
4411 rajveer 193
		} catch (FileNotFoundException e) {
194
			logger.error("Error while creating the Courier Details report", e);
195
		} catch (IOException e) {
196
			logger.error("IO error while writing the Courier Details report", e);
197
		}
198
		return true;
199
	}
200
 
671 chandransh 201
	/**
2449 chandransh 202
	 * 
671 chandransh 203
	 * @param t_order
2449 chandransh 204
	 *            A thrift order object with line items.
205
	 * @return an Order bean which can be used for rendering on the client side.
671 chandransh 206
	 */
207
	public static Order getOrderFromThriftOrder(in.shop2020.model.v1.order.Order t_order) {
914 chandransh 208
		LineItem lineItem = t_order.getLineitems().get(0);
5110 mandeep.dh 209
		String pickFromWarehouse = null;
210
		Item item = null;
211
 
212
        try {
5945 mandeep.dh 213
            in.shop2020.model.v1.catalog.CatalogService.Client client = new CatalogClient().getClient();
5948 mandeep.dh 214
            in.shop2020.model.v1.inventory.InventoryService.Client inventoryClient = new InventoryClient().getClient();
5110 mandeep.dh 215
            item = client.getItem(lineItem.getItem_id());
216
            pickFromWarehouse = CatalogUtils.getWarehousesForBillingWarehouse(t_order.getWarehouse_id())
217
                                    .get(t_order.getFulfilmentWarehouseId());
218
 
219
            if (pickFromWarehouse == null) {
5948 mandeep.dh 220
                Warehouse warehouse = inventoryClient.getWarehouse(t_order.getFulfilmentWarehouseId());
221
                pickFromWarehouse = inventoryClient.getWarehouses(null, InventoryType.GOOD, warehouse.getVendor().getId(), t_order.getWarehouse_id(), 0).get(0).getDisplayName();
5110 mandeep.dh 222
            }
223
		}
224
        catch (Exception e) {
225
            logger.error("Error looking up warehouse: " + t_order.getVendorId(), e);
226
        }
227
 
3553 chandransh 228
		String delayReason = null;
229
		if(t_order.getDelayReason() != null)
7433 rajveer 230
		    delayReason = t_order.getDelayReason().name();
3553 chandransh 231
 
7556 rajveer 232
		String osource = OrderSource.findByValue((int)t_order.getSource()).toString();
7433 rajveer 233
 
966 chandransh 234
		Order order = new Order(t_order.getId(),
235
				t_order.getCustomer_id(),
236
				t_order.getCustomer_name(),
237
				t_order.getCustomer_mobilenumber(),
238
				t_order.getCustomer_pincode(),
239
				t_order.getCustomer_address1(),
240
				t_order.getCustomer_address2(),
241
				t_order.getCustomer_city(),
242
				t_order.getCustomer_state(),
243
				t_order.getCustomer_email(),
244
				t_order.getCreated_timestamp(),
4004 chandransh 245
				t_order.getShipping_timestamp(),
246
				t_order.getVerification_timestamp(),
966 chandransh 247
				t_order.getExpected_delivery_time(),
3994 chandransh 248
				t_order.getPromised_delivery_time(),
4004 chandransh 249
				t_order.getExpected_shipping_time(),
4666 rajveer 250
				t_order.getPromised_shipping_time(),
966 chandransh 251
				t_order.getStatus().getValue(),
252
				t_order.getStatusDescription(),
5527 anupam.sin 253
				t_order.getOrderType().name(),
966 chandransh 254
				lineItem.getItem_id(),
255
				lineItem.getProductGroup(),
256
				lineItem.getBrand(),
257
				lineItem.getModel_name(),
258
				lineItem.getModel_number(),
259
				lineItem.getColor(),
260
				lineItem.getExtra_info(),
4172 rajveer 261
				lineItem.getDealText(),
5387 rajveer 262
				lineItem.getQuantity(),
2782 chandransh 263
				t_order.getTotal_amount(),
264
				t_order.getTotal_weight(),
265
				t_order.getAirwaybill_no(),
266
				t_order.getBilled_by(),
267
				t_order.getInvoice_number(),
268
				t_order.getJacket_number(),
269
				lineItem.getItem_number(),
4659 mandeep.dh 270
				lineItem.getSerial_number(),
3065 chandransh 271
				t_order.getBatchNo(),
272
				t_order.getSerialNo(),
2509 chandransh 273
				t_order.isDoaFlag(),
3065 chandransh 274
				t_order.getPickupRequestNo(),
5556 rajveer 275
				t_order.isLogisticsCod(),
5110 mandeep.dh 276
				delayReason,
277
				pickFromWarehouse,
6028 rajveer 278
				ItemType.SERIALIZED.equals(item.getType()),
279
				item.isHasItemNo(),
5769 rajveer 280
				t_order.getFulfilmentWarehouseId(),
7190 amar.kumar 281
				t_order.getPickupStoreId(),
7422 rajveer 282
				t_order.getFreebieItemId(),
8717 amar.kumar 283
				osource, 
284
				new Long(t_order.getProductCondition().getValue()));
966 chandransh 285
		return order;
671 chandransh 286
	}
287
 
2449 chandransh 288
	/**
2697 chandransh 289
	 * Queries the transction server to get the list of all return orders that
290
	 * have to be processed.
291
	 * 
292
	 * @return A list of all return orders to be processed.
293
	 */
294
	public static List<ReturnOrder> getReturnOrders(long warehouseId){
295
		List<ReturnOrder> retOrders = new ArrayList<ReturnOrder>();
296
		try{
3132 rajveer 297
			TransactionClient client = new TransactionClient();
2697 chandransh 298
			Client c = client.getClient();
299
			List<in.shop2020.model.v1.order.ReturnOrder> tRetOrders =  c.getReturnOrders(warehouseId, 0L, new Date().getTime());
300
			for(in.shop2020.model.v1.order.ReturnOrder retOrder : tRetOrders){
301
				retOrders.add(getReturnOrderFromThriftRO(retOrder));
302
			}
303
		}catch(Exception e){
304
			e.printStackTrace();
305
		}
306
		return retOrders;
307
	}
308
 
2700 chandransh 309
	public static ReturnOrder getReturnOrderFromThriftRO(in.shop2020.model.v1.order.ReturnOrder tRetOrder){
310
		ReturnOrder retOrder = new ReturnOrder(tRetOrder.getOrderId(),
311
				tRetOrder.getWarehouseId(),
312
				tRetOrder.getItemId(),
313
				tRetOrder.getProductGroup(),
314
				tRetOrder.getBrand(),
315
				tRetOrder.getModelName(),
316
				tRetOrder.getModelNumber(),
317
				tRetOrder.getColor(),
318
				tRetOrder.getInvoiceNumber(),
319
				tRetOrder.getJacketNumber(),
320
				tRetOrder.getTotalPrice(),
321
				tRetOrder.getTransferPrice(),
322
				false,
323
				tRetOrder.getCreatedAt());
2697 chandransh 324
		return retOrder;
325
	}
326
 
327
	/**
2449 chandransh 328
	 * This method maps a given type to a list of statuses.
329
	 * 
330
	 * @param type
331
	 *            The type of orders to fetch.
332
	 * @return The list of Thrift statuses associated with a particular order
333
	 *         type.
334
	 */
4361 rajveer 335
	public static List<OrderStatus> getStatuses(OrderType type) {
2449 chandransh 336
		List<OrderStatus> statuses = new ArrayList<OrderStatus>();
337
 
338
		switch (type) {
339
		case ACCEPTED:
340
			statuses.add(OrderStatus.ACCEPTED);
341
			break;
342
 
4361 rajveer 343
		case ALL_PENDING:
344
			statuses.add(OrderStatus.SUBMITTED_FOR_PROCESSING);
4421 mandeep.dh 345
			statuses.add(OrderStatus.CAPTURE_IN_PROCESS);
4361 rajveer 346
			statuses.add(OrderStatus.INVENTORY_LOW);
347
			statuses.add(OrderStatus.LOW_INV_PO_RAISED);
348
			statuses.add(OrderStatus.LOW_INV_REVERSAL_IN_PROCESS);
349
			statuses.add(OrderStatus.LOW_INV_NOT_AVAILABLE_AT_HOTSPOT);
2449 chandransh 350
			break;
351
 
352
		case NEW:
353
			statuses.add(OrderStatus.SUBMITTED_FOR_PROCESSING);
4421 mandeep.dh 354
			statuses.add(OrderStatus.CAPTURE_IN_PROCESS);
2449 chandransh 355
			break;
356
 
357
		case BILLED:
358
			statuses.add(OrderStatus.BILLED);
359
			break;
360
 
4308 rajveer 361
		case LOW_INVENTORY:
2449 chandransh 362
			statuses.add(OrderStatus.INVENTORY_LOW);
363
			break;
4248 rajveer 364
 
4308 rajveer 365
		case PO_RAISED:
366
			statuses.add(OrderStatus.LOW_INV_PO_RAISED);
367
			break;
368
 
369
		case REVERSAL_INITIATED:
370
			statuses.add(OrderStatus.LOW_INV_REVERSAL_IN_PROCESS);
371
			break;
372
 
373
		case NOT_AVAILABLE:
374
			statuses.add(OrderStatus.LOW_INV_NOT_AVAILABLE_AT_HOTSPOT);
375
			break;
376
 
4248 rajveer 377
		case CANCEL_CONFIRMED:
378
			statuses.add(OrderStatus.CANCEL_REQUEST_CONFIRMED);
379
			break;
2449 chandransh 380
 
4459 rajveer 381
		case DOA_REQUEST_AUTHORIZED:
382
			statuses.add(OrderStatus.DOA_REQUEST_AUTHORIZED);
4515 mandeep.dh 383
			statuses.add(OrderStatus.DOA_PICKUP_REQUEST_RAISED);
4459 rajveer 384
			break;
385
 
4666 rajveer 386
		case LOST_IN_TRANSIT:
387
			statuses.add(OrderStatus.LOST_IN_TRANSIT);
388
			break;
389
 
4459 rajveer 390
		case DOA_LOST_IN_TRANSIT:
391
			statuses.add(OrderStatus.DOA_LOST_IN_TRANSIT);
4478 rajveer 392
			break;
393
 
394
		case DOA_RECEIVED_DAMAGED:
4459 rajveer 395
			statuses.add(OrderStatus.DOA_RECEIVED_DAMAGED);
396
			break;
4495 rajveer 397
 
398
		case RET_REQUEST_AUTHORIZED:
399
			statuses.add(OrderStatus.RET_REQUEST_AUTHORIZED);
4515 mandeep.dh 400
			statuses.add(OrderStatus.RET_PICKUP_REQUEST_RAISED);
4495 rajveer 401
			break;
402
 
403
		case RET_AWAITED:
404
			statuses.add(OrderStatus.RET_RETURN_IN_TRANSIT);
4515 mandeep.dh 405
			statuses.add(OrderStatus.RET_PICKUP_CONFIRMED);
4495 rajveer 406
			break;
4459 rajveer 407
 
4495 rajveer 408
		case RET_RECEIVED_PRESTINE:
409
			statuses.add(OrderStatus.RET_RECEIVED_PRESTINE);
4515 mandeep.dh 410
			statuses.add(OrderStatus.RET_PRODUCT_USABLE);
4495 rajveer 411
			break;
412
 
413
		case RET_LOST_IN_TRANSIT:
414
			statuses.add(OrderStatus.RET_LOST_IN_TRANSIT);
415
			break;
416
 
417
		case RET_RECEIVED_DAMAGED:
418
			statuses.add(OrderStatus.RET_RECEIVED_DAMAGED);
4515 mandeep.dh 419
			statuses.add(OrderStatus.RET_PRODUCT_UNUSABLE);
4495 rajveer 420
			break;
421
 
2449 chandransh 422
		case REJECTED:
423
			statuses.add(OrderStatus.REJECTED);
424
			break;
425
 
426
		case SHIPPED:
427
			statuses.add(OrderStatus.SHIPPED_FROM_WH);
428
			statuses.add(OrderStatus.SHIPPED_TO_LOGST);
5016 phani.kuma 429
			statuses.add(OrderStatus.SHIPPED_TO_DESTINATION_CITY);
430
			statuses.add(OrderStatus.REACHED_DESTINATION_CITY);
431
			statuses.add(OrderStatus.FIRST_DELIVERY_ATTEMPT_MADE);
2449 chandransh 432
			break;
433
 
434
		case DELIVERED:
435
			statuses.add(OrderStatus.DELIVERY_SUCCESS);
4452 rajveer 436
			statuses.add(OrderStatus.DOA_PICKUP_REQUEST_RAISED);
2449 chandransh 437
			break;
2610 chandransh 438
 
439
		case DOA_AWAITED:
4452 rajveer 440
			statuses.add(OrderStatus.DOA_PICKUP_CONFIRMED);
2610 chandransh 441
			statuses.add(OrderStatus.DOA_RETURN_IN_TRANSIT);
4452 rajveer 442
			statuses.add(OrderStatus.DOA_RECEIVED_PRESTINE);
2610 chandransh 443
			break;
2449 chandransh 444
 
4495 rajveer 445
		case RTO_AWAITED:
4484 rajveer 446
			statuses.add(OrderStatus.RTO_IN_TRANSIT);
2509 chandransh 447
			break;
448
 
4515 mandeep.dh 449
        case RTO_RECEIVED_DAMAGED:
450
            statuses.add(OrderStatus.RTO_RECEIVED_DAMAGED);
451
            break;
452
 
453
        case DOA_RECEIVED_PRESTINE:
2610 chandransh 454
			statuses.add(OrderStatus.DOA_CERT_VALID);
4515 mandeep.dh 455
			statuses.add(OrderStatus.DOA_CERT_INVALID);
2610 chandransh 456
			break;
457
 
4495 rajveer 458
		case RTO_RETURNED:
4484 rajveer 459
			statuses.add(OrderStatus.RTO_RECEIVED_PRESTINE);
2509 chandransh 460
			break;
461
 
2628 chandransh 462
		case RESHIPPED:
4484 rajveer 463
			statuses.add(OrderStatus.RTO_RESHIPPED);
2628 chandransh 464
			statuses.add(OrderStatus.DOA_INVALID_RESHIPPED);
4452 rajveer 465
			statuses.add(OrderStatus.DOA_VALID_RESHIPPED);
2628 chandransh 466
			break;
467
 
468
		case REFUNDED:
4682 rajveer 469
		    statuses.add(OrderStatus.COD_VERIFICATION_FAILED);
4484 rajveer 470
			statuses.add(OrderStatus.RTO_REFUNDED);
2628 chandransh 471
			statuses.add(OrderStatus.DOA_INVALID_REFUNDED);
472
			statuses.add(OrderStatus.DOA_VALID_REFUNDED);
4682 rajveer 473
			statuses.add(OrderStatus.CANCELLED_DUE_TO_LOW_INVENTORY);
2628 chandransh 474
			break;
2509 chandransh 475
 
3065 chandransh 476
		case VERIFICATION_PENDING:
4664 rajveer 477
		    statuses.add(OrderStatus.COD_VERIFICATION_PENDING);
3065 chandransh 478
		    break;
2449 chandransh 479
		default:
480
			break;
481
		}
482
		return statuses;
483
	}
493 rajveer 484
}