where('group', 'unsold_commodity_notifications')->get(); $this->status = $settings->where('key', 'status')->first()->value; $this->start_time = $settings->where('key', 'start_time')->first()->value; $this->end_time = $settings->where('key', 'end_time')->first()->value; $this->message = $settings->where('key', 'message')->first()->value; $isKomoditiStillAvailable = KomuditiPurchase::on('mysql7')->latest()->first()->unit_komuditi === 0; $pic_key = 'pic_' . strtolower(Carbon::now()->englishDayOfWeek); $pic = json_decode($settings->where('key', $pic_key)->first()->value); $phone_numbers = array_map(function ($p) { if(isset($p->no_telefon)){ return $p->no_telefon; } }, $pic); if ($phone_numbers[0] === NULL) { return; } if(JobStatus::where('job_id', $this->job->getJobId()) === false){ return; } if ($this->status === '0') { return; } if (Carbon::parse($this->start_time) > Carbon::now()) { return; } if (Carbon::parse($this->end_time) < Carbon::now()) { return; } // if (!$isKomoditiStillAvailable) { // return; // } foreach ($phone_numbers as $phone_number) { Http::get(env('WABOT_API'), [ 'number' => $phone_number, 'type' => 'text', 'message' => $this->message, 'instance_id' => env('WABOT_INSTANCES_ID'), 'access_token' => env('WABOT_TOKEN_KEYS') ]); } $job_id = dispatch((new WhatsappUnsoldCommodityNotification($this->message))->delay(Carbon::now()->addMinutes(1))); Log::info($job_id); JobStatus::on('mysql7')->create([ 'job_id' => $job_id, 'type' => WhatsappUnsoldCommodityNotification::class, 'status' => true, ]); } }