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 ($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') ]); } dispatch((new WhatsappUnsoldCommodityNotification($this->message))->delay(Carbon::now()->addMinutes(5))); } }