| Line 386... |
Line 386... |
| 386 |
List<in.shop2020.model.v1.order.Order> orderlist = new ArrayList<in.shop2020.model.v1.order.Order>();
|
386 |
List<in.shop2020.model.v1.order.Order> orderlist = new ArrayList<in.shop2020.model.v1.order.Order>();
|
| 387 |
double total_price=0;
|
387 |
double total_price=0;
|
| 388 |
InventoryService.Client inventoryClient = null;
|
388 |
InventoryService.Client inventoryClient = null;
|
| 389 |
Warehouse fulfillmentWarehouse= null;
|
389 |
Warehouse fulfillmentWarehouse= null;
|
| 390 |
boolean exit = false;
|
390 |
boolean exit = false;
|
| 391 |
for(int i=0;i<quantity;i++){
|
- |
|
| 392 |
LineItem lineItem = null;
|
391 |
LineItem lineItem = null;
|
| 393 |
lineItem = createLineItem(sku,unitSellingPrice);
|
392 |
lineItem = createLineItem(sku,unitSellingPrice,quantity);
|
| 394 |
logger.info(orderId+" "+subOrderId + "sku and Price " + sku + " " + unitSellingPrice);
|
393 |
logger.info(orderId+" "+subOrderId + "sku and Price " + sku + " " + unitSellingPrice);
|
| 395 |
lineItem.setExtra_info("flipkartOrderId = " + orderId + " flipkartsubOrderId = " + subOrderId);
|
394 |
lineItem.setExtra_info("flipkartOrderId = " + orderId + " flipkartsubOrderId = " + subOrderId);
|
| 396 |
in.shop2020.model.v1.order.Order t_order = new in.shop2020.model.v1.order.Order();
|
395 |
in.shop2020.model.v1.order.Order t_order = new in.shop2020.model.v1.order.Order();
|
| 397 |
t_order.setCustomer_id(user.getUserId());
|
396 |
t_order.setCustomer_id(user.getUserId());
|
| 398 |
t_order.setCustomer_email(sourceDetail.getEmail());
|
397 |
t_order.setCustomer_email(sourceDetail.getEmail());
|
| 399 |
t_order.setCustomer_name(shipToName);
|
398 |
t_order.setCustomer_name(shipToName);
|
| 400 |
addressLine1 = addressLine1.replaceAll("\"","");
|
399 |
addressLine1 = addressLine1.replaceAll("\"","");
|
| 401 |
t_order.setCustomer_address1(addressLine1);
|
400 |
t_order.setCustomer_address1(addressLine1);
|
| 402 |
addressLine2 = addressLine2.replaceAll("\"","");
|
401 |
addressLine2 = addressLine2.replaceAll("\"","");
|
| 403 |
t_order.setCustomer_address2(addressLine2);
|
402 |
t_order.setCustomer_address2(addressLine2);
|
| 404 |
t_order.setCustomer_mobilenumber("+91-9999999999");
|
403 |
t_order.setCustomer_mobilenumber("+91-9999999999");
|
| 405 |
t_order.setCustomer_city(city);
|
404 |
t_order.setCustomer_city(city);
|
| 406 |
t_order.setCustomer_state(state);
|
405 |
t_order.setCustomer_state(state);
|
| 407 |
t_order.setCustomer_pincode(pincode);
|
406 |
t_order.setCustomer_pincode(pincode);
|
| 408 |
t_order.setTotal_amount(unitSellingPrice);
|
407 |
t_order.setTotal_amount(unitSellingPrice);
|
| 409 |
t_order.setTotal_weight(lineItem.getTotal_weight());
|
408 |
t_order.setTotal_weight(lineItem.getTotal_weight());
|
| 410 |
t_order.setLineitems(Collections.singletonList(lineItem));
|
409 |
t_order.setLineitems(Collections.singletonList(lineItem));
|
| 411 |
t_order.setStatus(OrderStatus.PAYMENT_PENDING);
|
410 |
t_order.setStatus(OrderStatus.PAYMENT_PENDING);
|
| 412 |
t_order.setStatusDescription("In Process");
|
411 |
t_order.setStatusDescription("In Process");
|
| 413 |
t_order.setCreated_timestamp(new Date().getTime());
|
412 |
t_order.setCreated_timestamp(new Date().getTime());
|
| 414 |
t_order.setOrderType(OrderType.B2C);
|
413 |
t_order.setOrderType(OrderType.B2C);
|
| 415 |
t_order.setCod(false);
|
414 |
t_order.setCod(false);
|
| 416 |
try {
|
415 |
try {
|
| 417 |
Date shipDate = new Date();
|
416 |
Date shipDate = new Date();
|
| 418 |
shipDate.setTime( flipkartTxnDate.getTime() + sla*24*60*60*1000);
|
417 |
shipDate.setTime( flipkartTxnDate.getTime() + sla*24*60*60*1000);
|
| 419 |
Calendar time = Calendar.getInstance();
|
418 |
Calendar time = Calendar.getInstance();
|
| 420 |
t_order.setPromised_shipping_time(shipDate.getTime());
|
419 |
t_order.setPromised_shipping_time(shipDate.getTime());
|
| 421 |
t_order.setExpected_shipping_time(shipDate.getTime());
|
420 |
t_order.setExpected_shipping_time(shipDate.getTime());
|
| 422 |
time.add(Calendar.DAY_OF_MONTH, 4);
|
421 |
time.add(Calendar.DAY_OF_MONTH, 4);
|
| 423 |
t_order.setPromised_delivery_time(time.getTimeInMillis());
|
422 |
t_order.setPromised_delivery_time(time.getTimeInMillis());
|
| 424 |
t_order.setExpected_delivery_time(time.getTimeInMillis());
|
423 |
t_order.setExpected_delivery_time(time.getTimeInMillis());
|
| 425 |
} catch(Exception e) {
|
424 |
} catch(Exception e) {
|
| 426 |
logger.error("Error in updating Shipping or Delivery Time for suborderid " + subOrderId);
|
425 |
logger.error("Error in updating Shipping or Delivery Time for suborderid " + subOrderId);
|
| 427 |
sb.append(orderId + " "+ subOrderId + " Could not update delivery time" + " " + "\n");
|
426 |
sb.append(orderId + " "+ subOrderId + " Could not update delivery time" + " " + "\n");
|
| 428 |
exit = true;
|
427 |
exit = true;
|
| 429 |
continue;
|
428 |
continue;
|
| 430 |
}
|
429 |
}
|
| 431 |
SnapdealItem snapdealItem = new CatalogClient("catalog_service_server_host_amazon","catalog_service_server_port").getClient().getSnapdealItem(sku);
|
430 |
SnapdealItem snapdealItem = new CatalogClient("catalog_service_server_host_amazon","catalog_service_server_port").getClient().getSnapdealItem(sku);
|
| 432 |
inventoryClient = new InventoryClient().getClient();
|
431 |
inventoryClient = new InventoryClient().getClient();
|
| 433 |
try {
|
432 |
try {
|
| 434 |
logger.info("Snapdeal Item id is " + snapdealItem.getItem_id());
|
433 |
logger.info("Snapdeal Item id is " + snapdealItem.getItem_id());
|
| 435 |
if(snapdealItem.getItem_id()!=0 && snapdealItem.getWarehouseId()!=0) {
|
434 |
if(snapdealItem.getItem_id()!=0 && snapdealItem.getWarehouseId()!=0) {
|
| 436 |
logger.info("SnapdealItem Warehouse Id " + snapdealItem.getWarehouseId());
|
435 |
logger.info("SnapdealItem Warehouse Id " + snapdealItem.getWarehouseId());
|
| 437 |
fulfillmentWarehouse = inventoryClient.getWarehouse(snapdealItem.getWarehouseId());
|
436 |
fulfillmentWarehouse = inventoryClient.getWarehouse(snapdealItem.getWarehouseId());
|
| 438 |
logger.info("fulfillmentWarehouse is " + fulfillmentWarehouse.getId() + " " + fulfillmentWarehouse.getDisplayName() );
|
437 |
logger.info("fulfillmentWarehouse is " + fulfillmentWarehouse.getId() + " " + fulfillmentWarehouse.getDisplayName() );
|
| 439 |
|
438 |
|
| 440 |
} else {
|
439 |
} else {
|
| 441 |
List<Long> itemAvailability = inventoryClient.getItemAvailabilityAtLocation(sku, 1);
|
440 |
List<Long> itemAvailability = inventoryClient.getItemAvailabilityAtLocation(sku, 1);
|
| 442 |
fulfillmentWarehouse = inventoryClient.getWarehouse(itemAvailability.get(0));
|
441 |
fulfillmentWarehouse = inventoryClient.getWarehouse(itemAvailability.get(0));
|
| 443 |
if(fulfillmentWarehouse.getStateId()!=0){
|
442 |
if(fulfillmentWarehouse.getStateId()!=0){
|
| 444 |
fulfillmentWarehouse = inventoryClient.getWarehouse(7);
|
443 |
fulfillmentWarehouse = inventoryClient.getWarehouse(7);
|
| 445 |
}
|
- |
|
| 446 |
}
|
444 |
}
|
| - |
|
445 |
}
|
| 447 |
t_order.setFulfilmentWarehouseId(fulfillmentWarehouse.getId());
|
446 |
t_order.setFulfilmentWarehouseId(fulfillmentWarehouse.getId());
|
| 448 |
long billingWarehouseId = 0;
|
447 |
long billingWarehouseId = 0;
|
| 449 |
if(fulfillmentWarehouse.getBillingWarehouseId()== 0) {
|
448 |
if(fulfillmentWarehouse.getBillingWarehouseId()== 0) {
|
| 450 |
inventoryClient = new InventoryClient().getClient();
|
449 |
inventoryClient = new InventoryClient().getClient();
|
| 451 |
List<Warehouse> warehouses = inventoryClient.getWarehouses(WarehouseType.OURS, InventoryType.GOOD, fulfillmentWarehouse.getVendor().getId(), 0, 0);
|
450 |
List<Warehouse> warehouses = inventoryClient.getWarehouses(WarehouseType.OURS, InventoryType.GOOD, fulfillmentWarehouse.getVendor().getId(), 0, 0);
|
| 452 |
for(Warehouse warehouse : warehouses) {
|
451 |
for(Warehouse warehouse : warehouses) {
|
| 453 |
if(warehouse.getBillingWarehouseId()!=0) {
|
452 |
if(warehouse.getBillingWarehouseId()!=0) {
|
| 454 |
billingWarehouseId = warehouse.getBillingWarehouseId();
|
453 |
billingWarehouseId = warehouse.getBillingWarehouseId();
|
| 455 |
break;
|
454 |
break;
|
| 456 |
}
|
- |
|
| 457 |
}
|
455 |
}
|
| 458 |
}else {
|
- |
|
| 459 |
billingWarehouseId = fulfillmentWarehouse.getBillingWarehouseId();
|
- |
|
| 460 |
}
|
- |
|
| 461 |
|
- |
|
| 462 |
//logger.info("Billing warehouse id for suborderid " + order.getSuborderId() + " is " + fulfillmentWarehouse.getBillingWarehouseId());
|
- |
|
| 463 |
t_order.setWarehouse_id(billingWarehouseId);
|
- |
|
| 464 |
VendorItemPricing vendorItemPricing = new VendorItemPricing();
|
- |
|
| 465 |
if(fulfillmentWarehouse.getId()==7) {
|
- |
|
| 466 |
Item item = new CatalogClient().getClient().getItem(lineItem.getItem_id());
|
- |
|
| 467 |
vendorItemPricing = inventoryClient.getItemPricing(lineItem.getItem_id(), item.getPreferredVendor());
|
- |
|
| 468 |
} else {
|
- |
|
| 469 |
vendorItemPricing = inventoryClient.getItemPricing(lineItem.getItem_id(), fulfillmentWarehouse.getVendor().getId());
|
- |
|
| 470 |
}
|
456 |
}
|
| - |
|
457 |
}else {
|
| - |
|
458 |
billingWarehouseId = fulfillmentWarehouse.getBillingWarehouseId();
|
| - |
|
459 |
}
|
| 471 |
|
460 |
|
| 472 |
t_order.getLineitems().get(0).setTransfer_price(vendorItemPricing.getTransferPrice());
|
461 |
//logger.info("Billing warehouse id for suborderid " + order.getSuborderId() + " is " + fulfillmentWarehouse.getBillingWarehouseId());
|
| 473 |
t_order.getLineitems().get(0).setNlc(vendorItemPricing.getNlc());
|
462 |
t_order.setWarehouse_id(billingWarehouseId);
|
| 474 |
} catch (InventoryServiceException e) {
|
463 |
VendorItemPricing vendorItemPricing = new VendorItemPricing();
|
| 475 |
logger.error("Error connecting inventory service for suborderid " + orderId + " " + subOrderId , e);
|
- |
|
| 476 |
sb.append(orderId + " " + subOrderId+ " Inventory Service Exception" + " " + "\n");
|
- |
|
| 477 |
exit = true;
|
- |
|
| 478 |
continue;
|
- |
|
| 479 |
} catch (TTransportException e) {
|
464 |
if(fulfillmentWarehouse.getId()==7) {
|
| 480 |
logger.error("Transport Exception with Inventory Service for suborderid " + orderId + " " + subOrderId , e);
|
- |
|
| 481 |
sb.append(orderId + " " + subOrderId + " Transport Exception with Inventory Service" + " " + "\n");
|
465 |
Item item = new CatalogClient().getClient().getItem(lineItem.getItem_id());
|
| 482 |
exit = true;
|
- |
|
| 483 |
continue;
|
- |
|
| 484 |
} catch (TException e) {
|
- |
|
| 485 |
logger.error("Exception with Inventory Service for suborderid " + orderId + " " + subOrderId , e);
|
466 |
vendorItemPricing = inventoryClient.getItemPricing(lineItem.getItem_id(), item.getPreferredVendor());
|
| 486 |
sb.append(orderId + " " + subOrderId + " Exception in Inventory Service" + " " + "\n");
|
- |
|
| 487 |
exit = true;
|
- |
|
| 488 |
continue;
|
467 |
} else {
|
| 489 |
} catch (CatalogServiceException e) {
|
- |
|
| 490 |
logger.error("Exception with Catalog Service for " + orderId + " " + subOrderId + " while getting item " + lineItem.getItem_id(), e);
|
468 |
vendorItemPricing = inventoryClient.getItemPricing(lineItem.getItem_id(), fulfillmentWarehouse.getVendor().getId());
|
| 491 |
sb.append(orderId + " " + subOrderId + " Exception in Catalog Service" + " " + "\n");
|
- |
|
| 492 |
exit = true;
|
- |
|
| 493 |
continue;
|
- |
|
| 494 |
}
|
469 |
}
|
| - |
|
470 |
|
| - |
|
471 |
t_order.getLineitems().get(0).setTransfer_price(vendorItemPricing.getTransferPrice());
|
| 495 |
t_order.setLogistics_provider_id(FLIPKART_LOGISTICS_ID);
|
472 |
t_order.getLineitems().get(0).setNlc(vendorItemPricing.getNlc());
|
| 496 |
t_order.setAirwaybill_no("");
|
473 |
} catch (InventoryServiceException e) {
|
| - |
|
474 |
logger.error("Error connecting inventory service for suborderid " + orderId + " " + subOrderId , e);
|
| - |
|
475 |
sb.append(orderId + " " + subOrderId+ " Inventory Service Exception" + " " + "\n");
|
| - |
|
476 |
exit = true;
|
| 497 |
t_order.setTracking_id("");
|
477 |
continue;
|
| 498 |
t_order.setTotal_amount(unitSellingPrice);
|
478 |
} catch (TTransportException e) {
|
| - |
|
479 |
logger.error("Transport Exception with Inventory Service for suborderid " + orderId + " " + subOrderId , e);
|
| - |
|
480 |
sb.append(orderId + " " + subOrderId + " Transport Exception with Inventory Service" + " " + "\n");
|
| 499 |
t_order.setOrderType(OrderType.B2C);
|
481 |
exit = true;
|
| - |
|
482 |
continue;
|
| 500 |
t_order.setSource(FLIPKART_SOURCE_ID);
|
483 |
} catch (TException e) {
|
| - |
|
484 |
logger.error("Exception with Inventory Service for suborderid " + orderId + " " + subOrderId , e);
|
| - |
|
485 |
sb.append(orderId + " " + subOrderId + " Exception in Inventory Service" + " " + "\n");
|
| - |
|
486 |
exit = true;
|
| - |
|
487 |
continue;
|
| 501 |
t_order.setOrderType(OrderType.B2C);
|
488 |
} catch (CatalogServiceException e) {
|
| - |
|
489 |
logger.error("Exception with Catalog Service for " + orderId + " " + subOrderId + " while getting item " + lineItem.getItem_id(), e);
|
| 502 |
total_price = total_price + unitSellingPrice;
|
490 |
sb.append(orderId + " " + subOrderId + " Exception in Catalog Service" + " " + "\n");
|
| 503 |
orderlist.add(t_order);
|
491 |
exit = true;
|
| - |
|
492 |
continue;
|
| 504 |
}
|
493 |
}
|
| - |
|
494 |
t_order.setLogistics_provider_id(FLIPKART_LOGISTICS_ID);
|
| - |
|
495 |
t_order.setAirwaybill_no("");
|
| - |
|
496 |
t_order.setTracking_id("");
|
| - |
|
497 |
t_order.setTotal_amount(unitSellingPrice);
|
| - |
|
498 |
t_order.setOrderType(OrderType.B2C);
|
| - |
|
499 |
t_order.setSource(FLIPKART_SOURCE_ID);
|
| - |
|
500 |
t_order.setOrderType(OrderType.B2C);
|
| - |
|
501 |
total_price = unitSellingPrice*quantity;
|
| - |
|
502 |
orderlist.add(t_order);
|
| 505 |
if(exit){
|
503 |
if(exit){
|
| 506 |
continue;
|
504 |
continue;
|
| 507 |
}
|
505 |
}
|
| 508 |
txn.setOrders(orderlist);
|
506 |
txn.setOrders(orderlist);
|
| 509 |
try {
|
507 |
try {
|
| Line 740... |
Line 738... |
| 740 |
public void setServletRequest(HttpServletRequest request) {
|
738 |
public void setServletRequest(HttpServletRequest request) {
|
| 741 |
this.request = request;
|
739 |
this.request = request;
|
| 742 |
this.session = request.getSession();
|
740 |
this.session = request.getSession();
|
| 743 |
|
741 |
|
| 744 |
}
|
742 |
}
|
| 745 |
public static LineItem createLineItem(long itemId, double amount) throws CatalogServiceException, TException {
|
743 |
public static LineItem createLineItem(long itemId, double amount,int qty) throws CatalogServiceException, TException {
|
| 746 |
LineItem lineItem = new LineItem();
|
744 |
LineItem lineItem = new LineItem();
|
| 747 |
CatalogService.Client catalogClient = new CatalogClient().getClient();
|
745 |
CatalogService.Client catalogClient = new CatalogClient().getClient();
|
| 748 |
Item item = catalogClient.getItem(itemId);
|
746 |
Item item = catalogClient.getItem(itemId);
|
| 749 |
if(item.getId()==0){
|
747 |
if(item.getId()==0){
|
| 750 |
//in case item id is incorrect..
|
748 |
//in case item id is incorrect..
|
| Line 754... |
Line 752... |
| 754 |
lineItem.setProductGroup(item.getProductGroup());
|
752 |
lineItem.setProductGroup(item.getProductGroup());
|
| 755 |
lineItem.setBrand(item.getBrand());
|
753 |
lineItem.setBrand(item.getBrand());
|
| 756 |
lineItem.setModel_number(item.getModelNumber());
|
754 |
lineItem.setModel_number(item.getModelNumber());
|
| 757 |
lineItem.setModel_name(item.getModelName());
|
755 |
lineItem.setModel_name(item.getModelName());
|
| 758 |
lineItem.setExtra_info(item.getFeatureDescription());
|
756 |
lineItem.setExtra_info(item.getFeatureDescription());
|
| 759 |
lineItem.setQuantity(1);
|
757 |
lineItem.setQuantity(qty);
|
| 760 |
lineItem.setItem_id(item.getId());
|
758 |
lineItem.setItem_id(item.getId());
|
| 761 |
lineItem.setUnit_weight(item.getWeight());
|
759 |
lineItem.setUnit_weight(item.getWeight());
|
| 762 |
lineItem.setTotal_weight(item.getWeight());
|
760 |
lineItem.setTotal_weight(item.getWeight());
|
| 763 |
lineItem.setUnit_price(amount);
|
761 |
lineItem.setUnit_price(amount);
|
| 764 |
lineItem.setTotal_price(amount);
|
762 |
lineItem.setTotal_price(amount*qty);
|
| 765 |
|
- |
|
| 766 |
if (item.getColor() == null || "NA".equals(item.getColor())) {
|
763 |
if (item.getColor() == null || "NA".equals(item.getColor())) {
|
| 767 |
lineItem.setColor("");
|
764 |
lineItem.setColor("");
|
| 768 |
} else {
|
765 |
} else {
|
| 769 |
lineItem.setColor(item.getColor());
|
766 |
lineItem.setColor(item.getColor());
|
| 770 |
}
|
767 |
}
|