src/Entity/UserBusinessResult.php line 24

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\UserBusinessResultRepository;
  4. use App\Traits\DateTrait;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use JMS\Serializer\Annotation as Serializer;
  7. use JMS\Serializer\Annotation\Expose;
  8. use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
  9. /**
  10. * @ORM\Table(uniqueConstraints={
  11. * @ORM\UniqueConstraint(columns={"rrdi_code", "seller_code", "highlight"})
  12. * })
  13. *
  14. * @ORM\Entity(repositoryClass=UserBusinessResultRepository::class)
  15. * @ORM\HasLifecycleCallbacks()
  16. *
  17. * @UniqueEntity(fields={"rrdiCode", "sellerCode", "highlight"})
  18. *
  19. * @Serializer\ExclusionPolicy("ALL")
  20. */
  21. class UserBusinessResult
  22. {
  23. use DateTrait;
  24. /**
  25. * @ORM\Id
  26. * @ORM\GeneratedValue
  27. * @ORM\Column(type="integer")
  28. *
  29. * @Expose
  30. * @Serializer\Groups({
  31. * "user_bussiness_result:id"
  32. * })
  33. */
  34. private ?int $id = NULL;
  35. /**
  36. * @ORM\Column(type="integer")
  37. *
  38. * @Expose
  39. * @Serializer\Groups({
  40. * "user_bussiness_result",
  41. * "user_bussiness_result:sale",
  42. * "userBusinessResult:sale",
  43. * "export_user_datatable"
  44. * })
  45. */
  46. private ?int $sale = NULL;
  47. /**
  48. * @ORM\ManyToOne(targetEntity=User::class, inversedBy="userBusinessResults" , fetch="EAGER")
  49. * @ORM\JoinColumn(nullable=true)
  50. *
  51. * @Expose
  52. * @Serializer\Groups({
  53. * "user_bussiness_result",
  54. * "user_bussiness_result:user"
  55. * })
  56. */
  57. private ?User $user;
  58. /**
  59. * @ORM\Column(type="string", length=64, nullable=true)
  60. *
  61. * @Expose
  62. * @Serializer\Groups({
  63. * "user_bussiness_result",
  64. * "user_bussiness_result:rrdi_code"
  65. * })
  66. */
  67. private ?string $rrdiCode = NULL;
  68. /**
  69. * @ORM\Column(type="string", length=64, nullable=true)
  70. *
  71. * @Expose
  72. * @Serializer\Groups({
  73. * "user_bussiness_result",
  74. * "user_bussiness_result:seller_code"
  75. * })
  76. */
  77. private ?string $sellerCode = NULL;
  78. /**
  79. * @ORM\Column(type="integer", nullable=true)
  80. *
  81. * @Expose
  82. * @Serializer\Groups({"user_bussiness_result"})
  83. */
  84. private ?int $highlight = NULL;
  85. /**
  86. * @ORM\OneToOne(targetEntity=PointTransaction::class, mappedBy="businessResult", cascade={"persist", "remove"})
  87. */
  88. private ?PointTransaction $pointTransaction;
  89. /**
  90. * @ORM\Column(type="string", length=255, nullable=true)
  91. *
  92. * @Expose
  93. * @Serializer\Groups({
  94. * "user_bussiness_result",
  95. * "user_bussiness_result:accountId",
  96. * "userBusinessResult:accountId",
  97. * "export_user_datatable"
  98. * })
  99. *
  100. */
  101. private ?string $accountId = NULL;
  102. public function getId(): ?int
  103. {
  104. return $this->id;
  105. }
  106. public function getSale(): ?int
  107. {
  108. return $this->sale;
  109. }
  110. public function setSale(int $sale): self
  111. {
  112. $this->sale = $sale;
  113. return $this;
  114. }
  115. public function getRrdiCode(): ?string
  116. {
  117. return $this->rrdiCode;
  118. }
  119. public function setRrdiCode(?string $rrdiCode): self
  120. {
  121. $this->rrdiCode = $rrdiCode;
  122. return $this;
  123. }
  124. public function getSellerCode(): ?string
  125. {
  126. return $this->sellerCode;
  127. }
  128. public function setSellerCode(?string $sellerCode): self
  129. {
  130. $this->sellerCode = $sellerCode;
  131. if(strlen($sellerCode) > 7 && empty($this->rrdiCode)) $this->rrdiCode = substr($sellerCode, 0, 7);
  132. return $this;
  133. }
  134. public function getHighlight(): ?int
  135. {
  136. return $this->highlight;
  137. }
  138. public function setHighlight(?int $highlight): self
  139. {
  140. $this->highlight = $highlight;
  141. return $this;
  142. }
  143. public function getUser(): ?User
  144. {
  145. return $this->user;
  146. }
  147. public function setUser(?User $user): self
  148. {
  149. $this->user = $user;
  150. return $this;
  151. }
  152. public function getPointTransaction(): ?PointTransaction
  153. {
  154. return $this->pointTransaction;
  155. }
  156. public function setPointTransaction(?PointTransaction $pointTransaction): self
  157. {
  158. // unset the owning side of the relation if necessary
  159. if ($pointTransaction === NULL && $this->pointTransaction !== NULL) {
  160. $this->pointTransaction->setBusinessResult(NULL);
  161. }
  162. // set the owning side of the relation if necessary
  163. if ($pointTransaction !== NULL && $pointTransaction->getBusinessResult() !== $this) {
  164. $pointTransaction->setBusinessResult($this);
  165. }
  166. $this->pointTransaction = $pointTransaction;
  167. return $this;
  168. }
  169. public function getAccountId(): ?string
  170. {
  171. return $this->accountId;
  172. }
  173. public function setAccountId(?string $accountId): self
  174. {
  175. $this->accountId = $accountId;
  176. return $this;
  177. }
  178. }