public static function checkRemoteQueue($service_id) { $date = mktime(0, 0, 0, date('m'), date('d'), date('Y')); $allow_remote = QueueSettings::allowRemote($service_id); $remote_limit = QueueSettings::remoteLimit($service_id); $total_numbers_today = PriorityNumber::where('date', '=', $date)->select(DB::raw('COUNT(priority_number.track_id) as total_numbers_today'))->first()->total_numbers_today; $total_remote_today = PriorityNumber::where('date', '=', $date)->join('priority_queue', 'priority_queue.track_id', '=', 'priority_number.track_id')->where(function ($query) { $query->where('priority_queue.queue_platform', '=', 'remote')->orWhere('priority_queue.queue_platform', '=', 'android'); })->select(DB::raw('COUNT(priority_number.track_id) as total_remote_today'))->first()->total_remote_today; $remote_queue_value = floor($total_numbers_today * ($remote_limit / 100)); $result = $allow_remote && $remote_queue_value > $total_remote_today ? true : false; return $result; }
public static function getTrackIdByServiceId($service_id) { return PriorityNumber::where('service_id', '=', $service_id)->select(array('track_id'))->get(); }