storageInvoiceTransactionProcessor = $storageInvoiceTransactionProcessor; $this->listsTransactions = $listsTransactions; } /** * Handle an incoming request. * * @param Request $request * @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next * @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse */ public function handle(Request $request, Closure $next) { //{"per_page":999,"order_by":{"column":"id","DESC":true},"status_in":[2],"receiver":298,"type_in":[1,16],"does_not_have_payment_status_in":[0,1],"does_not_have_groups":1} $transactions = null; $marking = $request->route('marking'); if($marking){ $connection = CompanyConnection::where('invitee_reference', $marking)->first(); $company_module_id = $connection->invitee->id; $filters = [ 'per_page' => 999, 'status_in' => [2], 'receiver' => $company_module_id, 'type_in' => [1, 16] ]; $transactions = $this->listsTransactions->execute($filters); } else{ $filters = json_decode($request->input('filters'), true); $filters['per_page'] = 999; unset($filters['does_not_have_payment_status_in']); unset($filters['does_not_have_groups']); unset($filters['order_by']); $transactions = $this->listsTransactions->execute($filters); } foreach($transactions as $transaction){ $packingList = $transaction->owner()->first(); $order = $packingList->owner()->first(); if($order instanceof Order){ $this->storageInvoiceTransactionProcessor->execute($order->reference); } } return $next($request); } }