Пример #1
0
 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;
 }
Пример #2
0
 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);
                 }
             }
         }
     }
 }
Пример #3
0
 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;
 }
Пример #4
0
 public static function getBusinessNameByBranchId($branch_id)
 {
     return Business::name(Branch::businessId($branch_id));
 }