public static function queryUserInfo($keyword, $user_id = null) { $user_records = Watchdog::getUserRecords($user_id); $user_queues = Analytics::getUserQueues($user_id); $user_data = array_merge($user_records, $user_queues); $values = []; foreach ($user_data as $data) { if ($keyword === 'geolocation' && isset($data['latitude'])) { $values[] = $data['latitude'] . ', ' . $data['longitude']; } else { if ($keyword === 'broadcast' && isset($data['business_id'])) { try { $values[] = Business::name($data['business_id']); } catch (Exception $e) { $values[] = 'Deleted Businesses'; } } else { if (isset($data[$keyword])) { $values[] = $data[$keyword]; } } } } $numbers = array_count_values($values); return $numbers; }
public static function sendNumberNextAndroid($transaction_number, $diff) { $priority_queue = PriorityQueue::find($transaction_number); if ($priority_queue) { $user_id = $priority_queue->user_id; $priority_number = $priority_queue->priority_number; $queue_platform = $priority_queue->queue_platform; $email = $priority_queue->email; $terminal_id = TerminalTransaction::terminalId($transaction_number); $terminal_name = $terminal_id != 0 ? Terminal::name($terminal_id) : ''; $business_id = $terminal_id != 0 ? Business::getBusinessIdByTerminalId($terminal_id) : 0; $business_name = $business_id != 0 ? Business::name($business_id) : ''; $waiting_time = Analytics::getWaitingTime($business_id); $estimated_time = Helper::millisecondsToHMSFormat($waiting_time); $message = "Your number ({$priority_number}) will be called in approximately {$estimated_time}. "; if ($diff == 1) { $message .= "There is currently {$diff} person ahead of you at the {$terminal_name} at {$business_name}."; } else { $message .= "There are currently {$diff} people ahead of you at the {$terminal_name} at {$business_name}."; } if ($queue_platform != 'web' && $queue_platform != 'specific') { $gcm_token = User::gcmToken($user_id); if ($gcm_token) { Notifier::sendAndroid($gcm_token, $message); } } else { if (($queue_platform == 'web' || $queue_platform == 'specific') && $email != null) { $user = User::searchByEmail($email); $gcm_token = $user ? User::gcmToken($user['user_id']) : null; if ($gcm_token) { Notifier::sendAndroid($gcm_token, $message); } } } } }
public static function getUserQueues($user_id = null) { if ($user_id) { $results = Analytics::where('user_id', '=', $user_id)->get(); } else { $results = Analytics::all(); } foreach ($results as $index => $data) { $action = 'issued'; if ($data->action == 1) { $action = 'called'; } else { if ($data->action == 2) { $action = 'served'; } else { if ($data->action == 3) { $action = 'dropped'; } } } try { $user_data[$index][$action] = Business::name($data->business_id); $user_data[$index]['user_id'] = $data->user_id; } catch (Exception $e) { $user_data[$index][$action] = 'Deleted Businesses'; $user_data[$index]['user_id'] = $data->user_id; } } return $user_data; }
public static function getBusinessNameByBranchId($branch_id) { return Business::name(Branch::businessId($branch_id)); }