public Order setUpAnonymousCartWithBundleGiftWrapReferringItemsInAnotherBundle() throws PricingException { Customer customer = customerService.saveCustomer(createNamedCustomer()); Order order = cartService.createNewCartForCustomer(customer); BundleOrderItem newBundle = (BundleOrderItem) orderService.addBundleItemToOrder(order, createBundleOrderItemRequest()); BundleOrderItem newBundle2 = (BundleOrderItem) orderService.addBundleItemToOrder(order, createBundleOrderItemRequestWithGiftWrap()); GiftWrapOrderItem giftItem = null; for (DiscreteOrderItem addedItem : newBundle2.getDiscreteOrderItems()) { if (addedItem instanceof GiftWrapOrderItem) { giftItem = (GiftWrapOrderItem) addedItem; } } for (DiscreteOrderItem addedItem : newBundle.getDiscreteOrderItems()) { addedItem.setGiftWrapOrderItem(giftItem); } giftItem.getWrappedItems().addAll(newBundle.getDiscreteOrderItems()); order = orderService.save(order, false); return order; }
public Order setUpAnonymousCartWithGiftWrap() throws PricingException { Customer customer = customerService.saveCustomer(createNamedCustomer()); Order order = cartService.createNewCartForCustomer(customer); Sku newSku = addTestSku("Small Plastic Crate", "Plastic Crate", "Crates"); Sku newInactiveSku = addTestSku("Small Red Plastic Crate", "Plastic Crate", "Crates"); Sku giftWrapSku = addTestSku("Gift Box", "Gift Box", "Gift Wraps"); Product newProduct = newSku.getAllParentProducts().get(0); Category newCategory = newProduct.getDefaultCategory(); List<OrderItem> addedItems = new ArrayList<OrderItem>(); addedItems.add( orderService.addSkuToOrder( order.getId(), newSku.getId(), newProduct.getId(), newCategory.getId(), 2)); addedItems.add( orderService.addSkuToOrder( order.getId(), newInactiveSku.getId(), newProduct.getId(), newCategory.getId(), 2)); orderService.addGiftWrapItemToOrder( order, createGiftWrapOrderItemRequest(giftWrapSku, 1, addedItems)); return order; }
public Order setUpAnonymousCartWithBundleGiftWrap() throws PricingException { Customer customer = customerService.saveCustomer(createNamedCustomer()); Order order = cartService.createNewCartForCustomer(customer); BundleOrderItemRequest itemRequest = createBundleOrderItemRequestWithGiftWrap(); BundleOrderItem newBundle = (BundleOrderItem) orderService.addBundleItemToOrder(order, itemRequest); List<OrderItem> addedItems = new ArrayList<OrderItem>(); GiftWrapOrderItem giftItem = null; for (DiscreteOrderItem addedItem : newBundle.getDiscreteOrderItems()) { if (addedItem instanceof GiftWrapOrderItem) { giftItem = (GiftWrapOrderItem) addedItem; } else { addedItems.add(addedItem); } } for (OrderItem addedItem : addedItems) { addedItem.setGiftWrapOrderItem(giftItem); } giftItem.getWrappedItems().addAll(addedItems); order = orderService.save(order, false); return order; }
public Order setUpExistingCart(Customer customer) throws PricingException { Sku newSku = addTestSku("Large Plastic Crate", "Plastic Crate", "Crates"); Sku newOtherSku = addTestSku("Large Red Plastic Crate", "Plastic Crate", "Crates"); Product newProduct = newSku.getAllParentProducts().get(0); Category newCategory = newProduct.getDefaultCategory(); Order order = cartService.createNewCartForCustomer(customer); orderService.addSkuToOrder( order.getId(), newSku.getId(), newProduct.getId(), newCategory.getId(), 2); orderService.addSkuToOrder( order.getId(), newOtherSku.getId(), newProduct.getId(), newCategory.getId(), 2); return order; }
public Order setUpExistingCartWithInactiveSkuAndInactiveBundle(Customer customer) throws PricingException { Sku newSku = addTestSku("Large Plastic Crate", "Plastic Crate", "Crates"); Sku newInactiveSku = addTestSku("Large Red Plastic Crate", "Plastic Crate", "Crates", false); Product newProduct = newSku.getAllParentProducts().get(0); Category newCategory = newProduct.getDefaultCategory(); Order order = cartService.createNewCartForCustomer(customer); orderService.addSkuToOrder( order.getId(), newSku.getId(), newProduct.getId(), newCategory.getId(), 2); orderService.addSkuToOrder( order.getId(), newInactiveSku.getId(), newProduct.getId(), newCategory.getId(), 2); orderService.addBundleItemToOrder(order, createBundleOrderItemRequest()); orderService.addBundleItemToOrder(order, createBundleOrderItemRequestWithInactiveSku()); return order; }
public Order setUpAnonymousCartWithInactiveBundleGiftWrap() throws PricingException { Customer customer = customerService.saveCustomer(createNamedCustomer()); Order order = cartService.createNewCartForCustomer(customer); Sku newSku = addTestSku("Small Plastic Crate", "Plastic Crate", "Crates"); Sku newInactiveSku = addTestSku("Small Red Plastic Crate", "Plastic Crate", "Crates", false); Sku giftWrapSku = addTestSku("Gift Box", "Gift Box", "Gift Wraps"); Category category = newSku.getAllParentProducts().get(0).getDefaultCategory(); List<DiscreteOrderItemRequest> discreteOrderItems = new ArrayList<DiscreteOrderItemRequest>(); discreteOrderItems.add(createDiscreteOrderItemRequest(newSku, 1)); discreteOrderItems.add(createDiscreteOrderItemRequest(newInactiveSku, 1)); discreteOrderItems.add( createGiftWrapOrderItemRequest(giftWrapSku, 1, new ArrayList<OrderItem>())); BundleOrderItemRequest itemRequest = new BundleOrderItemRequest(); itemRequest.setCategory(category); itemRequest.setName("test bundle " + bundleCount++); itemRequest.setQuantity(1); itemRequest.setDiscreteOrderItems(discreteOrderItems); BundleOrderItem newBundle = (BundleOrderItem) orderService.addBundleItemToOrder(order, itemRequest); List<OrderItem> addedItems = new ArrayList<OrderItem>(); GiftWrapOrderItem giftItem = null; for (DiscreteOrderItem addedItem : newBundle.getDiscreteOrderItems()) { if (addedItem instanceof GiftWrapOrderItem) { giftItem = (GiftWrapOrderItem) addedItem; } else { addedItems.add(addedItem); } } for (OrderItem addedItem : addedItems) { addedItem.setGiftWrapOrderItem(giftItem); } giftItem.getWrappedItems().addAll(addedItems); order = orderService.save(order, false); return order; }
public Order setUpAnonymousCartWithBundleGiftWrapReferringToRootItems() throws PricingException { Customer customer = customerService.saveCustomer(createNamedCustomer()); Order order = cartService.createNewCartForCustomer(customer); Sku newSku = addTestSku("Small Plastic Bowl", "Plastic Bowl", "Bowls"); Sku newActiveSku = addTestSku("Small Red Plastic Bowl", "Plastic Bowl", "Bowls"); Product newProduct = newSku.getAllParentProducts().get(0); Category newCategory = newProduct.getDefaultCategory(); List<OrderItem> addedItems = new ArrayList<OrderItem>(); addedItems.add( orderService.addSkuToOrder( order.getId(), newSku.getId(), newProduct.getId(), newCategory.getId(), 2)); addedItems.add( orderService.addSkuToOrder( order.getId(), newActiveSku.getId(), newProduct.getId(), newCategory.getId(), 2)); BundleOrderItem newBundle = (BundleOrderItem) orderService.addBundleItemToOrder(order, createBundleOrderItemRequestWithGiftWrap()); GiftWrapOrderItem giftItem = null; for (DiscreteOrderItem addedItem : newBundle.getDiscreteOrderItems()) { if (addedItem instanceof GiftWrapOrderItem) { giftItem = (GiftWrapOrderItem) addedItem; } } for (OrderItem addedItem : addedItems) { addedItem.setGiftWrapOrderItem(giftItem); } giftItem.getWrappedItems().addAll(addedItems); order = orderService.save(order, false); return order; }
// 1 进入团购的页面 @Action( value = "nextGrouponitemPage", interceptorRefs = {@InterceptorRef(value = "userActionStack")}, results = { @Result(name = SUCCESS, location = "/userPages/grouponitem.jsp"), @Result(name = "over", location = "/userPages/cart.jsp") }) public String nextGrouponitemPage() { User findUser = (User) ServletActionContext.getRequest().getSession().getAttribute("user"); // if() Groupon find = grouponService.getGroupon(groupon.getId()); Grouponitem grouponitem = new Grouponitem(); grouponitem.setId(page); grouponitem.setGroupon(find); Grouponitem findItem = grouponService.next(grouponitem); // 如果没有找到,那么意味着查询已经结束 if (findItem == null) { double fee = 0.0; int num = 0; List<Cart> result = new ArrayList<Cart>(); List<Cartitem> items = cartService.getGrouponitemsByUser(findUser.getId(), find.getId()); for (int i = 0; i < items.size(); i++) { Cartitem cartitem = items.get(i); num += cartitem.getNum(); if (cartitem.getSalesBook() == null) { if (cartitem.getBook().getDiscount() == 0.0) { cartitem.getBook().setDiscount(ConstantUtil.NEWBOOKDISCOUNT); } SalesBook newbookSalesBook = salesBookService.getSalesBookByIsbnSeller( cartitem.getBook().getIsbn(), ConstantUtil.NEWBOOKPRODUCT); float discount = ConstantUtil.NEWBOOKDISCOUNT; if (newbookSalesBook != null && newbookSalesBook.getDiscount() != null) { discount = newbookSalesBook.getDiscount(); } fee += cartitem.getNum() * Math.round(cartitem.getBook().getPrice() * discount * 10) / 10d; } else { fee += cartitem.getNum() * cartitem.getSalesBook().getPrice(); } Cart cart = cartitem.getCart(); Cart findCart = getCartByList(cart.getId(), result); if (findCart == null) { Cart cartResult = new Cart(); cartResult.setId(cart.getId()); cartResult.setSeller(cart.getSeller()); cartResult.setCartitems(new HashSet()); cartResult.setTotalFee(cart.getTotalFee()); cartResult.setUser(cart.getUser()); cartResult.getCartitems().add(cartitem); cartitem.setCart(cartResult); result.add(cartResult); } else { findCart.getCartitems().add(cartitem); cartitem.setCart(findCart); } } System.out.println(result.size()); ActionContext.getContext().getValueStack().set("carts", result); ActionContext.getContext().getValueStack().set("num", num); ActionContext.getContext().getValueStack().set("fee", Math.round(fee * 10) / 10d); return "over"; } Book book = bookService.getBookByIsbn(findItem.getBook().getIsbn()); // 如果没有拿到数据,则返回空 ServiceArea serviceArea = findUser.getSchool().getServiceArea(); // 如果找到了,查看新书供应商有没有此数据,如果没有,那么就给新书供应商加进去 SalesBook newbookSalesBook = salesBookService.getSalesBookByIsbnSeller( findItem.getBook().getIsbn(), ConstantUtil.NEWBOOKPRODUCT); Seller seller = sellerService.getSellerById(ConstantUtil.NEWBOOKPRODUCT); SalesBook model = salesBookService.getSalesBookByIsbnSeller(findItem.getBook().getIsbn(), seller.getId()); float bookDiscount; if (newbookSalesBook == null) { newbookSalesBook = new SalesBook(); newbookSalesBook.setSeller(seller); newbookSalesBook.setBook(book); newbookSalesBook.setTitle(book.getTitle()); newbookSalesBook.setAuthor(book.getAuthor()); newbookSalesBook.setStandardPrice(book.getPrice()); newbookSalesBook.setPublisher(book.getPublisher()); newbookSalesBook.setImage(book.getImage()); newbookSalesBook.setBigImage(book.getBigImage()); salesBookService.save(newbookSalesBook); } if (model == null) { model = newbookSalesBook; } if (newbookSalesBook.getDiscount() == null) { bookDiscount = ConstantUtil.NEWBOOKDISCOUNT; } else { bookDiscount = newbookSalesBook.getDiscount(); } ActionContext.getContext().getValueStack().set("bookDiscount", bookDiscount); newbookSalesBook.setDiscount(bookDiscount); newbookSalesBook.setPrice( Math.round(newbookSalesBook.getBook().getPrice() * bookDiscount * 10) / 10d); newbookSalesBook.setNum(999); SalesBook salesBook = newbookSalesBook; School findSchool = findUser.getSchool(); List<SellerBean> sellerBeans = salesBookService.getSellerBeans( newbookSalesBook.getBook().getIsbn(), findSchool.getServiceArea().getId()); int totalNum = cartService.getGrouponitemsByUser(findUser.getId(), find.getId()).size(); ActionContext.getContext().getValueStack().set("sellerBeans", sellerBeans); ActionContext.getContext().getValueStack().set("item", findItem); Seller newBookSeller = sellerService.getSellerById(ConstantUtil.NEWBOOKPRODUCT); ActionContext.getContext().getValueStack().set("totalNum", totalNum); ActionContext.getContext().getValueStack().set("model", model); ActionContext.getContext().getValueStack().set("newBookSeller", newBookSeller); ActionContext.getContext() .getValueStack() .set("price", Math.round(newbookSalesBook.getBook().getPrice() * bookDiscount * 10) / 10d); // 获得这个学校所有的团购项目 return SUCCESS; }