WellCommerce\Bundle\CouponBundle\Visitor\CouponOrderVisitor::calculateCouponModifier PHP Method

calculateCouponModifier() private method

private calculateCouponModifier ( WellCommerce\Bundle\CouponBundle\Entity\CouponInterface $coupon, WellCommerce\Bundle\OrderBundle\Entity\OrderInterface $order ) : float
$coupon WellCommerce\Bundle\CouponBundle\Entity\CouponInterface
$order WellCommerce\Bundle\OrderBundle\Entity\OrderInterface
return float
    private function calculateCouponModifier(CouponInterface $coupon, OrderInterface $order) : float
    {
        $modifierType = $coupon->getModifierType();
        $modifierValue = $coupon->getModifierValue();
        $baseCurrency = $coupon->getCurrency();
        $targetCurrency = $order->getCurrency();
        $totalGrossPrice = $order->getProductTotal()->getGrossPrice();
        if ('%' === $modifierType) {
            return $modifierValue / 100;
        }
        if ('-' === $modifierType) {
            $modifierValue = $this->currencyHelper->convert($modifierValue, $baseCurrency, $targetCurrency);
            return $modifierValue >= $totalGrossPrice ? 1 : $modifierValue / $totalGrossPrice;
        }
        return 1;
    }