@Override public OrderItem clone() { DiscreteOrderItem orderItem = (DiscreteOrderItem) super.clone(); if (discreteOrderItemFeePrices != null) { for (DiscreteOrderItemFeePrice feePrice : discreteOrderItemFeePrices) { DiscreteOrderItemFeePrice cloneFeePrice = feePrice.clone(); cloneFeePrice.setDiscreteOrderItem(orderItem); orderItem.getDiscreteOrderItemFeePrices().add(cloneFeePrice); } } if (additionalAttributes != null) { orderItem.getAdditionalAttributes().putAll(additionalAttributes); } orderItem.setBaseRetailPrice(convertToMoney(baseRetailPrice)); orderItem.setBaseSalePrice(convertToMoney(baseSalePrice)); orderItem.setBundleOrderItem(bundleOrderItem); orderItem.setProduct(product); orderItem.setSku(sku); if (orderItem.getOrder() == null) { throw new IllegalStateException("Either an Order or a BundleOrderItem must be set on the DiscreteOrderItem"); } return orderItem; }
@Test(groups = { "createDiscreteOrderItem" }, dataProvider = "basicDiscreteOrderItem", dataProviderClass = OrderItemDataProvider.class, dependsOnGroups = { "createOrder", "createSku" }) @Rollback(false) @Transactional public void createDiscreteOrderItem(DiscreteOrderItem orderItem) { Sku si = skuDao.readFirstSku(); assert si.getId() != null; orderItem.setSku(si); assert orderItem.getId() == null; orderItem = (DiscreteOrderItem) orderItemDao.save(orderItem); assert orderItem.getId() != null; orderItemId = orderItem.getId(); }
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(); }
@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.setSku(sku);
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.setSku(sku); item.setQuantity(1); 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; }