Files
api-extranetwork/app/Core/Mail/ChannelManagerNotificationMail.php
ExtraNetwork e5c4b6aa13 first commit
2026-05-12 17:04:54 +03:00

71 lines
2.0 KiB
PHP

<?php
namespace App\Core\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Config;
class ChannelManagerNotificationMail extends Mailable
{
use Queueable, SerializesModels;
public $tries = 5;
public $timeout = 30;
protected $param;
public function __construct($param)
{
$this->param = $param;
}
public function build()
{
try {
$params = $this->param;
$mailSenderAddress = Config::get('app.mailSenderAddress');
$propertyService = App::make('App\Core\Service\PropertyService');
$requestData = [
'criteria' => [
['field' => 'id', 'condition' => '=', 'value' => $params['propertyId']]
],
'with' => ['propertyUser.user'],
'firstRow' => true
];
$propertyDetail = $propertyService->select($requestData);
$propertyUser = [];
if($propertyDetail['status'] == 'success' && !empty($propertyDetail['data'])) {
$propertyUser = collect($propertyDetail['data']['property_user'])->where('status',1)->pluck('user.email')->toArray();
}
/*echo view('emails.channelManagerNotificationMail', compact('params'));
die();*/
return $this->from($mailSenderAddress, 'Extranetwork')
->view('emails.channelManagerNotificationMail', compact('params'))
->to('channel@extranetwork.com', 'Extranetwork Channel')
->bcc($propertyUser)
->subject('Channel Update Error: ' . $params['propertyName']);
} catch (Exception $e) {
$message = $e->getFile() . " " . $e->getLine() . " " . $e->getMessage();
Log::error($message);
return output(['status' => -1, 'message' => $e->getMessage()]);
}
}
}