26 lines
779 B
PHP
26 lines
779 B
PHP
<?php
|
|
|
|
namespace Modules\Core\Order\Events;
|
|
|
|
use Illuminate\Foundation\Events\Dispatchable;
|
|
use Lunar\Models\Order;
|
|
|
|
/**
|
|
* The one terminal signal every notification/reporting concern that only
|
|
* cares about "this order is fully done" should listen to, regardless of
|
|
* which path actually got it there — dispatched by all four:
|
|
* Modules\Core\Order\Listeners\CompleteOrderOnPickedUp (store-pickup),
|
|
* Modules\Core\Order\Commands\CloseExpiredReturnWindows (carrier,
|
|
* automatic 14-day return-window expiry), or Modules\Core\Shipping\
|
|
* Extensions\OrderViewExtension's "Mark Completed" action (manual
|
|
* universal fallback, either branch).
|
|
*/
|
|
class OrderCompleted
|
|
{
|
|
use Dispatchable;
|
|
|
|
public function __construct(
|
|
public readonly Order $order,
|
|
) {}
|
|
}
|