Viewing File: /home/ubuntu/shop-website-base/app/Jobs/OrderMessageJob.php
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use App\Models\Order,App\Models\OrderProduct,App\Models\Product;
use Twilio\Rest\Client;
use App\Models\Admin;
use Exception, DB, Validator, Setting, Log, Hash, Auth;
class OrderMessageJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
/**
* Create a new job instance.
*
* @return void
*/
protected $data;
/**
* Create a new job instance.
*
* @return void
*/
public $tries = 2;
public function __construct($data)
{
//
$this->data = $data;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
//
try {
$order = $this->data['order'];
$admin_data['message'] = tr('admin_order_message',$order->user->name ?? '')." ".$this->data['status'];
$user_message = tr('user_order_message',$order->user->name ?? '')." ".$this->data['status'];
$admin = Admin::find(1);
if(Setting::get('TWILIO_AUTH_SID')!= '' && Setting::get('TWILIO_AUTH_TOKEN')!='') {
$twilio = new Client(Setting::get('TWILIO_AUTH_SID'), Setting::get('TWILIO_AUTH_TOKEN'));
$twilio->messages->create('whatsapp:' . $admin->mobile, [
"from" => 'whatsapp:' . config('services.twilio.whatsapp_from'),
"body" => $admin_data['message']
]);
if(isset($order->user->mobile)){
$twilio->messages->create('whatsapp:' . $order->user->mobile, [
"from" => 'whatsapp:' . config('services.twilio.whatsapp_from'),
"body" => $user_message
]);
}
}
// Log::info("admin data".print_r($admin_data, true));
} catch(Exception $e) {
Log::info("Error ".print_r($e->getMessage(), true));
}
}
}
Back to Directory
File Manager