public function geo(Request $request, Geo $geo, $id)
 {
     $idDeliveryman = Authorizer::getResourceOwnerId();
     $order = $this->orderRepository->getByIdAndDeliveryman($id, $idDeliveryman);
     $geo->lat = $request->get('lat');
     $geo->long = $request->get('long');
     event(new GetLocationDeliveryMan($geo, $order));
     return $geo;
 }
 public function updateStatus($id, $idDeliveryman, $status)
 {
     $order = $this->orderRepository->getByIdAndDeliveryman($id, $idDeliveryman);
     if ($order instanceof Order) {
         $order->status = $status;
         $order->save();
         return $order;
     }
     return false;
 }
 public function updateStatus($id, $idDeliveryman, $status)
 {
     $order = $this->orderRepository->getByIdAndDeliveryman($id, $idDeliveryman);
     $order->status = $status;
     if ((int) $order->status == 1 && !$order->hash) {
         $order->hash = md5((new \DateTime())->getTimestamp());
     }
     $order->save();
     return $order;
 }
 public function updateStatus($orderId, $deliverymanId, $status)
 {
     $order = $this->orderRepository->getByIdAndDeliveryman($orderId, $deliverymanId);
     $order->status = $status;
     switch ((int) $status) {
         case 1:
             if (!$order->hash) {
                 $order->hash = md5((new \DateTime())->getTimestamp());
             }
             $order->save();
             break;
         case 2:
             $user = $order->client->user;
             $this->pushProcessor->notify([$user->device_token], ['alert' => "Seu pedido #{$order->id} acabou de ser entregue."]);
             $order->save();
             break;
     }
     return $order;
 }