@Override public GiftWrapOrderItem createGiftWrapOrderItem(final GiftWrapOrderItemRequest itemRequest) { final GiftWrapOrderItem item = (GiftWrapOrderItem) orderItemDao.create(OrderItemType.GIFTWRAP); item.setSku(itemRequest.getSku()); item.setOrder(itemRequest.getOrder()); item.setBundleOrderItem(itemRequest.getBundleOrderItem()); item.setQuantity(itemRequest.getQuantity()); item.setCategory(itemRequest.getCategory()); item.setProduct(itemRequest.getProduct()); item.setBaseSalePrice(itemRequest.getSku().getSalePrice()); item.setBaseRetailPrice(itemRequest.getSku().getRetailPrice()); item.setDiscreteOrderItemFeePrices(itemRequest.getDiscreteOrderItemFeePrices()); item.setSalePriceOverride(Boolean.TRUE); item.setSalePrice(itemRequest.getSalePriceOverride()); item.setBaseSalePrice(itemRequest.getSalePriceOverride()); item.setRetailPriceOverride(Boolean.TRUE); item.setRetailPrice(itemRequest.getRetailPriceOverride()); item.setBaseRetailPrice(itemRequest.getRetailPriceOverride()); item.updateSaleAndRetailPrices(); item.assignFinalPrice(); item.getWrappedItems().addAll(itemRequest.getWrappedItems()); for (OrderItem orderItem : item.getWrappedItems()) { orderItem.setGiftWrapOrderItem(item);
@Test(groups = { "createGiftWrapOrderItem" }, dataProvider = "basicGiftWrapOrderItem", dataProviderClass = OrderItemDataProvider.class, dependsOnGroups = { "readOrderItemsById" }) @Rollback(false) @Transactional public void createGiftWrapOrderItem(GiftWrapOrderItem orderItem) { Sku si = skuDao.readFirstSku(); assert si.getId() != null; orderItem.setSku(si); assert orderItem.getId() == null; OrderItem discreteItem = orderItemDao.readOrderItemById(orderItemId); orderItem.getWrappedItems().add(discreteItem); discreteItem.setGiftWrapOrderItem(orderItem); orderItem = (GiftWrapOrderItem) orderItemDao.save(orderItem); assert orderItem.getId() != null; giftWrapItemId = orderItem.getId(); }
item.setSku(sku); item.setQuantity(1); item.setOrder(order); item.getWrappedItems().add(item1); item.setOrderItemType(OrderItemType.GIFTWRAP);
@Override public OrderItem clone() { GiftWrapOrderItem orderItem = (GiftWrapOrderItem) super.clone(); if (wrappedItems != null) orderItem.getWrappedItems().addAll(wrappedItems); return orderItem; }
@Override @Transactional("blTransactionManager") public OrderItem addGiftWrapItemToOrder(Order order, GiftWrapOrderItemRequest itemRequest, boolean priceOrder) throws PricingException { GiftWrapOrderItem item = orderItemService.createGiftWrapOrderItem(itemRequest); item.setOrder(order); item = (GiftWrapOrderItem) orderItemService.saveOrderItem(item); order.getOrderItems().add(item); order = save(order, priceOrder); return item; }
@Override @Transactional("blTransactionManager") public void delete(OrderItem orderItem) { if (!em.contains(orderItem)) { orderItem = readOrderItemById(orderItem.getId()); } if (GiftWrapOrderItem.class.isAssignableFrom(orderItem.getClass())) { final GiftWrapOrderItem giftItem = (GiftWrapOrderItem) orderItem; for (OrderItem wrappedItem : giftItem.getWrappedItems()) { wrappedItem.setGiftWrapOrderItem(null); wrappedItem = save(wrappedItem); } } em.remove(orderItem); em.flush(); }
GiftWrapOrderItem giftWrapOrderItem = (GiftWrapOrderItem) addedItem; boolean removeItem = false; for (OrderItem wrappedItem : giftWrapOrderItem.getWrappedItems()) { if (mergeCartResponse.getRemovedItems().contains(wrappedItem)) { removeItem = true; for (OrderItem wrappedItem : giftWrapOrderItem.getWrappedItems()) { wrappedItem.setGiftWrapOrderItem(null); giftWrapOrderItem.getWrappedItems().clear(); for (OrderItem cartItem : customerCart.getOrderItems()) { if (cartItem.getGiftWrapOrderItem() != null && oldNewItemMap.containsKey(cartItem.getGiftWrapOrderItem())) {
@Test(groups = { "readGiftWrapOrderItemsById" }, dependsOnGroups = { "createGiftWrapOrderItem" }) @Transactional public void readGiftWrapOrderItemsById() { assert giftWrapItemId != null; OrderItem result = orderItemDao.readOrderItemById(giftWrapItemId); assert result != null; assert result.getId().equals(giftWrapItemId); assert ((GiftWrapOrderItem) result).getWrappedItems().get(0).getId().equals(orderItemId); }
GiftWrapOrderItem giftItem = (GiftWrapOrderItem) addedItem; List<OrderItem> itemsToAdd = new ArrayList<OrderItem>(); Iterator<OrderItem> wrappedItems = giftItem.getWrappedItems().iterator(); while (wrappedItems.hasNext()) { OrderItem wrappedItem = wrappedItems.next(); giftItem.getWrappedItems().addAll(itemsToAdd); } else if (addedItem instanceof BundleOrderItem) { GiftWrapOrderItem giftItem = (GiftWrapOrderItem) itemFromBundle; List<OrderItem> itemsToAdd = new ArrayList<OrderItem>(); Iterator<OrderItem> wrappedItems = giftItem.getWrappedItems().iterator(); while (wrappedItems.hasNext()) { OrderItem wrappedItem = wrappedItems.next(); giftItem.getWrappedItems().addAll(itemsToAdd);
@Override public CreateResponse<DiscreteOrderItem> createOrRetrieveCopyInstance(MultiTenantCopyContext context) throws CloneNotSupportedException { CreateResponse<DiscreteOrderItem> createResponse = super.createOrRetrieveCopyInstance(context); if (createResponse.isAlreadyPopulated()) { return createResponse; } GiftWrapOrderItem cloned = (GiftWrapOrderItem)createResponse.getClone(); for(OrderItem entry : wrappedItems){ OrderItem clonedEntry = ((OrderItemImpl)entry).createOrRetrieveCopyInstance(context).getClone(); clonedEntry.setGiftWrapOrderItem(cloned); cloned.getWrappedItems().add(clonedEntry); } return createResponse; }
for (OrderItem wrappedItem : ((GiftWrapOrderItem) orderItem).getWrappedItems()) { if (itemsToRemove.contains(wrappedItem)) { itemsToRemove.add(orderItem);
for (OrderItem wrappedItem : ((GiftWrapOrderItem) orderItem).getWrappedItems()) { if (itemsToRemove.contains(wrappedItem)) { itemsToRemove.add(orderItem);
if (orderItem instanceof GiftWrapOrderItem && ((GiftWrapOrderItem) orderItem).getWrappedItems().size() == 1) { foundGiftItemAndCorrectQuantity = true; break;
@Override protected List<USPSContainerItemRequest> createPackages(FulfillmentGroup fulfillmentGroup) throws ShippingPriceException { List<USPSContainerItemRequest> itemRequests = new ArrayList<USPSContainerItemRequest>(); for (FulfillmentGroupItem fgItem : fulfillmentGroup.getFulfillmentGroupItems()) { List<DiscreteOrderItem> discreteItems = new ArrayList<DiscreteOrderItem>(); OrderItem orderItem = fgItem.getOrderItem(); if(BundleOrderItem.class.isAssignableFrom(orderItem.getClass())) { discreteItems.addAll(((BundleOrderItem) orderItem).getDiscreteOrderItems()); } else if (GiftWrapOrderItem.class.isAssignableFrom(orderItem.getClass())) { List<OrderItem> wrappedItems = ((GiftWrapOrderItem) orderItem).getWrappedItems(); if (!fulfillmentGroup.getOrder().getOrderItems().containsAll(wrappedItems)){ throw new ShippingPriceException("To price shipping correctly, the items contained in the GiftWrapOrderItem must also individually appear in the order, not just in the wrappedItems collection of GiftWrapOrderItem."); } continue; } else if (DiscreteOrderItem.class.isAssignableFrom(orderItem.getClass())) { discreteItems.add((DiscreteOrderItem) orderItem); } int counter = 0; for (DiscreteOrderItem discreteItem : discreteItems) { itemRequests.add(createRequest(fulfillmentGroup, discreteItem, counter)); counter++; } } return itemRequests; }