Search in sources :

Example 6 with Country

use of org.broadleafcommerce.profile.core.domain.Country in project BroadleafCommerce by BroadleafCommerce.

the class InitBinderServiceImpl method configAddressInitBinder.

@Override
public void configAddressInitBinder(ServletRequestDataBinder binder) {
    /**
     * @deprecated - address.setState() is deprecated in favor of ISO standardization
     * This is here for legacy compatibility
     */
    binder.registerCustomEditor(State.class, "address.state", new PropertyEditorSupport() {

        @Override
        public void setAsText(String text) {
            if (StringUtils.isNotEmpty(text)) {
                State state = stateService.findStateByAbbreviation(text);
                setValue(state);
            } else {
                setValue(null);
            }
        }
    });
    /**
     * @deprecated - address.setCountry() is deprecated in favor of ISO standardization
     * This is here for legacy compatibility
     */
    binder.registerCustomEditor(Country.class, "address.country", new PropertyEditorSupport() {

        @Override
        public void setAsText(String text) {
            if (StringUtils.isNotEmpty(text)) {
                Country country = countryService.findCountryByAbbreviation(text);
                setValue(country);
            } else {
                setValue(null);
            }
        }
    });
    binder.registerCustomEditor(ISOCountry.class, "address.isoCountryAlpha2", new PropertyEditorSupport() {

        @Override
        public void setAsText(String text) {
            if (StringUtils.isNotEmpty(text)) {
                ISOCountry isoCountry = isoService.findISOCountryByAlpha2Code(text);
                setValue(isoCountry);
            } else {
                setValue(null);
            }
        }
    });
    binder.registerCustomEditor(Phone.class, "address.phonePrimary", new PropertyEditorSupport() {

        @Override
        public void setAsText(String text) {
            Phone phone = new PhoneImpl();
            phone.setPhoneNumber(text);
            setValue(phone);
        }
    });
    binder.registerCustomEditor(Phone.class, "address.phoneSecondary", new PropertyEditorSupport() {

        @Override
        public void setAsText(String text) {
            Phone phone = new PhoneImpl();
            phone.setPhoneNumber(text);
            setValue(phone);
        }
    });
    binder.registerCustomEditor(Phone.class, "address.phoneFax", new PropertyEditorSupport() {

        @Override
        public void setAsText(String text) {
            Phone phone = new PhoneImpl();
            phone.setPhoneNumber(text);
            setValue(phone);
        }
    });
}
Also used : State(org.broadleafcommerce.profile.core.domain.State) Phone(org.broadleafcommerce.profile.core.domain.Phone) Country(org.broadleafcommerce.profile.core.domain.Country) ISOCountry(org.broadleafcommerce.common.i18n.domain.ISOCountry) PhoneImpl(org.broadleafcommerce.profile.core.domain.PhoneImpl) PropertyEditorSupport(java.beans.PropertyEditorSupport) ISOCountry(org.broadleafcommerce.common.i18n.domain.ISOCountry)

Example 7 with Country

use of org.broadleafcommerce.profile.core.domain.Country in project BroadleafCommerce by BroadleafCommerce.

the class PricingTest method testPricing.

@Test(groups = { "testPricing" }, dependsOnGroups = { "testShippingInsert", "createCustomerIdGeneration" })
@Transactional
public void testPricing() throws Exception {
    Order order = orderService.createNewCartForCustomer(createCustomer());
    customerService.saveCustomer(order.getCustomer());
    Country country = new CountryImpl();
    country.setAbbreviation("US");
    country.setName("United States");
    country = countryService.save(country);
    ISOCountry isoCountry = new ISOCountryImpl();
    isoCountry.setAlpha2("US");
    isoCountry.setName("UNITED STATES");
    isoCountry = isoService.save(isoCountry);
    State state = new StateImpl();
    state.setAbbreviation("TX");
    state.setName("Texas");
    state.setCountry(country);
    state = stateService.save(state);
    Address address = new AddressImpl();
    address.setAddressLine1("123 Test Rd");
    address.setCity("Dallas");
    address.setFirstName("Jeff");
    address.setLastName("Fischer");
    address.setPostalCode("75240");
    address.setPrimaryPhone("972-978-9067");
    address.setState(state);
    address.setCountry(country);
    address.setIsoCountrySubdivision("US-TX");
    address.setIsoCountryAlpha2(isoCountry);
    FulfillmentGroup group = new FulfillmentGroupImpl();
    group.setAddress(address);
    List<FulfillmentGroup> groups = new ArrayList<>();
    group.setMethod("standard");
    group.setService(ShippingServiceType.BANDED_SHIPPING.getType());
    group.setOrder(order);
    groups.add(group);
    order.setFulfillmentGroups(groups);
    Money total = new Money(8.5D);
    group.setShippingPrice(total);
    {
        DiscreteOrderItem item = new DiscreteOrderItemImpl();
        Sku sku = new SkuImpl();
        sku.setName("Test Sku");
        sku.setRetailPrice(new Money(10D));
        sku.setDiscountable(true);
        SkuFee fee = new SkuFeeImpl();
        fee.setFeeType(SkuFeeType.FULFILLMENT);
        fee.setName("fee test");
        fee.setAmount(new Money(10D));
        fee = catalogService.saveSkuFee(fee);
        List<SkuFee> fees = new ArrayList<>();
        fees.add(fee);
        sku.setFees(fees);
        sku = catalogService.saveSku(sku);
        item.setSku(sku);
        item.setQuantity(2);
        item.setOrder(order);
        item = (DiscreteOrderItem) orderItemService.saveOrderItem(item);
        order.addOrderItem(item);
        FulfillmentGroupItem fgItem = new FulfillmentGroupItemImpl();
        fgItem.setFulfillmentGroup(group);
        fgItem.setOrderItem(item);
        fgItem.setQuantity(2);
        // fgItem.setPrice(new Money(0D));
        group.addFulfillmentGroupItem(fgItem);
    }
    {
        DiscreteOrderItem item = new DiscreteOrderItemImpl();
        Sku sku = new SkuImpl();
        sku.setName("Test Product 2");
        sku.setRetailPrice(new Money(20D));
        sku.setDiscountable(true);
        sku = catalogService.saveSku(sku);
        item.setSku(sku);
        item.setQuantity(1);
        item.setOrder(order);
        item = (DiscreteOrderItem) orderItemService.saveOrderItem(item);
        order.addOrderItem(item);
        FulfillmentGroupItem fgItem = new FulfillmentGroupItemImpl();
        fgItem.setFulfillmentGroup(group);
        fgItem.setOrderItem(item);
        fgItem.setQuantity(1);
        // fgItem.setPrice(new Money(0D));
        group.addFulfillmentGroupItem(fgItem);
    }
    order.addOfferCode(createOfferCode("20 Percent Off Item Offer", OfferType.ORDER_ITEM, OfferDiscountType.PERCENT_OFF, 20, null, "discreteOrderItem.sku.name==\"Test Sku\""));
    order.addOfferCode(createOfferCode("3 Dollars Off Item Offer", OfferType.ORDER_ITEM, OfferDiscountType.AMOUNT_OFF, 3, null, "discreteOrderItem.sku.name!=\"Test Sku\""));
    order.addOfferCode(createOfferCode("1.20 Dollars Off Order Offer", OfferType.ORDER, OfferDiscountType.AMOUNT_OFF, 1.20, null, null));
    order.setTotalShipping(new Money(0D));
    orderService.save(order, true);
    assert order.getSubTotal().subtract(order.getOrderAdjustmentsValue()).equals(new Money(31.80D));
    assert (order.getTotal().greaterThan(order.getSubTotal()));
    // Shipping is not taxable
    assert (order.getTotalTax().equals(order.getSubTotal().subtract(order.getOrderAdjustmentsValue()).multiply(0.05D)));
    // determine the total cost of the fulfillment group fees
    Money fulfillmentGroupFeeTotal = getFulfillmentGroupFeeTotal(order);
    assert (order.getTotal().equals(order.getSubTotal().add(order.getTotalTax()).add(order.getTotalShipping()).add(fulfillmentGroupFeeTotal).subtract(order.getOrderAdjustmentsValue())));
}
Also used : Order(org.broadleafcommerce.core.order.domain.Order) DiscreteOrderItem(org.broadleafcommerce.core.order.domain.DiscreteOrderItem) FulfillmentGroupImpl(org.broadleafcommerce.core.order.domain.FulfillmentGroupImpl) Address(org.broadleafcommerce.profile.core.domain.Address) DiscreteOrderItemImpl(org.broadleafcommerce.core.order.domain.DiscreteOrderItemImpl) StateImpl(org.broadleafcommerce.profile.core.domain.StateImpl) ArrayList(java.util.ArrayList) Money(org.broadleafcommerce.common.money.Money) SkuImpl(org.broadleafcommerce.core.catalog.domain.SkuImpl) ISOCountryImpl(org.broadleafcommerce.common.i18n.domain.ISOCountryImpl) CountryImpl(org.broadleafcommerce.profile.core.domain.CountryImpl) SkuFee(org.broadleafcommerce.core.catalog.domain.SkuFee) State(org.broadleafcommerce.profile.core.domain.State) FulfillmentGroupItem(org.broadleafcommerce.core.order.domain.FulfillmentGroupItem) Country(org.broadleafcommerce.profile.core.domain.Country) ISOCountry(org.broadleafcommerce.common.i18n.domain.ISOCountry) AddressImpl(org.broadleafcommerce.profile.core.domain.AddressImpl) FulfillmentGroup(org.broadleafcommerce.core.order.domain.FulfillmentGroup) SkuFeeImpl(org.broadleafcommerce.core.catalog.domain.SkuFeeImpl) List(java.util.List) ArrayList(java.util.ArrayList) ISOCountryImpl(org.broadleafcommerce.common.i18n.domain.ISOCountryImpl) Sku(org.broadleafcommerce.core.catalog.domain.Sku) ISOCountry(org.broadleafcommerce.common.i18n.domain.ISOCountry) FulfillmentGroupItemImpl(org.broadleafcommerce.core.order.domain.FulfillmentGroupItemImpl) Test(org.testng.annotations.Test) Transactional(org.springframework.transaction.annotation.Transactional)

Example 8 with Country

use of org.broadleafcommerce.profile.core.domain.Country in project BroadleafCommerce by BroadleafCommerce.

the class PricingTest method testShipping.

@Test(groups = { "testShipping" }, dependsOnGroups = { "testShippingInsert", "createCustomerIdGeneration" })
@Transactional
public void testShipping() throws Exception {
    Order order = orderService.createNewCartForCustomer(createCustomer());
    customerService.saveCustomer(order.getCustomer());
    FulfillmentGroup group1 = new FulfillmentGroupImpl();
    FulfillmentGroup group2 = new FulfillmentGroupImpl();
    // setup group1 - standard
    group1.setMethod("standard");
    group1.setService(ShippingServiceType.BANDED_SHIPPING.getType());
    Country country = new CountryImpl();
    country.setAbbreviation("US");
    country.setName("United States");
    country = countryService.save(country);
    ISOCountry isoCountry = new ISOCountryImpl();
    isoCountry.setAlpha2("US");
    isoCountry.setName("UNITED STATES");
    isoCountry = isoService.save(isoCountry);
    State state = new StateImpl();
    state.setAbbreviation("TX");
    state.setName("Texas");
    state.setCountry(country);
    state = stateService.save(state);
    Address address = new AddressImpl();
    address.setAddressLine1("123 Test Rd");
    address.setCity("Dallas");
    address.setFirstName("Jeff");
    address.setLastName("Fischer");
    address.setPostalCode("75240");
    address.setPrimaryPhone("972-978-9067");
    address.setState(state);
    address.setCountry(country);
    address.setIsoCountrySubdivision("US-TX");
    address.setIsoCountryAlpha2(isoCountry);
    group1.setAddress(address);
    group1.setOrder(order);
    // setup group2 - truck
    group2.setMethod("truck");
    group2.setService(ShippingServiceType.BANDED_SHIPPING.getType());
    group2.setOrder(order);
    List<FulfillmentGroup> groups = new ArrayList<>();
    groups.add(group1);
    // groups.add(group2);
    order.setFulfillmentGroups(groups);
    Money total = new Money(8.5D);
    group1.setShippingPrice(total);
    group2.setShippingPrice(total);
    // group1.setTotalTax(new Money(1D));
    // group2.setTotalTax(new Money(1D));
    order.setSubTotal(total);
    order.setTotal(total);
    DiscreteOrderItem item = new DiscreteOrderItemImpl();
    Sku sku = new SkuImpl();
    sku.setRetailPrice(new Money(15D));
    sku.setDiscountable(true);
    sku.setName("Test Sku");
    sku = catalogService.saveSku(sku);
    item.setSku(sku);
    item.setQuantity(1);
    item.setOrder(order);
    item = (DiscreteOrderItem) orderItemService.saveOrderItem(item);
    List<OrderItem> items = new ArrayList<>();
    items.add(item);
    order.setOrderItems(items);
    for (OrderItem orderItem : items) {
        FulfillmentGroupItem fgi = new FulfillmentGroupItemImpl();
        fgi.setOrderItem(orderItem);
        fgi.setQuantity(orderItem.getQuantity());
        fgi.setFulfillmentGroup(group1);
        // fgi.setRetailPrice(new Money(15D));
        group1.addFulfillmentGroupItem(fgi);
    }
    order.setTotalShipping(new Money(0D));
    orderService.save(order, true);
    assert (order.getTotal().greaterThan(order.getSubTotal()));
    // Shipping price is not taxable
    assert (order.getTotalTax().equals(order.getSubTotal().multiply(0.05D)));
    assert (order.getTotal().equals(order.getSubTotal().add(order.getTotalTax().add(order.getTotalShipping()))));
}
Also used : Order(org.broadleafcommerce.core.order.domain.Order) DiscreteOrderItem(org.broadleafcommerce.core.order.domain.DiscreteOrderItem) FulfillmentGroupImpl(org.broadleafcommerce.core.order.domain.FulfillmentGroupImpl) Address(org.broadleafcommerce.profile.core.domain.Address) DiscreteOrderItemImpl(org.broadleafcommerce.core.order.domain.DiscreteOrderItemImpl) StateImpl(org.broadleafcommerce.profile.core.domain.StateImpl) ArrayList(java.util.ArrayList) Money(org.broadleafcommerce.common.money.Money) SkuImpl(org.broadleafcommerce.core.catalog.domain.SkuImpl) ISOCountryImpl(org.broadleafcommerce.common.i18n.domain.ISOCountryImpl) CountryImpl(org.broadleafcommerce.profile.core.domain.CountryImpl) State(org.broadleafcommerce.profile.core.domain.State) OrderItem(org.broadleafcommerce.core.order.domain.OrderItem) DiscreteOrderItem(org.broadleafcommerce.core.order.domain.DiscreteOrderItem) FulfillmentGroupItem(org.broadleafcommerce.core.order.domain.FulfillmentGroupItem) Country(org.broadleafcommerce.profile.core.domain.Country) ISOCountry(org.broadleafcommerce.common.i18n.domain.ISOCountry) AddressImpl(org.broadleafcommerce.profile.core.domain.AddressImpl) FulfillmentGroup(org.broadleafcommerce.core.order.domain.FulfillmentGroup) ISOCountryImpl(org.broadleafcommerce.common.i18n.domain.ISOCountryImpl) Sku(org.broadleafcommerce.core.catalog.domain.Sku) ISOCountry(org.broadleafcommerce.common.i18n.domain.ISOCountry) FulfillmentGroupItemImpl(org.broadleafcommerce.core.order.domain.FulfillmentGroupItemImpl) Test(org.testng.annotations.Test) Transactional(org.springframework.transaction.annotation.Transactional)

Example 9 with Country

use of org.broadleafcommerce.profile.core.domain.Country in project BroadleafCommerce by BroadleafCommerce.

the class CustomerAddressTest method createCustomerAddress.

/**
 * This method only exists because so many other tests depend on it, but should be removed once tests are more isolated
 * @param customerAddress
 */
@Deprecated
@Test(groups = "createCustomerAddress", dataProvider = "setupCustomerAddress", dataProviderClass = CustomerAddressDataProvider.class, dependsOnGroups = { "readCustomer", "createCountry", "createState" })
@Transactional
@Rollback(false)
public void createCustomerAddress(CustomerAddress customerAddress) {
    userName = "customer1";
    Customer customer = customerService.readCustomerByUsername(userName);
    assert customerAddress.getId() == null;
    customerAddress.setCustomer(customer);
    State state = stateService.findStateByAbbreviation("KY");
    customerAddress.getAddress().setState(state);
    Country country = countryService.findCountryByAbbreviation("US");
    customerAddress.getAddress().setCountry(country);
    customerAddress.getAddress().setIsoCountrySubdivision("US-KY");
    ISOCountry isoCountry = isoService.findISOCountryByAlpha2Code("US");
    customerAddress.getAddress().setIsoCountryAlpha2(isoCountry);
    customerAddress = customerAddressService.saveCustomerAddress(customerAddress);
    assert customer.equals(customerAddress.getCustomer());
    userId = customerAddress.getCustomer().getId();
}
Also used : Customer(org.broadleafcommerce.profile.core.domain.Customer) State(org.broadleafcommerce.profile.core.domain.State) Country(org.broadleafcommerce.profile.core.domain.Country) ISOCountry(org.broadleafcommerce.common.i18n.domain.ISOCountry) ISOCountry(org.broadleafcommerce.common.i18n.domain.ISOCountry) Test(org.testng.annotations.Test) CommonSetupBaseTest(org.broadleafcommerce.test.CommonSetupBaseTest) Rollback(org.springframework.test.annotation.Rollback) Transactional(org.springframework.transaction.annotation.Transactional)

Example 10 with Country

use of org.broadleafcommerce.profile.core.domain.Country in project BroadleafCommerce by BroadleafCommerce.

the class OfferDataItemProvider method createOrderWithBundle.

/**
 * Create order with a bundle with two items.  Bundle has a quantity of 2.
 * Bundle item 1 has quantity of 2, bundle item 2 has quantity of 3
 * @return
 */
public Order createOrderWithBundle() {
    Order order = new OrderImpl();
    order.setId(getOrderId());
    Category category1 = new CategoryImpl();
    category1.setName("test1");
    category1.setId(1L);
    Product product1 = new ProductImpl();
    Sku sku1 = new SkuImpl();
    sku1.setName("test1");
    sku1.setId(1L);
    sku1.setDiscountable(true);
    sku1.setRetailPrice(new Money(10D));
    product1.setDefaultSku(sku1);
    CategoryProductXref xref1 = new CategoryProductXrefImpl();
    xref1.setProduct(product1);
    xref1.setCategory(category1);
    category1.getAllProductXrefs().add(xref1);
    Category category2 = new CategoryImpl();
    category2.setName("test2");
    category2.setId(2L);
    Product product2 = new ProductImpl();
    Sku sku2 = new SkuImpl();
    sku2.setName("test2");
    sku2.setId(2L);
    sku2.setDiscountable(true);
    sku2.setRetailPrice(new Money(10D));
    product2.setDefaultSku(sku2);
    CategoryProductXref xref2 = new CategoryProductXrefImpl();
    xref2.setProduct(product2);
    xref2.setCategory(category2);
    category2.getAllProductXrefs().add(xref2);
    ProductBundle pb = new ProductBundleImpl();
    pb.setPricingModel(ProductBundlePricingModelType.ITEM_SUM);
    BundleOrderItem bundleOrderItem = new BundleOrderItemImpl();
    bundleOrderItem.setCategory(category1);
    bundleOrderItem.setName("test1");
    bundleOrderItem.setOrder(order);
    bundleOrderItem.setOrderItemType(OrderItemType.DISCRETE);
    bundleOrderItem.setQuantity(2);
    bundleOrderItem.setId(getOrderItemId());
    bundleOrderItem.setOrder(order);
    bundleOrderItem.setRetailPrice(new Money(10D));
    bundleOrderItem.setProductBundle(pb);
    OrderItemPriceDetail priceDetail = new OrderItemPriceDetailImpl();
    priceDetail.setOrderItem(bundleOrderItem);
    priceDetail.setQuantity(2);
    bundleOrderItem.getOrderItemPriceDetails().add(priceDetail);
    order.getOrderItems().add(bundleOrderItem);
    DiscreteOrderItem orderItem1 = new DiscreteOrderItemImpl();
    orderItem1.setCategory(category1);
    orderItem1.setName("test1");
    orderItem1.setOrder(order);
    orderItem1.setOrderItemType(OrderItemType.DISCRETE);
    orderItem1.setProduct(product1);
    orderItem1.setQuantity(2);
    orderItem1.setSku(sku1);
    orderItem1.setId(getOrderItemId());
    orderItem1.setOrder(order);
    OrderItemPriceDetail priceDetail1 = new OrderItemPriceDetailImpl();
    priceDetail1.setOrderItem(orderItem1);
    priceDetail1.setQuantity(2);
    orderItem1.getOrderItemPriceDetails().add(priceDetail1);
    bundleOrderItem.getDiscreteOrderItems().add(orderItem1);
    DiscreteOrderItem orderItem2 = new DiscreteOrderItemImpl();
    orderItem2.setCategory(category2);
    orderItem2.setName("test2");
    orderItem2.setOrder(order);
    orderItem2.setOrderItemType(OrderItemType.DISCRETE);
    orderItem2.setProduct(product2);
    orderItem2.setQuantity(3);
    orderItem2.setSku(sku2);
    orderItem2.setId(getOrderItemId());
    orderItem2.setOrder(order);
    OrderItemPriceDetail priceDetail2 = new OrderItemPriceDetailImpl();
    priceDetail2.setOrderItem(orderItem2);
    priceDetail2.setQuantity(3);
    orderItem2.getOrderItemPriceDetails().add(priceDetail2);
    bundleOrderItem.getDiscreteOrderItems().add(orderItem2);
    Customer customer = new CustomerImpl();
    customer.setEmailAddress("test@test.com");
    customer.setFirstName("John");
    customer.setLastName("Tester");
    customer.setReceiveEmail(true);
    customer.setRegistered(true);
    order.setCustomer(customer);
    order.setEmailAddress("test@test.com");
    FulfillmentGroup fg1 = new FulfillmentGroupImpl();
    fg1.setId(1L);
    Address address1 = new AddressImpl();
    address1.setAddressLine1("123 Test Road");
    address1.setCity("Dallas");
    Country country = new CountryImpl();
    country.setAbbreviation("US");
    country.setName("United States");
    ISOCountry isoCountry = new ISOCountryImpl();
    isoCountry.setAlpha2("US");
    isoCountry.setName("UNITED STATES");
    address1.setCountry(country);
    address1.setIsoCountryAlpha2(isoCountry);
    address1.setDefault(true);
    address1.setFirstName("John");
    address1.setLastName("Tester");
    address1.setPostalCode("75244");
    Phone primary = new PhoneImpl();
    primary.setPhoneNumber("972-976-1234");
    address1.setPhonePrimary(primary);
    State state = new StateImpl();
    state.setAbbreviation("TX");
    state.setCountry(country);
    state.setName("Texas");
    address1.setState(state);
    address1.setIsoCountrySubdivision("US-TX");
    fg1.setAddress(address1);
    fg1.setOrder(order);
    fg1.setPrimary(true);
    fg1.setRetailShippingPrice(new Money(10D));
    fg1.setShippingPrice(new Money(10D));
    fg1.setType(FulfillmentType.PHYSICAL_SHIP);
    fg1.setOrder(order);
    FulfillmentGroupItem fgItem1 = new FulfillmentGroupItemImpl();
    fgItem1.setFulfillmentGroup(fg1);
    fgItem1.setOrderItem(orderItem1);
    fgItem1.setQuantity(2);
    // fgItem1.setRetailPrice(new Money(19.99D));
    fg1.getFulfillmentGroupItems().add(fgItem1);
    order.getFulfillmentGroups().add(fg1);
    FulfillmentGroup fg2 = new FulfillmentGroupImpl();
    fg2.setId(2L);
    Address address2 = new AddressImpl();
    address2.setAddressLine1("124 Test Road");
    address2.setCity("Dallas");
    Country country2 = new CountryImpl();
    country2.setAbbreviation("US");
    country2.setName("United States");
    ISOCountry isoCountry2 = new ISOCountryImpl();
    isoCountry2.setAlpha2("US");
    isoCountry2.setName("UNITED STATES");
    address2.setCountry(country2);
    address2.setIsoCountryAlpha2(isoCountry2);
    address2.setDefault(true);
    address2.setFirstName("John");
    address2.setLastName("Tester");
    address2.setPostalCode("75244");
    Phone primary2 = new PhoneImpl();
    primary2.setPhoneNumber("972-976-1234");
    address2.setPhonePrimary(primary2);
    State state2 = new StateImpl();
    state2.setAbbreviation("TX");
    state2.setCountry(country2);
    state2.setName("Texas");
    address2.setState(state2);
    address2.setIsoCountrySubdivision("US-TX");
    fg2.setAddress(address2);
    fg2.setOrder(order);
    fg2.setPrimary(true);
    fg2.setRetailShippingPrice(new Money(20D));
    fg2.setShippingPrice(new Money(20D));
    fg2.setType(FulfillmentType.PHYSICAL_SHIP);
    fg2.setOrder(order);
    FulfillmentGroupItem fgItem2 = new FulfillmentGroupItemImpl();
    fgItem2.setFulfillmentGroup(fg2);
    fgItem2.setOrderItem(orderItem2);
    fgItem2.setQuantity(3);
    // fgItem2.setRetailPrice(new Money(29.99D));
    fg2.getFulfillmentGroupItems().add(fgItem2);
    order.getFulfillmentGroups().add(fg2);
    order.setSubTotal(new Money((2 * 19.99D) + (3 * 29.99D)));
    orders.put(order.getId(), order);
    return order;
}
Also used : DiscreteOrderItem(org.broadleafcommerce.core.order.domain.DiscreteOrderItem) Category(org.broadleafcommerce.core.catalog.domain.Category) CategoryProductXref(org.broadleafcommerce.core.catalog.domain.CategoryProductXref) BundleOrderItemImpl(org.broadleafcommerce.core.order.domain.BundleOrderItemImpl) Address(org.broadleafcommerce.profile.core.domain.Address) DiscreteOrderItemImpl(org.broadleafcommerce.core.order.domain.DiscreteOrderItemImpl) Customer(org.broadleafcommerce.profile.core.domain.Customer) OrderItemPriceDetailImpl(org.broadleafcommerce.core.order.domain.OrderItemPriceDetailImpl) Product(org.broadleafcommerce.core.catalog.domain.Product) CustomerImpl(org.broadleafcommerce.profile.core.domain.CustomerImpl) Money(org.broadleafcommerce.common.money.Money) BundleOrderItem(org.broadleafcommerce.core.order.domain.BundleOrderItem) ISOCountryImpl(org.broadleafcommerce.common.i18n.domain.ISOCountryImpl) CountryImpl(org.broadleafcommerce.profile.core.domain.CountryImpl) Phone(org.broadleafcommerce.profile.core.domain.Phone) FulfillmentGroupItem(org.broadleafcommerce.core.order.domain.FulfillmentGroupItem) CategoryProductXrefImpl(org.broadleafcommerce.core.catalog.domain.CategoryProductXrefImpl) ProductBundleImpl(org.broadleafcommerce.core.catalog.domain.ProductBundleImpl) AddressImpl(org.broadleafcommerce.profile.core.domain.AddressImpl) PhoneImpl(org.broadleafcommerce.profile.core.domain.PhoneImpl) FulfillmentGroup(org.broadleafcommerce.core.order.domain.FulfillmentGroup) ISOCountryImpl(org.broadleafcommerce.common.i18n.domain.ISOCountryImpl) ISOCountry(org.broadleafcommerce.common.i18n.domain.ISOCountry) FulfillmentGroupItemImpl(org.broadleafcommerce.core.order.domain.FulfillmentGroupItemImpl) PromotableOrder(org.broadleafcommerce.core.offer.service.discount.domain.PromotableOrder) Order(org.broadleafcommerce.core.order.domain.Order) FulfillmentGroupImpl(org.broadleafcommerce.core.order.domain.FulfillmentGroupImpl) ProductBundle(org.broadleafcommerce.core.catalog.domain.ProductBundle) StateImpl(org.broadleafcommerce.profile.core.domain.StateImpl) CategoryImpl(org.broadleafcommerce.core.catalog.domain.CategoryImpl) SkuImpl(org.broadleafcommerce.core.catalog.domain.SkuImpl) ProductImpl(org.broadleafcommerce.core.catalog.domain.ProductImpl) State(org.broadleafcommerce.profile.core.domain.State) OrderImpl(org.broadleafcommerce.core.order.domain.OrderImpl) PromotableOrderImpl(org.broadleafcommerce.core.offer.service.discount.domain.PromotableOrderImpl) Country(org.broadleafcommerce.profile.core.domain.Country) ISOCountry(org.broadleafcommerce.common.i18n.domain.ISOCountry) OrderItemPriceDetail(org.broadleafcommerce.core.order.domain.OrderItemPriceDetail) Sku(org.broadleafcommerce.core.catalog.domain.Sku)

Aggregations

ISOCountry (org.broadleafcommerce.common.i18n.domain.ISOCountry)11 Country (org.broadleafcommerce.profile.core.domain.Country)11 State (org.broadleafcommerce.profile.core.domain.State)10 ISOCountryImpl (org.broadleafcommerce.common.i18n.domain.ISOCountryImpl)7 CountryImpl (org.broadleafcommerce.profile.core.domain.CountryImpl)7 Address (org.broadleafcommerce.profile.core.domain.Address)6 AddressImpl (org.broadleafcommerce.profile.core.domain.AddressImpl)6 StateImpl (org.broadleafcommerce.profile.core.domain.StateImpl)6 Money (org.broadleafcommerce.common.money.Money)5 DiscreteOrderItem (org.broadleafcommerce.core.order.domain.DiscreteOrderItem)5 FulfillmentGroup (org.broadleafcommerce.core.order.domain.FulfillmentGroup)5 FulfillmentGroupImpl (org.broadleafcommerce.core.order.domain.FulfillmentGroupImpl)5 FulfillmentGroupItem (org.broadleafcommerce.core.order.domain.FulfillmentGroupItem)5 FulfillmentGroupItemImpl (org.broadleafcommerce.core.order.domain.FulfillmentGroupItemImpl)5 Sku (org.broadleafcommerce.core.catalog.domain.Sku)4 SkuImpl (org.broadleafcommerce.core.catalog.domain.SkuImpl)4 DiscreteOrderItemImpl (org.broadleafcommerce.core.order.domain.DiscreteOrderItemImpl)4 Order (org.broadleafcommerce.core.order.domain.Order)4 Phone (org.broadleafcommerce.profile.core.domain.Phone)4 ArrayList (java.util.ArrayList)3