From f38148cca365bb62c4f9c9698ef804877299a130 Mon Sep 17 00:00:00 2001 From: joddyabott Date: Tue, 19 Aug 2025 16:09:25 +0330 Subject: [PATCH] write event for harim --- .../ConfirmGuaranteeLetterNeedProcessed.php | 17 +++++++ .../ConfirmNoRoadAccessNeedProcessed.php | 17 +++++++ .../ConfirmRoadAccessEditNeedProcessed.php | 23 +++++++++ .../Harim/ConfirmRoadAccessNeedProcessed.php | 20 ++++++++ .../Harim/RejectRequestProcessed.php | 35 +++++++++++++ .../Harim/GeneralManagerController.php | 10 ++++ .../Harim/SendConfirmGuaranteeLetterNeed.php | 36 +++++++++++++ .../Harim/SendConfirmNoRoadAccessEditNeed.php | 39 ++++++++++++++ .../Harim/SendConfirmNoRoadAccessNeed.php | 39 ++++++++++++++ .../Harim/SendConfirmRoadAccessNeed.php | 47 +++++++++++++++++ .../Harim/SendRejectNotification.php | 51 +++++++++++++++++++ 11 files changed, 334 insertions(+) create mode 100644 app/Events/V3/Dashboard/Harim/ConfirmGuaranteeLetterNeedProcessed.php create mode 100644 app/Events/V3/Dashboard/Harim/ConfirmNoRoadAccessNeedProcessed.php create mode 100644 app/Events/V3/Dashboard/Harim/ConfirmRoadAccessEditNeedProcessed.php create mode 100644 app/Events/V3/Dashboard/Harim/ConfirmRoadAccessNeedProcessed.php create mode 100644 app/Events/V3/Dashboard/Harim/RejectRequestProcessed.php create mode 100644 app/Listeners/V3/Dashboard/Harim/SendConfirmGuaranteeLetterNeed.php create mode 100644 app/Listeners/V3/Dashboard/Harim/SendConfirmNoRoadAccessEditNeed.php create mode 100644 app/Listeners/V3/Dashboard/Harim/SendConfirmNoRoadAccessNeed.php create mode 100644 app/Listeners/V3/Dashboard/Harim/SendConfirmRoadAccessNeed.php create mode 100644 app/Listeners/V3/Dashboard/Harim/SendRejectNotification.php diff --git a/app/Events/V3/Dashboard/Harim/ConfirmGuaranteeLetterNeedProcessed.php b/app/Events/V3/Dashboard/Harim/ConfirmGuaranteeLetterNeedProcessed.php new file mode 100644 index 00000000..ee92536f --- /dev/null +++ b/app/Events/V3/Dashboard/Harim/ConfirmGuaranteeLetterNeedProcessed.php @@ -0,0 +1,17 @@ + + */ + public function broadcastOn(): array + { + return [ + new PrivateChannel('channel-name'), + ]; + } +} diff --git a/app/Http/Controllers/V3/Dashboard/Harim/GeneralManagerController.php b/app/Http/Controllers/V3/Dashboard/Harim/GeneralManagerController.php index 04c1ad76..5e75f7a0 100644 --- a/app/Http/Controllers/V3/Dashboard/Harim/GeneralManagerController.php +++ b/app/Http/Controllers/V3/Dashboard/Harim/GeneralManagerController.php @@ -4,6 +4,10 @@ namespace App\Http\Controllers\V3\Dashboard\Harim; use App\Enums\HarimAction; use App\Enums\HarimStates; +use App\Events\V3\Dashboard\Harim\ConfirmGuaranteeLetterNeedProcessed; +use App\Events\V3\Dashboard\Harim\ConfirmNoRoadAccessNeedProcessed; +use App\Events\V3\Dashboard\Harim\ConfirmRoadAccessNeedProcessed; +use App\Events\V3\Dashboard\Harim\RejectRequestProcessed; use App\Facades\DataTable\DataTableFacade; use App\Http\Controllers\Controller; use App\Http\Requests\V3\Dashboard\Harim\GeneralManager\ConfirmRoadAccessEditNeedRequest; @@ -57,6 +61,7 @@ class GeneralManagerController extends Controller 'state_id' => $state, 'state_name' => HarimStates::name($state), ]); + RejectRequestProcessed::dispatch($request->harim_id); }); return $this->successResponse(); } @@ -125,6 +130,7 @@ class GeneralManagerController extends Controller 'state_id' => $state, 'state_name' => HarimStates::name($state), ]); + ConfirmRoadAccessNeedProcessed::dispatch($request->harim_id); }); return $this->successResponse(); } @@ -147,6 +153,8 @@ class GeneralManagerController extends Controller 'state_id' => $state, 'state_name' => HarimStates::name($state), ]); + ConfirmNoRoadAccessNeedProcessed::dispatch($request->harim_id); + }); return $this->successResponse(); } @@ -169,6 +177,7 @@ class GeneralManagerController extends Controller 'state_id' => $state, 'state_name' => HarimStates::name($state), ]); + ConfirmRoadAccessEditNeedRequest::dispatch($request->harim_id); }); return $this->successResponse(); } @@ -191,6 +200,7 @@ class GeneralManagerController extends Controller 'state_id' => $state, 'state_name' => HarimStates::name($state), ]); + ConfirmGuaranteeLetterNeedProcessed::dispatch($request->harim_id); }); return $this->successResponse(); } diff --git a/app/Listeners/V3/Dashboard/Harim/SendConfirmGuaranteeLetterNeed.php b/app/Listeners/V3/Dashboard/Harim/SendConfirmGuaranteeLetterNeed.php new file mode 100644 index 00000000..861f9670 --- /dev/null +++ b/app/Listeners/V3/Dashboard/Harim/SendConfirmGuaranteeLetterNeed.php @@ -0,0 +1,36 @@ +url = config('harim_web_services.reject.url'); + $this->username = config('harim_web_services.reject.username'); + $this->password = config('harim_web_services.reject.password'); + } + public function handle(ConfirmGuaranteeLetterNeedProcessed $event): void + { + // + } + public function subscribe(Dispatcher $events) + { + $events->listen( + ConfirmGuaranteeLetterNeedProcessed::class, + SendConfirmGuaranteeLetterNeed::class, + ); + } + +} diff --git a/app/Listeners/V3/Dashboard/Harim/SendConfirmNoRoadAccessEditNeed.php b/app/Listeners/V3/Dashboard/Harim/SendConfirmNoRoadAccessEditNeed.php new file mode 100644 index 00000000..437d655c --- /dev/null +++ b/app/Listeners/V3/Dashboard/Harim/SendConfirmNoRoadAccessEditNeed.php @@ -0,0 +1,39 @@ +url = config('harim_web_services.reject.url'); + $this->username = config('harim_web_services.reject.username'); + $this->password = config('harim_web_services.reject.password'); + } + + public function handle(ConfirmRoadAccessEditNeedProcessed $event): void + { + // + } + + public function subscribe(Dispatcher $events) + { + $events->listen( + ConfirmRoadAccessEditNeedProcessed::class, + SendConfirmNoRoadAccessEditNeed::class, + ); + } + +} diff --git a/app/Listeners/V3/Dashboard/Harim/SendConfirmNoRoadAccessNeed.php b/app/Listeners/V3/Dashboard/Harim/SendConfirmNoRoadAccessNeed.php new file mode 100644 index 00000000..2fe8a514 --- /dev/null +++ b/app/Listeners/V3/Dashboard/Harim/SendConfirmNoRoadAccessNeed.php @@ -0,0 +1,39 @@ +url = config('harim_web_services.reject.url'); + $this->username = config('harim_web_services.reject.username'); + $this->password = config('harim_web_services.reject.password'); + } + + public function handle(ConfirmNoRoadAccessNeedProcessed $event): void + { + // + } + + public function subscribe(Dispatcher $events) + { + $events->listen( + ConfirmNoRoadAccessNeedProcessed::class, + SendConfirmNoRoadAccessNeed::class, + ); + + } + +} diff --git a/app/Listeners/V3/Dashboard/Harim/SendConfirmRoadAccessNeed.php b/app/Listeners/V3/Dashboard/Harim/SendConfirmRoadAccessNeed.php new file mode 100644 index 00000000..d5bf4cb3 --- /dev/null +++ b/app/Listeners/V3/Dashboard/Harim/SendConfirmRoadAccessNeed.php @@ -0,0 +1,47 @@ +url = config('harim_web_services.reject.url'); + $this->username = config('harim_web_services.reject.username'); + $this->password = config('harim_web_services.reject.password'); + + } + + /** + * Handle the event. + */ + public function handle(ConfirmRoadAccessNeedProcessed $event): void + { + Http::post($this->url, + array( + 'username' => $this->username, + 'password' => $this->password, + 'harim_id' => $this->harimId, + 'status' => 'rejected', + 'message' => $this->message, + ))->throw(); + } + public function subscribe(Dispatcher $events) + { + $events->listen( + ConfirmRoadAccessNeedProcessed::class , + SendConfirmRoadAccessNeed::class, + ); + + } +} diff --git a/app/Listeners/V3/Dashboard/Harim/SendRejectNotification.php b/app/Listeners/V3/Dashboard/Harim/SendRejectNotification.php new file mode 100644 index 00000000..37b6b025 --- /dev/null +++ b/app/Listeners/V3/Dashboard/Harim/SendRejectNotification.php @@ -0,0 +1,51 @@ +url = config('harim_web_services.reject.url'); + $this->username = config('harim_web_services.reject.username'); + $this->password = config('harim_web_services.reject.password'); + } + + /** + * @throws RequestException + */ + public function handle(RejectRequestProcessed $event): void + { + Http::post($this->url, + array( + 'username' => $this->username, + 'password' => $this->password, + 'harim_id' => $this->harimId, + 'status' => 'need road access', + 'panjareh_vahed_id' => $this->panjareh_vahed_id, + 'date' => now(), + 'single choice' => 'accepted', + + ))->throw(); + } + + public function subscribe(Dispatcher $events) + { + $events->listen( + RejectRequestProcessed::class, + SendRejectNotification::class, 'handle' + ); + + } +}