Abo Einmalprodukte: Phase 4 - Ausfuehrung, Purge & User-Retry
- UserMakeOrder: bestaetigte Einmal-Artikel in den Yard, is_abo_addon auf ShoppingOrderItem; amount bleibt reiner Abo-Betrag (Reihenfolge) - AboOneTimeService::purgeAfterExecution: loescht alle Einmal-Artikel und rechnet Comp-Produkte neu - nur im Erfolgszweig (Cron + Retry) - User-Retry in Sales Center und Portal mit Berechtigungspruefung, gemeinsames Confirm-Modal; Admin-Retry unveraendert - Tests: AboMakeOrderOneTimeTest, AboUserRetryTest; Plan-Doku Phase 4 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
8288ea59ac
commit
ee04146217
14 changed files with 536 additions and 19 deletions
|
|
@ -177,8 +177,13 @@ class UserMakeOrder
|
|||
}
|
||||
|
||||
// hier wird die Bestellung erstellt inkl aktueller Preise
|
||||
// (setzt user_abos.amount auf den REINEN Abo-Betrag)
|
||||
AboOrderCart::makeOrderYard($this->userAbo);
|
||||
|
||||
// Verbindlich bestätigte Einmal-Artikel zusätzlich in den Yard laden
|
||||
// (verändert user_abos.amount NICHT; Versand/Gewicht werden kombiniert berechnet).
|
||||
AboOrderCart::addOneTimeItemsToYard($this->userAbo);
|
||||
|
||||
$yard = Yard::instance(AboOrderCart::INSTANCE);
|
||||
|
||||
// Debug: Logge welche Produkte im Cart sind
|
||||
|
|
@ -268,6 +273,7 @@ class UserMakeOrder
|
|||
'row_id' => $item->rowId,
|
||||
'product_id' => $item->id,
|
||||
'comp' => $item->options->comp,
|
||||
'is_abo_addon' => (bool) ($item->options->abo_addon ?? false),
|
||||
'qty' => $item->qty,
|
||||
'price' => $item->price,
|
||||
'price_net' => $price_net,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue