/** * Removes all automatic bundles from the order and replaces with DiscreteOrderItems. * * @param order */ private List<DiscreteOrderItem> unBundleItems(Order order) throws PricingException{ List<DiscreteOrderItem> unbundledItems = null; for (OrderItem orderItem : order.getOrderItems()) { if (orderItem instanceof BundleOrderItem) { BundleOrderItem bundleOrderItem = (BundleOrderItem) orderItem; if (bundleOrderItem.getProductBundle() != null && bundleOrderItem.getProductBundle().getAutoBundle()) { if (unbundledItems == null) { unbundledItems = new ArrayList<DiscreteOrderItem>(); } for(DiscreteOrderItem item : bundleOrderItem.getDiscreteOrderItems()) { DiscreteOrderItem newOrderItem = (DiscreteOrderItem) item.clone(); newOrderItem.setQuantity(item.getQuantity() * bundleOrderItem.getQuantity()); newOrderItem.setSkuBundleItem(null); newOrderItem.setBundleOrderItem(null); newOrderItem.updateSaleAndRetailPrices(); newOrderItem.setOrder(order); unbundledItems.add(newOrderItem); } } } } return unbundledItems; }
protected void populateDiscreteOrderItem(DiscreteOrderItem item, AbstractOrderItemRequest itemRequest) { item.setSku(itemRequest.getSku()); item.setQuantity(itemRequest.getQuantity()); item.setCategory(itemRequest.getCategory()); item.setProduct(itemRequest.getProduct()); item.setOrder(itemRequest.getOrder()); Map<String, String> attributes = itemRequest.getItemAttributes(); populateProductOptionAttributes(item, attributes); applyAdditionalOrderItemProperties(item); }
newSkuBundleItem.setSkuBundleItem(skuBundleItem); newSkuBundleItem.setBundleOrderItem(bundleOrderItem); newSkuBundleItem.setQuantity(skuBundleItem.getQuantity()); newSkuBundleItem.setOrder(null); newOrderItem.setBundleOrderItem(null); newOrderItem.setSkuBundleItem(null); newOrderItem.setQuantity(skuMatches - skusRequired); newOrderItem = (DiscreteOrderItem) orderItemDao.save(newOrderItem); newOrderItem.setOrder(order);
private void addSampleItemToOrder(Order order, FulfillmentGroup group) { DiscreteOrderItem item = new DiscreteOrderItemImpl(); item.setOrder(order); item.setQuantity(1); Sku newSku = new SkuImpl(); newSku.setName("Under Armor T-Shirt -- Red"); newSku.setRetailPrice(new Money(14.99)); newSku.setActiveStartDate(SystemTime.asDate()); newSku.setDiscountable(false); newSku = catalogService.saveSku(newSku); item.setSku(newSku); item = (DiscreteOrderItem) orderItemService.saveOrderItem(item); List<OrderItem> items = new ArrayList<>(); items.add(item); order.setOrderItems(items); FulfillmentGroupItem fgItem = new FulfillmentGroupItemImpl(); fgItem.setFulfillmentGroup(group); fgItem.setOrderItem(item); fgItem.setQuantity(1); //fgItem.setPrice(new Money(0D)); group.addFulfillmentGroupItem(fgItem); }
private DiscreteOrderItem createDiscreteOrderItem(Long skuId, Double retailPrice, Double salePrice, boolean isDiscountable, int quantity, Order order) { DiscreteOrderItem item = new DiscreteOrderItemImpl(); Sku sku = catalogService.findSkuById(skuId); sku.setRetailPrice(new Money(retailPrice)); if (salePrice != null) { sku.setSalePrice(new Money(salePrice)); } else { sku.setSalePrice(null); } sku.setDiscountable(isDiscountable); sku.setName("test"); sku = catalogService.saveSku(sku); item.setSku(sku); item.setQuantity(quantity); Product product = new ProductImpl(); product.setDefaultSku(sku); product = catalogService.saveProduct(product); item.setProduct(product); item.setOrder(order); item = (DiscreteOrderItem) orderItemService.saveOrderItem(item); return item; } }
item.setQuantity(1); item.setOrder(order);
item.setQuantity(2); item.setOrder(order); item.setQuantity(1); item.setOrder(order);
orderItem1.setOrderItemType(OrderItemType.DISCRETE); orderItem1.setProduct(product1); orderItem1.setQuantity(2); orderItem1.setSku(sku1); orderItem1.setId(getOrderItemId()); orderItem2.setOrderItemType(OrderItemType.DISCRETE); orderItem2.setProduct(product2); orderItem2.setQuantity(3); orderItem2.setSku(sku2); orderItem2.setId(getOrderItemId());
item1.setQuantity(2); item1.setOrder(order); item1.setOrderItemType(OrderItemType.DISCRETE); item.setQuantity(1); item.setOrder(order); item.setOrderItemType(OrderItemType.DISCRETE);
orderItem1.setOrderItemType(OrderItemType.DISCRETE); orderItem1.setProduct(product1); orderItem1.setQuantity(2); orderItem1.setSku(sku1); orderItem1.setId(getOrderItemId()); orderItem2.setOrderItemType(OrderItemType.DISCRETE); orderItem2.setProduct(product2); orderItem2.setQuantity(3); orderItem2.setSku(sku2); orderItem2.setId(getOrderItemId());