Subversion Repositories SmartDukaan

Rev

Rev 9251 | Rev 9275 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9251 Rev 9272
Line 382... Line 382...
382
				if(transaction_client.flipkartOrderExists(orderId,subOrderId)) {
382
				if(transaction_client.flipkartOrderExists(orderId,subOrderId)) {
383
					if(shipByDate!=null && order.getTrackingId()!=null){
383
					if(shipByDate!=null && order.getTrackingId()!=null){
384
						transaction_client.updateFlipkartOrderDatesAndAWB(orderId, subOrderId, shipByDate.getTime(), order.getTrackingId());
384
						transaction_client.updateFlipkartOrderDatesAndAWB(orderId, subOrderId, shipByDate.getTime(), order.getTrackingId());
385
						logger.error("Order exists updating info " + "id : " + orderId + " suborder id : " + subOrderId);
385
						logger.error("Order exists updating info " + "id : " + orderId + " suborder id : " + subOrderId);
386
						sb.append("Order exists updating info " + orderId+" "+subOrderId+"\n");
386
						sb.append("Order exists updating info " + orderId+" "+subOrderId+"\n");
387
						
387
 
388
					}
388
					}
389
					else{
389
					else{
390
						logger.error("Flipkart order exists " + "id : " + orderId + " suborder id : " + subOrderId);
390
						logger.error("Flipkart order exists " + "id : " + orderId + " suborder id : " + subOrderId);
391
						sb.append("Flipkart order exists " + orderId+" "+subOrderId+"\n");
391
						sb.append("Flipkart order exists " + orderId+" "+subOrderId+"\n");
392
					}
392
					}
Line 410... Line 410...
410
			List<in.shop2020.model.v1.order.Order> orderlist = new ArrayList<in.shop2020.model.v1.order.Order>();
410
			List<in.shop2020.model.v1.order.Order> orderlist = new ArrayList<in.shop2020.model.v1.order.Order>();
411
			double total_price=0;
411
			double total_price=0;
412
			InventoryService.Client inventoryClient = null;
412
			InventoryService.Client inventoryClient = null;
413
			Warehouse fulfillmentWarehouse= null;
413
			Warehouse fulfillmentWarehouse= null;
414
			boolean exit = false;
414
			boolean exit = false;
415
			for(int i=0;i<quantity;i++){
-
 
416
				LineItem lineItem = null;
415
			LineItem lineItem = null;
417
				lineItem = createLineItem(sku,unitSellingPrice);
416
			lineItem = createLineItem(sku,unitSellingPrice,quantity);
418
				logger.info(orderId+" "+subOrderId + "sku and Price " + sku + " " + unitSellingPrice);
417
			logger.info(orderId+" "+subOrderId + "sku and Price " + sku + " " + unitSellingPrice);
419
				lineItem.setExtra_info("flipkartOrderId = " + orderId + " flipkartsubOrderId = " + subOrderId);
418
			lineItem.setExtra_info("flipkartOrderId = " + orderId + " flipkartsubOrderId = " + subOrderId);
420
				in.shop2020.model.v1.order.Order t_order = new in.shop2020.model.v1.order.Order();
419
			in.shop2020.model.v1.order.Order t_order = new in.shop2020.model.v1.order.Order();
421
				t_order.setCustomer_id(user.getUserId());
420
			t_order.setCustomer_id(user.getUserId());
422
				t_order.setCustomer_email(sourceDetail.getEmail());
421
			t_order.setCustomer_email(sourceDetail.getEmail());
423
				t_order.setCustomer_mobilenumber("+91-9999999999");
422
			t_order.setCustomer_mobilenumber("+91-9999999999");
424
				t_order.setCustomer_name(shipToName);
423
			t_order.setCustomer_name(shipToName);
425
				t_order.setCustomer_address1(addressLine1);
424
			t_order.setCustomer_address1(addressLine1);
426
				t_order.setCustomer_address2(addressLine2);
425
			t_order.setCustomer_address2(addressLine2);
427
				t_order.setCustomer_city(city);
426
			t_order.setCustomer_city(city);
428
				t_order.setCustomer_state(state);
427
			t_order.setCustomer_state(state);
429
				t_order.setCustomer_pincode(pincode);
428
			t_order.setCustomer_pincode(pincode);
430
				t_order.setTotal_amount(unitSellingPrice);            
429
			t_order.setTotal_amount(unitSellingPrice);            
431
				t_order.setTotal_weight(lineItem.getTotal_weight());
430
			t_order.setTotal_weight(lineItem.getTotal_weight());
432
				t_order.setLineitems(Collections.singletonList(lineItem));            
431
			t_order.setLineitems(Collections.singletonList(lineItem));            
433
				t_order.setStatus(OrderStatus.PAYMENT_PENDING);
432
			t_order.setStatus(OrderStatus.PAYMENT_PENDING);
434
				t_order.setStatusDescription("In Process");
433
			t_order.setStatusDescription("In Process");
435
				t_order.setCreated_timestamp(new Date().getTime());
434
			t_order.setCreated_timestamp(new Date().getTime());
436
				t_order.setOrderType(OrderType.B2C);
435
			t_order.setOrderType(OrderType.B2C);
437
				t_order.setCod(false);
436
			t_order.setCod(false);
438
				if(shipByDate!=null){
437
			if(shipByDate!=null){
439
					t_order.setPromised_shipping_time(shipByDate.getTime());
438
				t_order.setPromised_shipping_time(shipByDate.getTime());
440
					t_order.setExpected_shipping_time(shipByDate.getTime());
439
				t_order.setExpected_shipping_time(shipByDate.getTime());
441
					t_order.setPromised_delivery_time(shipByDate.getTime()+ 4*24*60*60);
440
				t_order.setPromised_delivery_time(shipByDate.getTime()+ 4*24*60*60);
442
					t_order.setExpected_delivery_time(shipByDate.getTime()+ 4*24*60*60);
441
				t_order.setExpected_delivery_time(shipByDate.getTime()+ 4*24*60*60);
-
 
442
			}
-
 
443
			else{
-
 
444
				try {
-
 
445
					Date shipDate = new Date();
-
 
446
					shipDate.setTime( flipkartTxnDate.getTime() + sla*24*60*60*1000);
-
 
447
					Calendar time = Calendar.getInstance();
-
 
448
					t_order.setPromised_shipping_time(shipDate.getTime());
-
 
449
					t_order.setExpected_shipping_time(shipDate.getTime());
-
 
450
					time.add(Calendar.DAY_OF_MONTH, 4);
-
 
451
					t_order.setPromised_delivery_time(time.getTimeInMillis());
-
 
452
					t_order.setExpected_delivery_time(time.getTimeInMillis());
-
 
453
				} catch(Exception e) {	
-
 
454
					logger.error("Error in updating Shipping or Delivery Time for suborderid  " + subOrderId);
-
 
455
					sb.append(orderId + " "+ subOrderId  + " Could not update delivery time" + " " + "\n");
-
 
456
					exit = true;
-
 
457
					continue;
443
				}
458
				}
444
				else{
459
			}
-
 
460
			SnapdealItem snapdealItem = new CatalogClient("catalog_service_server_host_amazon","catalog_service_server_port").getClient().getSnapdealItem(sku);
-
 
461
			inventoryClient = new InventoryClient().getClient();
445
					try {
462
			try {
446
						Date shipDate = new Date();
-
 
447
						shipDate.setTime( flipkartTxnDate.getTime() + sla*24*60*60*1000);
-
 
448
						Calendar time = Calendar.getInstance();
463
				logger.info("Snapdeal Item id is " + snapdealItem.getItem_id());
449
						t_order.setPromised_shipping_time(shipDate.getTime());
464
				if(snapdealItem.getItem_id()!=0 && snapdealItem.getWarehouseId()!=0) {
450
						t_order.setExpected_shipping_time(shipDate.getTime());
465
					logger.info("SnapdealItem Warehouse Id " + snapdealItem.getWarehouseId());
451
						time.add(Calendar.DAY_OF_MONTH, 4);
-
 
452
						t_order.setPromised_delivery_time(time.getTimeInMillis());
466
					fulfillmentWarehouse = inventoryClient.getWarehouse(snapdealItem.getWarehouseId());
453
						t_order.setExpected_delivery_time(time.getTimeInMillis());
467
					logger.info("fulfillmentWarehouse is " + fulfillmentWarehouse.getId() + " " + fulfillmentWarehouse.getDisplayName() );
-
 
468
 
454
					} catch(Exception e) {	
469
				} else {
455
						logger.error("Error in updating Shipping or Delivery Time for suborderid  " + subOrderId);
470
					List<Long> itemAvailability = inventoryClient.getItemAvailabilityAtLocation(sku, 1);
456
						sb.append(orderId + " "+ subOrderId  + " Could not update delivery time" + " " + "\n");
471
					fulfillmentWarehouse = inventoryClient.getWarehouse(itemAvailability.get(0));
457
						exit = true;
472
					if(fulfillmentWarehouse.getStateId()!=0){
458
						continue;
473
						fulfillmentWarehouse = inventoryClient.getWarehouse(7);
459
					}
474
					}
460
				}
475
				}
461
				SnapdealItem snapdealItem = new CatalogClient("catalog_service_server_host_amazon","catalog_service_server_port").getClient().getSnapdealItem(sku);
-
 
462
				inventoryClient = new InventoryClient().getClient();
-
 
463
				try {
-
 
464
					logger.info("Snapdeal Item id is " + snapdealItem.getItem_id());
-
 
465
					if(snapdealItem.getItem_id()!=0 && snapdealItem.getWarehouseId()!=0) {
-
 
466
						logger.info("SnapdealItem Warehouse Id " + snapdealItem.getWarehouseId());
-
 
467
						fulfillmentWarehouse = inventoryClient.getWarehouse(snapdealItem.getWarehouseId());
-
 
468
						logger.info("fulfillmentWarehouse is " + fulfillmentWarehouse.getId() + " " + fulfillmentWarehouse.getDisplayName() );
-
 
469
 
-
 
470
					} else {
-
 
471
						List<Long> itemAvailability = inventoryClient.getItemAvailabilityAtLocation(sku, 1);
-
 
472
						fulfillmentWarehouse = inventoryClient.getWarehouse(itemAvailability.get(0));
-
 
473
						if(fulfillmentWarehouse.getStateId()!=0){
-
 
474
							fulfillmentWarehouse = inventoryClient.getWarehouse(7);
-
 
475
						}
-
 
476
					}
-
 
477
					t_order.setFulfilmentWarehouseId(fulfillmentWarehouse.getId());
476
				t_order.setFulfilmentWarehouseId(fulfillmentWarehouse.getId());
478
					long billingWarehouseId = 0;
477
				long billingWarehouseId = 0;
479
					if(fulfillmentWarehouse.getBillingWarehouseId()== 0) {
478
				if(fulfillmentWarehouse.getBillingWarehouseId()== 0) {
480
						inventoryClient = new InventoryClient().getClient();
479
					inventoryClient = new InventoryClient().getClient();
481
						List<Warehouse> warehouses = inventoryClient.getWarehouses(WarehouseType.OURS, InventoryType.GOOD, fulfillmentWarehouse.getVendor().getId(), 0, 0);
480
					List<Warehouse> warehouses = inventoryClient.getWarehouses(WarehouseType.OURS, InventoryType.GOOD, fulfillmentWarehouse.getVendor().getId(), 0, 0);
482
						for(Warehouse warehouse : warehouses) {
481
					for(Warehouse warehouse : warehouses) {
483
							if(warehouse.getBillingWarehouseId()!=0) {
482
						if(warehouse.getBillingWarehouseId()!=0) {
484
								billingWarehouseId = warehouse.getBillingWarehouseId();
483
							billingWarehouseId = warehouse.getBillingWarehouseId();
485
								break;
484
							break;
486
							}
-
 
487
						}
485
						}
488
					}else {
-
 
489
						billingWarehouseId = fulfillmentWarehouse.getBillingWarehouseId();
-
 
490
					}
-
 
491
 
-
 
492
					//logger.info("Billing warehouse id for suborderid  " + order.getSuborderId() + " is " + fulfillmentWarehouse.getBillingWarehouseId());
-
 
493
					t_order.setWarehouse_id(billingWarehouseId);
-
 
494
					VendorItemPricing vendorItemPricing = new VendorItemPricing();
-
 
495
					if(fulfillmentWarehouse.getId()==7) {
-
 
496
						Item item = new CatalogClient().getClient().getItem(lineItem.getItem_id());
-
 
497
						vendorItemPricing = inventoryClient.getItemPricing(lineItem.getItem_id(), item.getPreferredVendor());
-
 
498
					} else {
-
 
499
						vendorItemPricing = inventoryClient.getItemPricing(lineItem.getItem_id(), fulfillmentWarehouse.getVendor().getId());
-
 
500
					}
486
					}
-
 
487
				}else {
-
 
488
					billingWarehouseId = fulfillmentWarehouse.getBillingWarehouseId();
-
 
489
				}
501
 
490
 
502
					t_order.getLineitems().get(0).setTransfer_price(vendorItemPricing.getTransferPrice());
491
				//logger.info("Billing warehouse id for suborderid  " + order.getSuborderId() + " is " + fulfillmentWarehouse.getBillingWarehouseId());
503
					t_order.getLineitems().get(0).setNlc(vendorItemPricing.getNlc());
492
				t_order.setWarehouse_id(billingWarehouseId);
504
				} catch (InventoryServiceException e) {
493
				VendorItemPricing vendorItemPricing = new VendorItemPricing();
505
					logger.error("Error connecting inventory service for suborderid  " + orderId + " " + subOrderId , e);
-
 
506
					sb.append(orderId + " " + subOrderId+ " Inventory Service Exception" + " " + "\n");
-
 
507
					exit = true;
-
 
508
					continue;
-
 
509
				} catch (TTransportException e) {
494
				if(fulfillmentWarehouse.getId()==7) {
510
					logger.error("Transport Exception with Inventory Service for suborderid  " + orderId + " " + subOrderId , e);
-
 
511
					sb.append(orderId + " " + subOrderId + " Transport Exception with Inventory Service" + " " + "\n");
495
					Item item = new CatalogClient().getClient().getItem(lineItem.getItem_id());
512
					exit = true;
-
 
513
					continue;
-
 
514
				} catch (TException e) {
-
 
515
					logger.error("Exception with Inventory Service for suborderid  " + orderId + " " + subOrderId , e);
496
					vendorItemPricing = inventoryClient.getItemPricing(lineItem.getItem_id(), item.getPreferredVendor());
516
					sb.append(orderId + " " + subOrderId + " Exception in Inventory Service" + " " + "\n");
-
 
517
					exit = true;
-
 
518
					continue;
497
				} else {
519
				} catch (CatalogServiceException e) {
-
 
520
					logger.error("Exception with Catalog Service for   " + orderId + " " + subOrderId + " while getting item " + lineItem.getItem_id(), e);
498
					vendorItemPricing = inventoryClient.getItemPricing(lineItem.getItem_id(), fulfillmentWarehouse.getVendor().getId());
521
					sb.append(orderId + " " + subOrderId + " Exception in Catalog Service" + " " + "\n");
-
 
522
					exit = true;
-
 
523
					continue;
-
 
524
				}
499
				}
-
 
500
 
-
 
501
				t_order.getLineitems().get(0).setTransfer_price(vendorItemPricing.getTransferPrice());
525
				t_order.setLogistics_provider_id(FLIPKART_LOGISTICS_ID);
502
				t_order.getLineitems().get(0).setNlc(vendorItemPricing.getNlc());
526
				t_order.setAirwaybill_no("");
503
			} catch (InventoryServiceException e) {
-
 
504
				logger.error("Error connecting inventory service for suborderid  " + orderId + " " + subOrderId , e);
-
 
505
				sb.append(orderId + " " + subOrderId+ " Inventory Service Exception" + " " + "\n");
-
 
506
				exit = true;
527
				t_order.setTracking_id("");
507
				continue;
528
				t_order.setTotal_amount(unitSellingPrice);
508
			} catch (TTransportException e) {
-
 
509
				logger.error("Transport Exception with Inventory Service for suborderid  " + orderId + " " + subOrderId , e);
-
 
510
				sb.append(orderId + " " + subOrderId + " Transport Exception with Inventory Service" + " " + "\n");
-
 
511
				exit = true;
-
 
512
				continue;
529
				t_order.setOrderType(OrderType.B2C);
513
			} catch (TException e) {
-
 
514
				logger.error("Exception with Inventory Service for suborderid  " + orderId + " " + subOrderId , e);
530
				t_order.setSource(FLIPKART_SOURCE_ID);
515
				sb.append(orderId + " " + subOrderId + " Exception in Inventory Service" + " " + "\n");
-
 
516
				exit = true;
-
 
517
				continue;
531
				t_order.setOrderType(OrderType.B2C);
518
			} catch (CatalogServiceException e) {
-
 
519
				logger.error("Exception with Catalog Service for   " + orderId + " " + subOrderId + " while getting item " + lineItem.getItem_id(), e);
532
				total_price = total_price + unitSellingPrice;
520
				sb.append(orderId + " " + subOrderId + " Exception in Catalog Service" + " " + "\n");
533
				orderlist.add(t_order);
521
				exit = true;
-
 
522
				continue;
534
			}
523
			}
-
 
524
			t_order.setLogistics_provider_id(FLIPKART_LOGISTICS_ID);
-
 
525
			t_order.setAirwaybill_no("");
-
 
526
			t_order.setTracking_id("");
-
 
527
			t_order.setTotal_amount(unitSellingPrice);
-
 
528
			t_order.setOrderType(OrderType.B2C);
-
 
529
			t_order.setSource(FLIPKART_SOURCE_ID);
-
 
530
			t_order.setOrderType(OrderType.B2C);
-
 
531
			total_price = unitSellingPrice*quantity;
-
 
532
			orderlist.add(t_order);
535
			if(exit){
533
			if(exit){
536
				continue;
534
				continue;
537
			}
535
			}
538
			txn.setOrders(orderlist);
536
			txn.setOrders(orderlist);
539
			try {
537
			try {
Line 683... Line 681...
683
			logger.error("Exception ",e);
681
			logger.error("Exception ",e);
684
		}
682
		}
685
 
683
 
686
	}
684
	}
687
 
685
 
688
	public static LineItem createLineItem(long itemId, double amount) throws CatalogServiceException, TException {
686
	public static LineItem createLineItem(long itemId, double amount,int qty) throws CatalogServiceException, TException {
689
		LineItem lineItem = new LineItem();
687
		LineItem lineItem = new LineItem();
690
		CatalogService.Client catalogClient = new CatalogClient().getClient();
688
		CatalogService.Client catalogClient = new CatalogClient().getClient();
691
		Item item = catalogClient.getItem(itemId);
689
		Item item = catalogClient.getItem(itemId);
692
		if(item.getId()==0){
690
		if(item.getId()==0){
693
			//in case item id is incorrect..
691
			//in case item id is incorrect..
694
			return null;
692
			return null;
695
		}
693
		}
696
 
-
 
697
		lineItem.setProductGroup(item.getProductGroup());
694
		lineItem.setProductGroup(item.getProductGroup());
698
		lineItem.setBrand(item.getBrand());
695
		lineItem.setBrand(item.getBrand());
699
		lineItem.setModel_number(item.getModelNumber());
696
		lineItem.setModel_number(item.getModelNumber());
700
		lineItem.setModel_name(item.getModelName());
697
		lineItem.setModel_name(item.getModelName());
701
		lineItem.setExtra_info(item.getFeatureDescription());
698
		lineItem.setExtra_info(item.getFeatureDescription());
702
		lineItem.setQuantity(1);
699
		lineItem.setQuantity(qty);
703
		lineItem.setItem_id(item.getId());
700
		lineItem.setItem_id(item.getId());
704
		lineItem.setUnit_weight(item.getWeight());
701
		lineItem.setUnit_weight(item.getWeight());
705
		lineItem.setTotal_weight(item.getWeight());
702
		lineItem.setTotal_weight(item.getWeight());
706
		lineItem.setUnit_price(amount);
703
		lineItem.setUnit_price(amount);
707
		lineItem.setTotal_price(amount);
704
		lineItem.setTotal_price(amount*qty);
708
 
-
 
709
		if (item.getColor() == null || "NA".equals(item.getColor())) {
705
		if (item.getColor() == null || "NA".equals(item.getColor())) {
710
			lineItem.setColor("");
706
			lineItem.setColor("");
711
		} else {
707
		} else {
712
			lineItem.setColor(item.getColor());
708
			lineItem.setColor(item.getColor());
713
		}
709
		}