src/Entity/PaymentOrderElement.php line 21

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Service\Helper\DateTimeHelper;
  4. use DateTime;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use Exception;
  7. /**
  8.  * @ORM\Table(name="orders__elements_payments",
  9.  *     indexes={
  10.  *          @ORM\Index(name="created_at", columns={"created_at"})
  11.  *     },
  12.  *     uniqueConstraints={
  13.  *         @ORM\UniqueConstraint(name="unique_payment_element_id", columns={"payment_order_id", "order_element_id"}),
  14.  *     }
  15.  * )
  16.  * @ORM\Entity(repositoryClass="App\Repository\PaymentOrderElementRepository")
  17.  */
  18. class PaymentOrderElement
  19. {
  20.     use IdTrait;
  21.     /**
  22.      * @ORM\Column(name="created_at", type="datetime")
  23.      */
  24.     private DateTime $createdAt;
  25.     /**
  26.      * @ORM\ManyToOne(targetEntity="PaymentOrder")
  27.      * @ORM\JoinColumn(referencedColumnName="id", name="payment_order_id")
  28.      */
  29.     private PaymentOrder $paymentOrder;
  30.     /**
  31.      * @ORM\ManyToOne(targetEntity="OrderElement")
  32.      * @ORM\JoinColumn(referencedColumnName="id", name="order_element_id")
  33.      */
  34.     private OrderElement $orderElement;
  35.     /**
  36.      * @ORM\Column(name="price", type="integer")
  37.      */
  38.     private int $price;
  39.     /**
  40.      * @ORM\Column(name="reward_margin", type="integer", options={"default":0})
  41.      */
  42.     private int $rewardMargin 0;
  43.     /**
  44.      * @throws Exception
  45.      */
  46.     public function __construct(PaymentOrder $paymentOrderOrderElement $orderElement$price)
  47.     {
  48.         $this->paymentOrder $paymentOrder;
  49.         $this->orderElement $orderElement;
  50.         $this->price $price;
  51.         $this->createdAt DateTimeHelper::getNowDateTime();
  52.     }
  53.     public function getCreatedAt(): DateTime
  54.     {
  55.         return $this->createdAt;
  56.     }
  57.     public function setCreatedAt(DateTime $createdAt): PaymentOrderElement
  58.     {
  59.         $this->createdAt $createdAt;
  60.         return $this;
  61.     }
  62.     public function getPaymentOrder(): PaymentOrder
  63.     {
  64.         return $this->paymentOrder;
  65.     }
  66.     public function getOrderElement(): OrderElement
  67.     {
  68.         return $this->orderElement;
  69.     }
  70.     public function getPrice(): int
  71.     {
  72.         return $this->price;
  73.     }
  74.     public function setPrice($price): PaymentOrderElement
  75.     {
  76.         $this->price $price;
  77.         return $this;
  78.     }
  79.     public function setOrderElement($orderElement): PaymentOrderElement
  80.     {
  81.         $this->orderElement $orderElement;
  82.         return $this;
  83.     }
  84.     public function getRewardMargin(): int
  85.     {
  86.         return $this->rewardMargin;
  87.     }
  88.     public function setRewardMargin(int $rewardMargin): PaymentOrderElement
  89.     {
  90.         $this->rewardMargin $rewardMargin;
  91.         return $this;
  92.     }
  93. }