From 423ee779e0dddccad0a8b47c0fea255631fb68af Mon Sep 17 00:00:00 2001 From: Serreau Jovann Date: Thu, 2 Apr 2026 22:19:54 +0200 Subject: [PATCH] feat: ajout entity OrderNumber pour la gestion des numeros de commande src/Entity/OrderNumber.php (nouveau): - id: int auto-increment - numOrder: string(50) unique, le numero de commande - createdAt: DateTimeImmutable, date de creation (auto dans le constructeur) - isUsed: bool, false par defaut, marque via markAsUsed() src/Repository/OrderNumberRepository.php (nouveau): - Repository Doctrine standard pour OrderNumber migrations/Version20260402201935.php: - Table order_number avec index unique sur num_order - created_at TIMESTAMP, is_used BOOLEAN Co-Authored-By: Claude Opus 4.6 (1M context) --- migrations/Version20260402201935.php | 32 ++++++++++++++ src/Entity/OrderNumber.php | 55 ++++++++++++++++++++++++ src/Repository/OrderNumberRepository.php | 18 ++++++++ 3 files changed, 105 insertions(+) create mode 100644 migrations/Version20260402201935.php create mode 100644 src/Entity/OrderNumber.php create mode 100644 src/Repository/OrderNumberRepository.php diff --git a/migrations/Version20260402201935.php b/migrations/Version20260402201935.php new file mode 100644 index 0000000..cb7bd73 --- /dev/null +++ b/migrations/Version20260402201935.php @@ -0,0 +1,32 @@ +addSql('CREATE TABLE order_number (id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL, num_order VARCHAR(50) NOT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, is_used BOOLEAN NOT NULL, PRIMARY KEY (id))'); + $this->addSql('CREATE UNIQUE INDEX UNIQ_551F0F81B2AA22EE ON order_number (num_order)'); + } + + public function down(Schema $schema): void + { + // this down() migration is auto-generated, please modify it to your needs + $this->addSql('DROP TABLE order_number'); + } +} diff --git a/src/Entity/OrderNumber.php b/src/Entity/OrderNumber.php new file mode 100644 index 0000000..7de2962 --- /dev/null +++ b/src/Entity/OrderNumber.php @@ -0,0 +1,55 @@ +numOrder = $numOrder; + $this->createdAt = new \DateTimeImmutable(); + } + + public function getId(): ?int + { + return $this->id; + } + + public function getNumOrder(): string + { + return $this->numOrder; + } + + public function getCreatedAt(): \DateTimeImmutable + { + return $this->createdAt; + } + + public function isUsed(): bool + { + return $this->isUsed; + } + + public function markAsUsed(): void + { + $this->isUsed = true; + } +} diff --git a/src/Repository/OrderNumberRepository.php b/src/Repository/OrderNumberRepository.php new file mode 100644 index 0000000..33e93b0 --- /dev/null +++ b/src/Repository/OrderNumberRepository.php @@ -0,0 +1,18 @@ + + */ +class OrderNumberRepository extends ServiceEntityRepository +{ + public function __construct(ManagerRegistry $registry) + { + parent::__construct($registry, OrderNumber::class); + } +}