From f72062fffdb2b844dd9244d00fb9856d2e56375d Mon Sep 17 00:00:00 2001 From: Juan Felipe Duarte <70235683+DuarteJFelipe@users.noreply.github.com> Date: Thu, 26 Jun 2025 16:50:48 -0700 Subject: [PATCH] saldo restado --- app/Http/Livewire/ShowUsuarios.php | 62 +++++++++++++ .../views/livewire/show-tarifas.blade.php | 48 +++++------ .../views/livewire/show-usuarios.blade.php | 86 +++++++++---------- 3 files changed, 127 insertions(+), 69 deletions(-) diff --git a/app/Http/Livewire/ShowUsuarios.php b/app/Http/Livewire/ShowUsuarios.php index f2c1cfd..69fcd60 100755 --- a/app/Http/Livewire/ShowUsuarios.php +++ b/app/Http/Livewire/ShowUsuarios.php @@ -302,6 +302,68 @@ class ShowUsuarios extends Component $this->modalSaldoDesc = true; } + public function addSaldoSubvendedor() + { + if (!$this->valor_recargar) { + $this->alert('warning', '¡Coloque un valor!', [ + 'position' => 'top' + ]); + return; + } + + $this->valor_recargar = str_replace([',', '.'], '', $this->valor_recargar); + $montoRecarga = (int) $this->valor_recargar; + + $miSaldo = Saldo::where('usuario_id', Auth::user()->id)->first(); + + if (!$miSaldo || $miSaldo->valor < $montoRecarga) { + $this->alert('error', 'No tienes saldo suficiente para hacer esta recarga.', [ + 'position' => 'top' + ]); + return; + } + + $miSaldoAnterior = $miSaldo->valor; + $miSaldo->update([ + 'valor' => $miSaldo->valor - $montoRecarga, + ]); + + $recarga = new recarga; + $recarga->payment_method_id = 'manual'; + $recarga->status = 'approved'; + $recarga->usuario_id = $this->user_saldo; + $recarga->saldo_id = $this->consulta_saldo->id; + $recarga->monto = $montoRecarga; + $recarga->valor_recarga = $montoRecarga; + $recarga->save(); + + $nuevoSaldoDestino = $this->saldo_actual + $montoRecarga; + $this->consulta_saldo->update([ + 'valor' => $nuevoSaldoDestino, + ]); + + $usuarioDestino = User::find($this->user_saldo); + $nombre = $usuarioDestino->name; + $email = $usuarioDestino->email; + + $logsGeneral = new Log_general(); + $logsGeneral->user_id = Auth::user()->id; + $logsGeneral->detalle = 'El usuario ' . Auth::user()->name . ' - ' . Auth::user()->email . + ' ha recargado a ' . $nombre . ' - ' . $email . ' la cantidad de $' . number_format($montoRecarga) . + ', de su saldo. Su saldo anterior: $' . number_format($miSaldoAnterior) . + ', saldo actual: $' . number_format($miSaldoAnterior - $montoRecarga) . + '. Saldo nuevo de ' . $nombre . ': $' . number_format($nuevoSaldoDestino); + $logsGeneral->tipo = 'recarga'; + $logsGeneral->historial_id = null; + $logsGeneral->save(); + + $this->alert('success', 'Saldo actualizado con éxito.', [ + 'position' => 'top' + ]); + + $this->limpiarSaldo(); + } + public function addSaldo() { if (!$this->valor_recargar) { diff --git a/resources/views/livewire/show-tarifas.blade.php b/resources/views/livewire/show-tarifas.blade.php index 08d1198..3cd410d 100644 --- a/resources/views/livewire/show-tarifas.blade.php +++ b/resources/views/livewire/show-tarifas.blade.php @@ -4,10 +4,10 @@ modTarifasPromo : @entangle('modTarifasPromo'), editarTarifa : @entangle('editarTarifa'), editarTarifaPromo: @entangle('editarTarifaPromo'), }" class="h-full w-full md:my-2"> -
+
Cargando
Tarifas: {{ $usuario->countActiveTarifas() ?? 0 }}, Promos: {{ $usuario->countActivePromos() ?? 0 }}