feat(api): P4 chunk 1b - encaissement + decrement stock #57

Merged
Corentin merged 1 commit from feat/p4-order-pay into dev 2026-06-18 14:29:23 +02:00
Owner
No description provided.
Corentin added 1 commit 2026-06-18 14:20:25 +02:00
feat(api): P4 chunk 1b - encaissement commande + decrement stock
All checks were successful
CI / secret-scan (push) Successful in 12s
CI / php-lint (push) Successful in 28s
CI / static-tests (push) Successful in 1m0s
CI / js-tests (push) Successful in 35s
CI / secret-scan (pull_request) Successful in 13s
CI / php-lint (pull_request) Successful in 33s
CI / static-tests (pull_request) Successful in 59s
CI / js-tests (pull_request) Successful in 27s
CI / auto-merge (push) Has been skipped
CI / auto-merge (pull_request) Successful in 7s
f669c32c25
OrderController (POST /api/orders + /api/orders/{number}/pay) cable sur
OrderRepository::pay : transition gardee pending_payment -> paid et
decrement de stock atomique (RG-5 etapes 5-6, RG-T11/RG-T20) dans une
transaction. Idempotent (deja paid -> renvoi sans re-decrement ; course
concurrente perdue -> sortie idempotente) ; statut terminal -> 409.

Decrement agrege par ingredient (un UPDATE auto-verrouillant + une ligne
stock_movement(sale) par ingredient, ordre de verrou stable par id) ;
modificateurs appliques (remove => 0, add => portion supplementaire) ;
menu = recette du burger + recettes des selections, au format de la ligne.

Inerte tant que les recettes (product_ingredient) ne sont pas seedees.

Routes /api/orders anonymes (kiosk, pas de session). Double de test dedie
extrait en tests/Support/FakeOrderDatabase. PHPUnit 290 + PHPStan L6 verts.
Corentin scheduled this pull request to auto merge when all checks succeed 2026-06-18 14:20:27 +02:00
Corentin merged commit 60ce3460a5 into dev 2026-06-18 14:29:23 +02:00
Sign in to join this conversation.
No reviewers
No labels
auto-merge
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: AcadeNice/corentin_wakdo#57
No description provided.