The Order module is the largest in dazoapp. Key points (see Indonesian version for details):
- Two status dimensions:
status(pending/process/delivery/complete/cancel/complained/refund) andpayment_status(unpaid/confirmed/paid) OrderObservertriggers onpayment_status → paid: wallet deposit (instant_payment only), stock decrement, digital product link delivery- Mass update does not trigger observer — must use
$order->save().change_payment_status(single) uses mass update (bug-prone),change_payment_status_multipleusessave()(works) - Invoice via DomPDF (
invoice.blade.php, 705 lines), export via Maatwebsite Excel - Integrates with backend Go (
url_api) for sending messages, and engine WhatsApp (url_engine) for chat sync Order/Main.vueis a 9,668-line god component with 8 modals and 2 tabs