/** * 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; }
orderItem1.setCategory(category1); orderItem1.setName("test1"); orderItem1.setOrder(order); orderItem1.setOrderItemType(OrderItemType.DISCRETE); orderItem1.setProduct(product1); orderItem1.setSku(sku1); orderItem1.setId(getOrderItemId()); orderItem1.setOrder(order); orderItem2.setCategory(category2); orderItem2.setName("test2"); orderItem2.setOrder(order); orderItem2.setOrderItemType(OrderItemType.DISCRETE); orderItem2.setProduct(product2); orderItem2.setSku(sku2); orderItem2.setId(getOrderItemId()); orderItem2.setOrder(order);
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); }
@Test(groups = { "createFulfillmentGroupItem" }, dataProvider = "basicDiscreteOrderItem", dataProviderClass = OrderItemDataProvider.class, dependsOnGroups = { "createOrder", "createSku", "createItemFulfillmentGroup" }) @Rollback(false) @Transactional public void createFulfillmentGroupItem(DiscreteOrderItem orderItem) throws PricingException { Sku si = skuDao.readFirstSku(); orderItem.setSku(si); orderItem = (DiscreteOrderItem) orderItemDao.save(orderItem); orderItem.setOrder(salesOrder); salesOrder.addOrderItem(orderItem); orderDao.save(salesOrder); FulfillmentGroupItemRequest fulfillmentGroupItemRequest = new FulfillmentGroupItemRequest(); fulfillmentGroupItemRequest.setOrderItem(orderItem); fulfillmentGroupItemRequest.setFulfillmentGroup(fulfillmentGroup); fulfillmentGroupService.addItemToFulfillmentGroup(fulfillmentGroupItemRequest, true); FulfillmentGroupItem fgi = fulfillmentGroup.getFulfillmentGroupItems().get(fulfillmentGroup.getFulfillmentGroupItems().size()-1); assert fgi.getId() != null; fulfillmentGroupItemId = fgi.getId(); }
orderItem1.setCategory(category1); orderItem1.setName("test1"); orderItem1.setOrder(order); orderItem1.setOrderItemType(OrderItemType.DISCRETE); orderItem1.setProduct(product1); orderItem1.setSku(sku1); orderItem1.setId(getOrderItemId()); orderItem1.setOrder(order); orderItem2.setCategory(category2); orderItem2.setName("test2"); orderItem2.setOrder(order); orderItem2.setOrderItemType(OrderItemType.DISCRETE); orderItem2.setProduct(product2); orderItem2.setSku(sku2); orderItem2.setId(getOrderItemId()); orderItem2.setOrder(order);
@Override public CreateResponse<DiscreteOrderItem> createOrRetrieveCopyInstance(MultiTenantCopyContext context) throws CloneNotSupportedException { CreateResponse<DiscreteOrderItem> createResponse = super.createOrRetrieveCopyInstance(context); if (createResponse.isAlreadyPopulated()) { return createResponse; } DiscreteOrderItem cloned = createResponse.getClone(); cloned.setBaseRetailPrice(getBaseRetailPrice()); cloned.setBaseSalePrice(getBaseSalePrice()); cloned.setProduct(product); cloned.setSku(sku); cloned.setCategory(category); ((DiscreteOrderItemImpl)cloned).discountsAllowed = discountsAllowed; cloned.setName(name); // dont clone cloned.setOrder(order); return createResponse; }
orderItem.setPrice(new Money(BigDecimal.ZERO)); orderItem.setOrder(result);
newSkuBundleItem.setBundleOrderItem(bundleOrderItem); newSkuBundleItem.setQuantity(skuBundleItem.getQuantity()); newSkuBundleItem.setOrder(null); newOrderItem.setQuantity(skuMatches - skusRequired); newOrderItem = (DiscreteOrderItem) orderItemDao.save(newOrderItem); newOrderItem.setOrder(order); newOrderItem.updateSaleAndRetailPrices();
item.setOrder(order); List<OrderItem> orderItems = order.getOrderItems(); orderItems.add(item);
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.setOrder(order);
private FulfillmentGroup createTemporaryFulfillmentGroupWithSingleItem(Product product) { FulfillmentGroup fulfillmentGroup = createTemporaryFulfillmentGroup(); DiscreteOrderItem orderItem = (DiscreteOrderItem) orderItemDao.create(OrderItemType.DISCRETE); orderItem.setSku(product.getDefaultSku()); orderItem.setOrder(fulfillmentGroup.getOrder()); orderItem.setPrice(product.getDefaultSku().getPrice()); FulfillmentGroupItem fgi = fulfillmentGroupItemDao.create(); fgi.setFulfillmentGroup(fulfillmentGroup); fgi.setOrderItem(orderItem); fgi.setQuantity(1); fulfillmentGroup.addFulfillmentGroupItem(fgi); return fulfillmentGroup; }