Warenwirtschaft: Review-Fix — Mahnwesen-Storno über OrderStatusService::setShipped
Der Auto-Storno der Zahlungserinnerung schrieb shipped=10 direkt und rief nur syncSaleStock() — Margen-Storno-Flag, pending_to/shipped_at-Reset und Promotions-/Guthaben-Folgen fehlten. Die Partnerprovision einer versendeten, nie bezahlten Bestellung wäre zahlbar geblieben. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
3eb14762e7
commit
ddd6dde593
3 changed files with 59 additions and 4 deletions
|
|
@ -185,10 +185,12 @@ class PaymentReminderService
|
|||
// action ausführen
|
||||
if ($payment_reminder->action === 'set_order_status_cancelled') {
|
||||
$this->setNoNPayment($payment);
|
||||
$payment->shopping_order->shipped = 10;
|
||||
$payment->shopping_order->save();
|
||||
// AP-13: war die Bestellung bereits versendet, gebuchte Verkaufs-Abgänge zurückführen
|
||||
app(ProductStockService::class)->syncSaleStock($payment->shopping_order);
|
||||
// Review-Fix 20.07.2026: Storno über den zentralen Statuswechsel — der setzt
|
||||
// neben dem AP-13-Bestandsabgleich auch das Storno-Flag der Marge, nullt
|
||||
// pending_to/shipped_at und behandelt Promotions-/Guthaben-Folgen. Der
|
||||
// bisherige Direkt-Write (shipped = 10 + syncSaleStock) ließ die Provision
|
||||
// einer versendeten, nie bezahlten Bestellung zahlbar stehen.
|
||||
app(OrderStatusService::class)->setShipped($payment->shopping_order->id, 10);
|
||||
$this->createLog(
|
||||
'action_completed',
|
||||
"Action abgeschlossen: Bestellung auf 'Storniert' gesetzt, Payment auf 'non' gesetzt",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue