public function dragndropDriver() { $input = array(); $response = array(); $data = array(); $input = Input::all(); try { $response['status'] = "1"; $response['msg'] = "Success"; $onfleet_id = Driver::where('id', $input['driver_id'])->pluck('onfleet_id'); if ($onfleet_id) { $onfleetClass = new OnFleet(); $worker = ['id' => $onfleet_id]; $onfleetResponse = $onfleetClass->getSingleWorker($worker); if (isset($onfleetResponse) && isset($onfleetResponse->id) && $onfleetResponse->id != "" && ($onfleetResponse->activeTask == "" || $onfleetResponse->activeTask == "null")) { if (isset($onfleetResponse->tasks) && is_array($onfleetResponse->tasks) && count($onfleetResponse->tasks) > 0) { $response['status'] = '3'; } } } if ($response['status'] == "1") { $has_processing_order = Order::where('meal_plan_id', $input['meal_plan_id'])->where('market_office_city_delivery_zone_id', $input['exist_zone_id'])->where('driver_id', $input['driver_id'])->where('order_status', 'Processing')->count(); if ($has_processing_order > 0) { $response['status'] = '4'; $response['msg'] = "The driver is assigned,So unable to change zone."; } else { $data['market_office_city_delivery_zone_id'] = $input['zone_id']; TodaysDriversList::where('id', $input['driver_list_id'])->update($data); $response['status'] = '1'; $response['msg'] = "Driver successfully moved"; } } $drivers = $this->driverAndLocationInfo($input); $response['drivers'] = $drivers['data']; $response['driver_count'] = $drivers['count']; $response['meal_cat_name'] = $drivers['meal_cat_name']; $response['delivery_zone'] = $drivers['delivery_zone']; $response['each_driver_count'] = $drivers['each_driver_count']; } catch (Exception $e) { Log::error($e); $response['status'] = '0'; $msg = (array) $e->getMessage(); $response['msg'] = $msg[0]; } return Response::json($response); }
public function getWebhook() { $input = Input::all(); $response = array(); try { $onFleet = new OnFleet(); $response = $onFleet->listWebHook(); } catch (\Exception $e) { Log::error($e); $response['status'] = '0'; $msg = (array) $e->getMessage(); $response['msg'] = $msg[0]; } return Response::json($response); }
public function assignTask($od, $destination, $driver) { $onfleetClass = new OnFleet(); $orgId = $onfleetClass->getOrgID(); $taskDetails = ["merchant" => $orgId, "executor" => $orgId, "destination" => $destination, "recipients" => [$od['recipient_id']], "notes" => "Order " . $od['id'] . ": " . $od['task_note'], "worker" => $driver['onfleet_id']]; $onfleetClass = new OnFleet(); $response = $onfleetClass->createTask($taskDetails); $response = isset($response['output']) ? $response['output'] : false; if ($response || !isset($response->code)) { return $response; } else { return false; } }
public function cancelOrderFromRedis($order_id, $zone_id, $db) { # Check order status [if in orderQeue or orderProcessing] # if (it in order queue) # set order hash value 9 # if in processing Queue # remove data from processing # remove data from hash $this->redis->db($db); $order = $this->redis->hExists('orderQueue:' . $zone_id, $order_id); if ($order) { $testdata = $this->redis->hSet('orderQueue:' . $zone_id, $order_id, 9); # Remove from orderProcessing # $this->redis->hDel('orderProcessing:' . $zone_id, $order_id); # Remove from orderDetails # $this->redis->delete('orderDetails:' . $order_id); ##deleting task fron onfleet $order_data = Order::select('onfleet_task_id', 'onfleet_task_started')->where('id', '=', $order_id)->first(); if (isset($order_data) && $order_data->onfleet_task_id != '') { $onfleet = new OnFleet(); if ($order_data->onfleet_task_started != NULL) { $onfleet->completeTask(array('id' => $order_data->onfleet_task_id, 'completionDetails' => array('success' => false, 'notes' => 'Task cancelled by customer.'))); } else { $onfleet->deleteTask(array('id' => $order_data->onfleet_task_id)); } } } }