Search in sources :

Example 1 with Offer

use of org.broadleafcommerce.core.offer.domain.Offer in project BroadleafCommerce by BroadleafCommerce.

the class OfferDataItemProvider method createItemBasedOfferWithItemCriteria.

public List<Offer> createItemBasedOfferWithItemCriteria(String orderRule, OfferDiscountType discountType, String qualRule, String targetRule) {
    List<Offer> offers = createItemBasedOffer(orderRule, targetRule, discountType);
    if (qualRule != null) {
        Offer firstOffer = offers.get(0);
        OfferItemCriteria qualCriteria = new OfferItemCriteriaImpl();
        // qualCriteria.setQualifyingOffer(offers.get(0));
        qualCriteria.setQuantity(1);
        qualCriteria.setMatchRule(qualRule);
        Set<OfferQualifyingCriteriaXref> criterias = new HashSet<OfferQualifyingCriteriaXref>();
        OfferQualifyingCriteriaXref xref = new OfferQualifyingCriteriaXrefImpl();
        xref.setOffer(firstOffer);
        xref.setOfferItemCriteria(qualCriteria);
        criterias.add(xref);
        firstOffer.setQualifyingItemCriteriaXref(criterias);
    }
    return offers;
}
Also used : OfferItemCriteriaImpl(org.broadleafcommerce.core.offer.domain.OfferItemCriteriaImpl) Offer(org.broadleafcommerce.core.offer.domain.Offer) OfferItemCriteria(org.broadleafcommerce.core.offer.domain.OfferItemCriteria) OfferQualifyingCriteriaXrefImpl(org.broadleafcommerce.core.offer.domain.OfferQualifyingCriteriaXrefImpl) OfferQualifyingCriteriaXref(org.broadleafcommerce.core.offer.domain.OfferQualifyingCriteriaXref) HashSet(java.util.HashSet)

Example 2 with Offer

use of org.broadleafcommerce.core.offer.domain.Offer in project BroadleafCommerce by BroadleafCommerce.

the class OfferDataItemProvider method createOrderBasedOfferWithItemCriteria.

public List<Offer> createOrderBasedOfferWithItemCriteria(String orderRule, OfferDiscountType discountType, String orderItemMatchRule) {
    List<Offer> offers = createOrderBasedOffer(orderRule, discountType);
    Offer firstOffer = offers.get(0);
    OfferItemCriteria qualCriteria = new OfferItemCriteriaImpl();
    // qualCriteria.setQualifyingOffer(offers.get(0));
    qualCriteria.setQuantity(1);
    qualCriteria.setMatchRule(orderItemMatchRule);
    Set<OfferQualifyingCriteriaXref> criterias = new HashSet<OfferQualifyingCriteriaXref>();
    OfferQualifyingCriteriaXref xref = new OfferQualifyingCriteriaXrefImpl();
    xref.setOffer(firstOffer);
    xref.setOfferItemCriteria(qualCriteria);
    criterias.add(xref);
    firstOffer.setQualifyingItemCriteriaXref(criterias);
    return offers;
}
Also used : OfferItemCriteriaImpl(org.broadleafcommerce.core.offer.domain.OfferItemCriteriaImpl) Offer(org.broadleafcommerce.core.offer.domain.Offer) OfferItemCriteria(org.broadleafcommerce.core.offer.domain.OfferItemCriteria) OfferQualifyingCriteriaXrefImpl(org.broadleafcommerce.core.offer.domain.OfferQualifyingCriteriaXrefImpl) OfferQualifyingCriteriaXref(org.broadleafcommerce.core.offer.domain.OfferQualifyingCriteriaXref) HashSet(java.util.HashSet)

Example 3 with Offer

use of org.broadleafcommerce.core.offer.domain.Offer in project BroadleafCommerce by BroadleafCommerce.

the class OfferDataItemProvider method createOrderBasedOffer.

public List<Offer> createOrderBasedOffer(String orderRule, OfferDiscountType discountType) {
    Offer offer = createOffer(null, null, orderRule, true, true, true, discountType, tomorrow(), 0, OfferItemRestrictionRuleType.NONE, OfferItemRestrictionRuleType.NONE, 1, null, true, yesterday(), null, false, OfferType.ORDER, BigDecimal.valueOf(10));
    List<Offer> offers = new ArrayList<Offer>();
    offers.add(offer);
    return offers;
}
Also used : Offer(org.broadleafcommerce.core.offer.domain.Offer) ArrayList(java.util.ArrayList)

Example 4 with Offer

use of org.broadleafcommerce.core.offer.domain.Offer in project BroadleafCommerce by BroadleafCommerce.

the class OfferDataItemProvider method createCustomerBasedOffer.

public List<Offer> createCustomerBasedOffer(String customerRule, Date startDate, Date endDate, OfferDiscountType discountType) {
    Offer offer = createOffer(customerRule, null, null, true, true, true, discountType, endDate, 0, OfferItemRestrictionRuleType.NONE, OfferItemRestrictionRuleType.NONE, 1, null, true, startDate, null, false, OfferType.ORDER, BigDecimal.valueOf(10));
    List<Offer> offers = new ArrayList<Offer>();
    offers.add(offer);
    return offers;
}
Also used : Offer(org.broadleafcommerce.core.offer.domain.Offer) ArrayList(java.util.ArrayList)

Example 5 with Offer

use of org.broadleafcommerce.core.offer.domain.Offer in project BroadleafCommerce by BroadleafCommerce.

the class OfferDataItemProvider method createFGBasedOffer.

public List<Offer> createFGBasedOffer(String orderRule, String fgRule, OfferDiscountType discountType) {
    Offer offer = createOffer(null, fgRule, orderRule, true, true, true, discountType, tomorrow(), 0, OfferItemRestrictionRuleType.NONE, OfferItemRestrictionRuleType.NONE, 1, null, true, yesterday(), null, false, OfferType.FULFILLMENT_GROUP, BigDecimal.valueOf(10));
    List<Offer> offers = new ArrayList<Offer>();
    offers.add(offer);
    return offers;
}
Also used : Offer(org.broadleafcommerce.core.offer.domain.Offer) ArrayList(java.util.ArrayList)

Aggregations

Offer (org.broadleafcommerce.core.offer.domain.Offer)87 CustomerOffer (org.broadleafcommerce.core.offer.domain.CustomerOffer)32 Order (org.broadleafcommerce.core.order.domain.Order)31 Money (org.broadleafcommerce.common.money.Money)29 ArrayList (java.util.ArrayList)27 Transactional (org.springframework.transaction.annotation.Transactional)26 CommonSetupBaseTest (org.broadleafcommerce.test.CommonSetupBaseTest)23 Test (org.testng.annotations.Test)23 PromotableOrder (org.broadleafcommerce.core.offer.service.discount.domain.PromotableOrder)22 PromotableCandidateItemOffer (org.broadleafcommerce.core.offer.service.discount.domain.PromotableCandidateItemOffer)19 CandidateItemOffer (org.broadleafcommerce.core.offer.domain.CandidateItemOffer)16 PromotableCandidateOrderOffer (org.broadleafcommerce.core.offer.service.discount.domain.PromotableCandidateOrderOffer)16 PromotableCandidateFulfillmentGroupOffer (org.broadleafcommerce.core.offer.service.discount.domain.PromotableCandidateFulfillmentGroupOffer)14 OfferCode (org.broadleafcommerce.core.offer.domain.OfferCode)13 OfferItemCriteria (org.broadleafcommerce.core.offer.domain.OfferItemCriteria)9 OfferQualifyingCriteriaXref (org.broadleafcommerce.core.offer.domain.OfferQualifyingCriteriaXref)9 OfferItemCriteriaImpl (org.broadleafcommerce.core.offer.domain.OfferItemCriteriaImpl)7 PromotableOrderItem (org.broadleafcommerce.core.offer.service.discount.domain.PromotableOrderItem)7 HashSet (java.util.HashSet)6 CandidateFulfillmentGroupOffer (org.broadleafcommerce.core.offer.domain.CandidateFulfillmentGroupOffer)6