src/Entity/PointTransactionMultiplier.php line 17

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\PointTransactionMultiplierRepository;
  4. use Doctrine\ORM\Mapping as ORM;
  5. use JMS\Serializer\Annotation as Serializer;
  6. use JMS\Serializer\Annotation\Expose;
  7. use JMS\Serializer\Annotation\Groups;
  8. use Symfony\Component\Validator\Constraints as Assert;
  9. /**
  10. * @ORM\Entity(repositoryClass=PointTransactionMultiplierRepository::class)
  11. *
  12. * @Serializer\ExclusionPolicy ("ALL")
  13. */
  14. class PointTransactionMultiplier
  15. {
  16. /**
  17. * Identifiant unique auto-incrémenté
  18. *
  19. * @ORM\Id
  20. * @ORM\GeneratedValue
  21. * @ORM\Column(type="integer")
  22. *
  23. * @Expose
  24. * @Groups ({"point_transaction_multiplier_list"})
  25. */
  26. private ?int $id = NULL;
  27. /**
  28. * Nombre de points requis pour atteindre ce rang
  29. *
  30. * @ORM\Column(type="integer")
  31. *
  32. * @Assert\PositiveOrZero
  33. *
  34. * @Expose
  35. * @Groups ({"point_transaction_multiplier_list"})
  36. */
  37. private ?int $requiredPoints = NULL;
  38. /**
  39. * Nom du rang
  40. *
  41. * @ORM\Column(type="string", length=255)
  42. *
  43. * @Assert\NotBlank
  44. *
  45. * @Expose
  46. * @Groups ({"point_transaction_multiplier_list"})
  47. */
  48. private ?string $rank = NULL;
  49. /**
  50. * Pourcentage de bonus
  51. *
  52. * @ORM\Column(type="float")
  53. *
  54. * @Assert\PositiveOrZero
  55. *
  56. * @Expose
  57. * @Groups ({"point_transaction_multiplier_list"})
  58. */
  59. private ?float $percentage = NULL;
  60. /**
  61. * Niveau du rang
  62. *
  63. * @ORM\Column(type="integer")
  64. *
  65. * @Assert\PositiveOrZero
  66. *
  67. * @Expose
  68. * @Groups ({"point_transaction_multiplier_list"})
  69. */
  70. private ?int $level = NULL;
  71. /**
  72. * Bonus lors de l'atteinte du rang
  73. *
  74. * @ORM\Column(type="integer", options={"default":0})
  75. *
  76. * @Assert\PositiveOrZero
  77. *
  78. * @Expose
  79. * @Groups ({"point_transaction_multiplier_list"})
  80. */
  81. private int $bonusWhenAchieved = 0;
  82. public function __toString()
  83. {
  84. return $this->getRank();
  85. }
  86. public function getId(): ?int
  87. {
  88. return $this->id;
  89. }
  90. public function getRequiredPoints(): ?int
  91. {
  92. return $this->requiredPoints;
  93. }
  94. public function setRequiredPoints(int $requiredPoints): self
  95. {
  96. $this->requiredPoints = $requiredPoints;
  97. return $this;
  98. }
  99. public function getRank(): ?string
  100. {
  101. return $this->rank;
  102. }
  103. public function setRank(string $rank): self
  104. {
  105. $this->rank = $rank;
  106. return $this;
  107. }
  108. public function getPercentage(): ?float
  109. {
  110. return $this->percentage;
  111. }
  112. public function setPercentage(float $percentage): self
  113. {
  114. $this->percentage = $percentage;
  115. return $this;
  116. }
  117. public function getLevel(): ?int
  118. {
  119. return $this->level;
  120. }
  121. public function setLevel(int $level): self
  122. {
  123. $this->level = $level;
  124. return $this;
  125. }
  126. public function getBonusWhenAchieved(): int
  127. {
  128. return $this->bonusWhenAchieved;
  129. }
  130. public function setBonusWhenAchieved(int $bonusWhenAchieved): self
  131. {
  132. $this->bonusWhenAchieved = $bonusWhenAchieved;
  133. return $this;
  134. }
  135. }