feat: phase 4 — orders with status workflow, idempotent complete_order RPC, delivery note PDF
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Services\OrderService;
|
||||
use Barryvdh\DomPDF\Facade\Pdf;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
class DeliveryNoteController extends Controller
|
||||
{
|
||||
public function __invoke(string $orderId, OrderService $service): Response
|
||||
{
|
||||
$order = $service->deliveryNoteData($orderId);
|
||||
|
||||
$total = collect($order['order_items'] ?? [])->sum(fn ($item) => (int) ($item['subtotal'] ?? 0));
|
||||
|
||||
$pdf = Pdf::loadView('pdf.delivery-note', [
|
||||
'order' => $order,
|
||||
'total' => $total,
|
||||
])->setPaper('a5', 'landscape');
|
||||
|
||||
return $pdf->stream(str_replace('/', '-', $order['note_number']).'.pdf');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user