<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use App\Util\UUIDGeneratorUtil;
use Doctrine\Common\Persistence\Event\LifecycleEventArgs;
/**
* PointDeal
* @ORM\Table(name="point_deal")
* @ORM\Entity(repositoryClass="App\Repository\PointDealRepository")
* @ORM\HasLifecycleCallbacks
*/
class PointDeal {
/**
* @var integer
* @ORM\Column(name="pd_id", type="guid")
* @ORM\Id
* @ORM\GeneratedValue(strategy="NONE")
*/
private $id;
/**
* @var \App\Entity\PointAcount
* @ORM\ManyToOne(targetEntity="App\Entity\PointAcount")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="pd_point_acount_fk", referencedColumnName="pa_id", onDelete="CASCADE")
* })
*/
private $pointAcount;
/**
* @var \App\Entity\TypePointAcount
* @ORM\ManyToOne(targetEntity="App\Entity\TypePointAcount")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="pd_type_point_acount_fk", referencedColumnName="tpa_id", onDelete="CASCADE")
* })
*/
private $typePointAcount;
/**
* @var \DateTime
* @ORM\Column(name="pd_deal_datetime", type="datetime")
*/
private $dealDatetime;
/**
* @var decimal
* @ORM\Column(name="pd_deal_pts_amount", type="decimal", precision=15, scale=2 )
*/
private $dealPtsAmount;
/**
* @var \App\Entity\PtsAdquiRedemRules
* @ORM\ManyToOne(targetEntity="App\Entity\PtsAdquiRedemRules")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="pd_related_rule", referencedColumnName="ptar_id", onDelete="CASCADE")
* })
*/
private $rule;
/**
* @var string
* @ORM\Column(name="pd_just_claim_once", type="boolean", nullable=true)
*/
private $justClaimOnce = false;
/**
* @var string
* @ORM\Column(name="pd_seed_evaluated_data", type="array", nullable=true)
*/
private $seedData;
/**
* @var string
* @ORM\Column(name="pd_armor_response_data", type="array", nullable=true)
*/
private $armorResponseData;
/**
* @var \DateTime
* @ORM\Column(name="pd_deal_cancelation_datetime", type="datetime", nullable=true)
*/
private $dealCancelationDatetime;
/**
* @var \App\Entity\PointDeal
* @ORM\ManyToOne(targetEntity="App\Entity\PointDeal")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="pd_cancelation_of", referencedColumnName="pd_id", nullable=true)
* })
*/
private $cancelationOfRecord;
/**
* @var \App\Entity\AccountLicense
* @ORM\ManyToOne(targetEntity="App\Entity\AccountLicense")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="pd_license", referencedColumnName="al_id", nullable=true, onDelete="CASCADE")
* })
*/
private $license;
/**
* @var string
* @ORM\Column(name="pd_order_id", type="string", nullable=true)
*/
private $order;
/**
* @return type
*/
public function getOrder() {
return $this->order;
}
/**
* @param type $order
*/
public function setOrder($order) {
$this->order = $order;
}
/**
* @return \App\Entity\PointDeal
*/
public function getCancelationOfRecord(): \App\Entity\PointDeal {
return $this->cancelationOfRecord;
}
/**
* @param \App\Entity\PointDeal $cancelationOfRecord
*/
public function setCancelationOfRecord(\App\Entity\PointDeal $cancelationOfRecord = null) {
$this->cancelationOfRecord = $cancelationOfRecord;
}
/**
* @return \App\Entity\AccountLicense
*/
public function getLicense(): \App\Entity\AccountLicense {
return $this->license;
}
/**
* @param \App\Entity\AccountLicense $license
*/
public function setLicense(\App\Entity\AccountLicense $license = null) {
$this->license = $license;
}
/**
* @return type
*/
public function getSeedData() {
return $this->seedData;
}
/**
* @return \DateTime
*/
public function getDealCancelationDatetime() {
return $this->dealCancelationDatetime;
}
/**
* @param \DateTime $dealCancelationDatetime
*/
public function setDealCancelationDatetime(\DateTime $dealCancelationDatetime = null) {
$this->dealCancelationDatetime = $dealCancelationDatetime;
}
/**
* @return type
*/
public function getArmorResponseData() {
return $this->armorResponseData;
}
/**
* @param type $seedData
*/
public function setSeedData($seedData) {
$this->seedData = $seedData;
}
/**
* @param type $armorResponseData
*/
public function setArmorResponseData($armorResponseData) {
$this->armorResponseData = $armorResponseData;
}
/**
* @return type
*/
public function getJustClaimOnce() {
return $this->justClaimOnce;
}
/**
* @param type $justClaimOnce
*/
public function setJustClaimOnce($justClaimOnce) {
$this->justClaimOnce = $justClaimOnce;
}
/**
* @return type
*/
public function getId() {
return $this->id;
}
/**
* @return \App\Entity\PointAcount
*/
public function getPointAcount(): \App\Entity\PointAcount {
return $this->pointAcount;
}
/**
* @return \App\Entity\TypePointAcount
*/
public function getTypePointAcount(): \App\Entity\TypePointAcount {
return $this->typePointAcount;
}
/**
* @return \DateTime
*/
public function getDealDatetime(): \DateTime {
return $this->dealDatetime;
}
/**
* @return type
*/
public function getDealPtsAmount() {
return $this->dealPtsAmount;
}
/**
* @return \App\Entity\PtsAdquiRedemRules
*/
public function getRule(): \App\Entity\PtsAdquiRedemRules {
return $this->rule;
}
/**
* @param type $id
*/
public function setId($id) {
$this->id = $id;
}
/**
* @param \App\Entity\PointAcount $pointAcount
*/
public function setPointAcount(\App\Entity\PointAcount $pointAcount) {
$this->pointAcount = $pointAcount;
}
/**
* @param \App\Entity\TypePointAcount $typePointAcount
*/
public function setTypePointAcount(\App\Entity\TypePointAcount $typePointAcount) {
$this->typePointAcount = $typePointAcount;
}
/**
* @param \DateTime $dealDatetime
*/
public function setDealDatetime(\DateTime $dealDatetime = null) {
$this->dealDatetime = $dealDatetime;
}
/**
* @param type $dealPtsAmount
*/
public function setDealPtsAmount($dealPtsAmount) {
$this->dealPtsAmount = $dealPtsAmount;
}
/**
* @param \App\Entity\PtsAdquiRedemRules $rule
*/
public function setRule(\App\Entity\PtsAdquiRedemRules $rule) {
$this->rule = $rule;
}
/**
* @ORM\PrePersist
*/
public function syncPrePersist() {
if (!$this->id) {
$newUUID = UUIDGeneratorUtil::getUUIDv4();
$this->setId($newUUID);
}
}
/**
* @return type
*/
public function showEverything() {
return get_object_vars($this);
}
}