コード例 #1
0
ファイル: Data.php プロジェクト: ebizmarts/magento2-mandrill
 /**
  * @param $mailType
  * @param $mail
  * @param $name
  * @param $couponCode
  * @param $storeId
  */
 public function saveMail($mailType, $mail, $name, $couponCode, $storeId)
 {
     if ($couponCode != '') {
         $coupon = $this->_coupon->loadByCode($couponCode);
         $rule = $this->_rule->load($coupon->getRuleId());
         $couponAmount = $rule->getDiscountAmount();
         switch ($rule->getSimpleAction()) {
             case 'cart_fixed':
                 $couponType = 1;
                 break;
             case 'by_percent':
                 $couponType = 2;
                 break;
             default:
                 $couponType = 0;
                 break;
         }
     } else {
         $couponType = 0;
         $couponAmount = 0;
     }
     $sent = $this->_mailsent;
     $date = $this->_dateTime;
     $sent->setMailType($mailType)->setStoreId($storeId)->setCustomerEmail($mail)->setCustomerName($name)->setCouponNumber($couponCode)->setCouponType($couponType)->setCouponAmount($couponAmount)->setSentAt($date->gmtDate())->save();
 }
コード例 #2
0
 /**
  * Add coupon's rule name to order data
  *
  * @param EventObserver $observer
  * @return $this
  */
 public function execute(EventObserver $observer)
 {
     $order = $observer->getOrder();
     $couponCode = $order->getCouponCode();
     if (empty($couponCode)) {
         return $this;
     }
     $this->_coupon->loadByCode($couponCode);
     $ruleId = $this->_coupon->getRuleId();
     if (empty($ruleId)) {
         return $this;
     }
     /** @var \Magento\SalesRule\Model\Rule $rule */
     $rule = $this->_ruleFactory->create()->load($ruleId);
     $order->setCouponRuleName($rule->getName());
     return $this;
 }
コード例 #3
0
 /**
  * Run test loadByCode method
  */
 public function testLoadByCode()
 {
     $this->eventManager->expects($this->any())->method('dispatch');
     $this->resourceMock->expects($this->once())->method('load');
     $this->assertEquals($this->couponModel, $this->couponModel->loadByCode('code-value'));
 }