<?php namespace App\Entity; use App\Repository\PointTransactionMultiplierRepository; use Doctrine\ORM\Mapping as ORM; use JMS\Serializer\Annotation as Serializer; use JMS\Serializer\Annotation\Expose; use JMS\Serializer\Annotation\Groups; use Symfony\Component\Validator\Constraints as Assert; /** * @ORM\Entity(repositoryClass=PointTransactionMultiplierRepository::class) * * @Serializer\ExclusionPolicy ("ALL") */ class PointTransactionMultiplier { /** * Identifiant unique auto-incrémenté * * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(type="integer") * * @Expose * @Groups ({"point_transaction_multiplier_list"}) */ private ?int $id = NULL; /** * Nombre de points requis pour atteindre ce rang * * @ORM\Column(type="integer") * * @Assert\PositiveOrZero * * @Expose * @Groups ({"point_transaction_multiplier_list"}) */ private ?int $requiredPoints = NULL; /** * Nom du rang * * @ORM\Column(type="string", length=255) * * @Assert\NotBlank * * @Expose * @Groups ({"point_transaction_multiplier_list"}) */ private ?string $rank = NULL; /** * Pourcentage de bonus * * @ORM\Column(type="float") * * @Assert\PositiveOrZero * * @Expose * @Groups ({"point_transaction_multiplier_list"}) */ private ?float $percentage = NULL; /** * Niveau du rang * * @ORM\Column(type="integer") * * @Assert\PositiveOrZero * * @Expose * @Groups ({"point_transaction_multiplier_list"}) */ private ?int $level = NULL; /** * Bonus lors de l'atteinte du rang * * @ORM\Column(type="integer", options={"default":0}) * * @Assert\PositiveOrZero * * @Expose * @Groups ({"point_transaction_multiplier_list"}) */ private int $bonusWhenAchieved = 0; public function __toString() { return $this->getRank(); } public function getId(): ?int { return $this->id; } public function getRequiredPoints(): ?int { return $this->requiredPoints; } public function setRequiredPoints(int $requiredPoints): self { $this->requiredPoints = $requiredPoints; return $this; } public function getRank(): ?string { return $this->rank; } public function setRank(string $rank): self { $this->rank = $rank; return $this; } public function getPercentage(): ?float { return $this->percentage; } public function setPercentage(float $percentage): self { $this->percentage = $percentage; return $this; } public function getLevel(): ?int { return $this->level; } public function setLevel(int $level): self { $this->level = $level; return $this; } public function getBonusWhenAchieved(): int { return $this->bonusWhenAchieved; } public function setBonusWhenAchieved(int $bonusWhenAchieved): self { $this->bonusWhenAchieved = $bonusWhenAchieved; return $this; } }