當前位置: 首頁>>代碼示例>>PHP>>正文


PHP EntityRepository::findPaidPaymentsForUser方法代碼示例

本文整理匯總了PHP中Doctrine\ORM\EntityRepository::findPaidPaymentsForUser方法的典型用法代碼示例。如果您正苦於以下問題:PHP EntityRepository::findPaidPaymentsForUser方法的具體用法?PHP EntityRepository::findPaidPaymentsForUser怎麽用?PHP EntityRepository::findPaidPaymentsForUser使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Doctrine\ORM\EntityRepository的用法示例。


在下文中一共展示了EntityRepository::findPaidPaymentsForUser方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: checkTicketsPricesInPayment

 /**
  * Пересчитываем итоговую сумму платежа по всем билетам
  * с учетом скидки
  *
  * @param Payment $payment
  * @param Event $event
  */
 public function checkTicketsPricesInPayment($payment, $event)
 {
     // Вытягиваем скидку из конфига
     $paymentsConfig = $this->container->getParameter('stfalcon_event.config');
     $discount = (double) $paymentsConfig['discount'];
     $eventCost = $event->getCost();
     /** @var Ticket $ticket */
     foreach ($payment->getTickets() as $ticket) {
         // получаем оплаченые платежи пользователя
         $paidPayments = $this->repository->findPaidPaymentsForUser($ticket->getUser());
         //правильно ли установлен флаг наличия скидки
         // @todo с расчетом скидки у нас явно проблемы. ниже почти такой же код идет. плюс ещё в нескольких
         // местах по коду делаем подобные расчеты. плюс в самой модели билета есть логика расчета цены со скидкой...
         $isCorrectDiscount = $ticket->getHasDiscount() == (count($paidPayments) > 0 && $event->getUseDiscounts() || $ticket->hasPromoCode());
         // если цена билета без скидки не ровна новой цене на ивент
         // или неверно указан флаг наличия скидки
         if ($ticket->getAmountWithoutDiscount() != $eventCost || !$isCorrectDiscount) {
             // если не правильно установлен флаг наличия скидки, тогда устанавливаем его заново
             if (!$isCorrectDiscount) {
                 // @todo для реализации возможности отключения скидки постоянных участников мне пришлось
                 // использовать метод $event->getUseDiscounts() в трех разных местах. а нужно, чтобы
                 // это можно было сделать в одном месте
                 $ticket->setHasDiscount(count($paidPayments) > 0 && $event->getUseDiscounts() || $ticket->hasPromoCode());
             }
             $ticket->setAmountWithoutDiscount($eventCost);
             if ($ticket->getHasDiscount()) {
                 $ticket->setAmountWithDiscount($discount);
             } else {
                 $ticket->setAmount($eventCost);
             }
             $this->entityManager->merge($ticket);
         }
     }
     $payment->recalculateAmount();
     //set base price
     $payment->setBaseAmount($payment->getAmount());
     $this->entityManager->merge($payment);
     $this->flush();
 }
開發者ID:bolotyuh,項目名稱:fwdays,代碼行數:46,代碼來源:PaymentManager.php


注:本文中的Doctrine\ORM\EntityRepository::findPaidPaymentsForUser方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。