Megrendelések és rendelés-életciklus – rendszerleírás

A rendelés-táblák, az életciklus állapotai, a teljesítés (kiosztás) lépései, a lista tartalmi szűrése és a sztornó, visszaigazolás, visszatérítés végpontjai.

Áttekintés

A megrendelések listája, részletei, fizetés-visszaigazolás, visszatérítés és sztornó. A rendelés-életciklust a Dlbtorder könyvtár viszi. A táblanevek a telepítés saját előtagjával állnak az adatbázisban.

Adatmodell

TáblaSzerep
orderrendelés-fej: kedvezményezett, számlázott, fizető client, állapot, fizetési mód, összegek
order_itemtételek listaárral, csomagárral, kedvezményekkel, biztosított mennyiséggel
order_documentdíjbekérő és számla

Életciklus (Dlbtorder)

Állapotok: draft → pending_payment → paid → provisioned; mellékágon cancelled, failed. Metódusok: preview(), create() (az árat a Dlbtpricing számolja újra), pay(), markPaid(), provision(), refund(), cancel(), issueProforma(), issueInvoice().

A provision(): csomagnál syncClientPlan vagy materialise(..., 'order', false); kiegészítő csomagnál Dlbtresource::grant; egyéb tételnél főkönyv, funkciónál Dlbtentitlement::grant(..., 'order'); kredit-feltöltésnél wallet.

Végpontok

  • order.list (list): a tartalmi jog szerinti clientekre szűrve (getAllowedCompanyIds); szűrő a cégcsoport és cég pár (order.companies → közös cégválasztó).
  • order.info (view): getOrder($id, $allowed); a számla-link csak finance/invoice::list joggal.
  • order.cancel → Dlbtorder::cancel(id, 'admin'); order.confirm → Dlbtorder::markPaid(id, 'manual'), ami a kiosztást is elindítja. Mindkettő cancel jog + tartalmi jog.
  • order.refund (refund + tartalmi jog): Dlbtorder::refund(id, amount, reason, actor); hibakódok error_refund_*; a gomb csak finance/invoice::list joggal is.

A kulcsok (list, view, cancel, refund, debug) a seedekben nincsenek besorolva.

Kapcsolódó témák: megrendelés online fizetés tartalmi jog