user()->all_orders()->findOrFail($order_id); $orderItem = $this->orderItemRepository->with('order') ->findOrFail($item_id); if($order->shipping_amount>0){ $order = $this->orderRepository->calculateShipping($order,$orderItem); } if($this->orderItemRepository->cancel($orderItem)) { $order = $this->orderRepository->updateOrderStatus($order); $order = $this->orderRepository->calculateTotals($order); Event::dispatch('sales.order.update-status.item', $order); return response(['data'=>[ 'order' => new OrderResource($order)], 'success' => true, 'message' => trans('admin::app.response.cancel-success', ['name' => 'Order Item']) ]); } else { return response([ 'success'=>false, 'message'=>trans('admin::app.response.cancel-error', ['name' => 'Order Item']) ]); } } /** * Returns a listing of the resource. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function allResources(Request $request) { $query = $this->getRepositoryInstance()->scopeQuery(function ($query) use ($request) { if ($this->isAuthorized()) { $query = $query->where('customer_id', $request->user()->id); } foreach ($request->except($this->requestException) as $input => $value) { $query = $query->whereIn($input, array_map('trim', explode(',', $value))); } if ($sort = $request->input('sort')) { $query = $query->orderBy($sort, $request->input('order') ?? 'desc'); } else { $query = $query->orderBy('id', 'desc'); } return $query; }); if (is_null($request->input('pagination')) || $request->input('pagination')) { $results = $query->paginate($request->input('limit') ?? 10); } else { $results = $query->get(); } return $this->getResourceCollection($results); } }