Browse Source

fix(cassa): evita doppio avvio pagamento ordine

Co-authored-by: Cursor <cursoragent@cursor.com>
marcofalabretti 2 weeks ago
parent
commit
c832c4dd96
1 changed files with 14 additions and 1 deletions
  1. 14
    1
      app/Http/Controllers/CarrelloController.php

+ 14
- 1
app/Http/Controllers/CarrelloController.php View File

391
             return back()->with('error', 'Tag ID obbligatorio per il metodo di pagamento Segresta Wallet');
391
             return back()->with('error', 'Tag ID obbligatorio per il metodo di pagamento Segresta Wallet');
392
         }
392
         }
393
 
393
 
394
+        $presi = Ordine::where('id', $ordine->id)
395
+            ->where('stato', Ordine::CARRELLO)
396
+            ->update(['stato' => Ordine::IN_ATTESA_PAGAMENTO]);
397
+
398
+        if ($presi === 0) {
399
+            return redirect()
400
+                ->route('punto-vendita.show', ['punto_vendita_id' => $ordine->dispositivo_id])
401
+                ->with('error', 'Ordine già in pagamento. Non confermare di nuovo.');
402
+        }
403
+
404
+        $ordine->refresh();
405
+
406
+
394
         $pagamento = Pagamento::create([
407
         $pagamento = Pagamento::create([
395
             'attivita_id' => $attivitaId,
408
             'attivita_id' => $attivitaId,
396
             'dispositivo_id' => $dispositivoId,
409
             'dispositivo_id' => $dispositivoId,
401
             'causale' => $ordine->attivita->nome.' - Pagamento ordine #'.$ordine->id,
414
             'causale' => $ordine->attivita->nome.' - Pagamento ordine #'.$ordine->id,
402
         ]);
415
         ]);
403
         $ordine->pagamento_id = $pagamento->id;
416
         $ordine->pagamento_id = $pagamento->id;
404
-        $ordine->stato = Ordine::IN_ATTESA_PAGAMENTO;
417
+        // $ordine->stato = Ordine::IN_ATTESA_PAGAMENTO;
405
 
418
 
406
         $ordine->info = array_merge(
419
         $ordine->info = array_merge(
407
             is_array($ordine->info) ? $ordine->info : [],
420
             is_array($ordine->info) ? $ordine->info : [],

Loading…
Cancel
Save