Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ToFixed.php
Go to the documentation of this file.
1 <?php
7 
8 class ToFixed extends AbstractDiscount
9 {
16  public function calculate($rule, $item, $qty)
17  {
19  $discountData = $this->discountFactory->create();
20 
21  $store = $item->getQuote()->getStore();
22 
23  $itemPrice = $this->validator->getItemPrice($item);
24  $baseItemPrice = $this->validator->getItemBasePrice($item);
25  $itemOriginalPrice = $this->validator->getItemOriginalPrice($item);
26  $baseItemOriginalPrice = $this->validator->getItemBaseOriginalPrice($item);
27 
28  $quoteAmount = $this->priceCurrency->convert($rule->getDiscountAmount(), $store);
29 
30  $discountData->setAmount($qty * ($itemPrice - $quoteAmount));
31  $discountData->setBaseAmount($qty * ($baseItemPrice - $rule->getDiscountAmount()));
32  $discountData->setOriginalAmount($qty * ($itemOriginalPrice - $quoteAmount));
33  $discountData->setBaseOriginalAmount($qty * ($baseItemOriginalPrice - $rule->getDiscountAmount()));
34 
35  return $discountData;
36  }
37 }