Initial commit
This commit is contained in:
@@ -0,0 +1,278 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Livewire;
|
||||
|
||||
use App\Models\Historial_cuenta;
|
||||
use App\Models\Historiale;
|
||||
use App\Models\User;
|
||||
use App\Notifications\Vencimiento;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Support\Facades\Notification;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Livewire\Component;
|
||||
use Exception;
|
||||
use Illuminate\Support\Facades\Crypt;
|
||||
use App\Models\Configuracione;
|
||||
use Livewire\WithPagination;
|
||||
use Twilio\Rest\Client;
|
||||
use Jantinnerezo\LivewireAlert\LivewireAlert;
|
||||
|
||||
|
||||
class ShowClientes extends Component
|
||||
{
|
||||
use LivewireAlert;
|
||||
use WithPagination;
|
||||
|
||||
public $date;
|
||||
public $buscar;
|
||||
public $fechaActual;
|
||||
|
||||
public $verCliente = false;
|
||||
|
||||
public $ver_nombre;
|
||||
public $ver_email;
|
||||
public $ver_fecha_inicio;
|
||||
public $ver_fecha_vencimiento;
|
||||
public $ver_paquete;
|
||||
public $precio_paquete;
|
||||
public $dias_paquete;
|
||||
public $consulta_historial;
|
||||
|
||||
public $venceHoy;
|
||||
public $vencidosHoy =false;
|
||||
public $visto = false;
|
||||
public $vencidHoy;
|
||||
public $configuracion;
|
||||
public $msj;
|
||||
|
||||
|
||||
|
||||
public function render()
|
||||
{ $fechaHoy = Carbon::now();
|
||||
$this->fechaActual = date('d/m/Y');
|
||||
$fechaVencimiento = Carbon::now()->subDay(30);
|
||||
|
||||
$consulta_clientes = Historiale::where('vendedor_id', Auth()->user()->id)->whereDate('fecha_final','>', $fechaVencimiento);
|
||||
|
||||
$this->configuracion = User::where('id',Auth::user()->id)->whereDate('updated_at','!=', $fechaHoy)->first();
|
||||
|
||||
if($this->configuracion){
|
||||
$this->vencidosHoy = true;
|
||||
$this->vencidHoy= $consulta_clientes->whereDate('fecha_final', $fechaHoy)->get();
|
||||
$this->configuracion = User::where('id',Auth::user()->id)->update(['visto' => true]);
|
||||
}
|
||||
$this->msj = Configuracione::orderby('id','desc')->select('msj_compra','msj_wp','clave_1','clave_2','clave_3','clave_4','clave_5','clave_6','iptv')->first();
|
||||
if (!empty($this->buscar)) {
|
||||
$consulta_clientes = $consulta_clientes->where(function ($query) {
|
||||
$query->whereHas('cuentas', function ($subQuery) {
|
||||
$subQuery->where('correo', 'LIKE', '%' . $this->buscar . '%');
|
||||
})->orWhereHas('cliente', function ($subQuery) {
|
||||
$subQuery->where('email', 'LIKE', '%' . $this->buscar . '%');
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
if ($this->venceHoy) {
|
||||
|
||||
$fecha5 = Carbon::parse($fechaHoy)->subDay(5);
|
||||
$consulta_clientes = $consulta_clientes->whereDate('fecha_final', '<=', $fechaHoy)
|
||||
->whereDate('fecha_final', '>=', $fecha5);
|
||||
}
|
||||
|
||||
$consulta_clientes = $consulta_clientes->with('tarifa', 'promocion', 'cliente')
|
||||
->orderBy('id', 'DESC')
|
||||
->paginate(15);
|
||||
|
||||
|
||||
|
||||
// dd($consulta_clientes);
|
||||
|
||||
return view('livewire.show-clientes', [
|
||||
'clientes' => $consulta_clientes
|
||||
]);
|
||||
}
|
||||
|
||||
public function verCliente($id)
|
||||
{
|
||||
$this->consulta_historial = Historiale::with('promocion', 'tarifa', 'cliente','cuentas')->where('id', $id)->first();
|
||||
// dd($this->consulta_historial );
|
||||
|
||||
$this->verCliente = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function enviarNotificacion($id)
|
||||
{
|
||||
$consulta_historial = Historiale::where('id', $id)->with('tarifa', 'cliente')->first();
|
||||
$user = User::find($consulta_historial->cliente);
|
||||
|
||||
$notificacion = [
|
||||
//'valor' => $value['precio'],
|
||||
'fecha_final' => $consulta_historial->fecha_final,
|
||||
'cliente' => $consulta_historial->cliente->name,
|
||||
'servicio' => $consulta_historial->tarifa->servicio->nombre . '-' . $consulta_historial->tarifa->pantallas . 'pantallas',
|
||||
'tipo' => 'vencimiento',
|
||||
'vendedor' => auth()->user()->username,
|
||||
|
||||
];
|
||||
|
||||
Notification::send($user, new Vencimiento($notificacion));
|
||||
|
||||
$this->alert('success', 'Notificación enviada', [
|
||||
'position' => 'top'
|
||||
]);
|
||||
}
|
||||
|
||||
public function enviarNotificacionPromo($id)
|
||||
{
|
||||
|
||||
$consulta_historial = Historiale::where('id', $id)->with('promocion', 'cliente')->first();
|
||||
$user = User::find($consulta_historial->cliente);
|
||||
|
||||
|
||||
$nombre = $consulta_historial->promocion->nombre;
|
||||
$descripcion = $consulta_historial->promocion->descripcion;
|
||||
|
||||
|
||||
$notificacion = [
|
||||
//'valor' => $value['precio'],
|
||||
'fecha_final' => $consulta_historial->fecha_final,
|
||||
'cliente' => $consulta_historial->cliente->name,
|
||||
'servicio' => 'PROMO ' . $nombre . '-' . $descripcion,
|
||||
'tipo' => 'vencimiento',
|
||||
'vendedor' => auth()->user()->username,
|
||||
|
||||
];
|
||||
|
||||
Notification::send($user, new Vencimiento($notificacion));
|
||||
|
||||
$this->alert('success', 'Notificación enviada', [
|
||||
'position' => 'top'
|
||||
]);
|
||||
}
|
||||
|
||||
public function notSMSpromo($id){
|
||||
$consulta_historial = Historiale::where('id', $id)->with('promocion', 'cliente')->first();
|
||||
$user = User::find($consulta_historial->cliente);
|
||||
|
||||
$nombre = $consulta_historial->promocion->nombre;
|
||||
$fecha=Carbon::parse($consulta_historial->fecha_final)->format('Y/m/d');
|
||||
$fecha_humana= Carbon::parse($consulta_historial->fecha_final)->diffForHumans();
|
||||
//dd($fecha_humana);
|
||||
//$descripcion = $consulta_historial->promocion->descripcion;
|
||||
|
||||
$message = 'Su '.$nombre.', Vence '.$fecha_humana.', '.$fecha.'. Renueva ahora!!' ;
|
||||
$recipients= '+57'.$consulta_historial->cliente->celular;
|
||||
|
||||
$this->sendMessage($message, $recipients);
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function notSMS($id){
|
||||
$consulta_historial = Historiale::where('id', $id)->with('tarifa', 'cliente')->first();
|
||||
$user = User::find($consulta_historial->cliente);
|
||||
|
||||
$nombre = $consulta_historial->tarifa->servicio->nombre . '-' . $consulta_historial->tarifa->pantallas . 'P';
|
||||
$fecha=Carbon::parse($consulta_historial->fecha_final)->format('Y/m/d');
|
||||
$fecha_humana= Carbon::parse($consulta_historial->fecha_final)->diffForHumans();
|
||||
|
||||
|
||||
$message = 'Su '.$nombre.', Vence '.$fecha_humana.', '.$fecha.'. Renueva ahora!!' ;
|
||||
$recipients= '+57'.$consulta_historial->cliente->celular;
|
||||
|
||||
$this->sendMessage($message, $recipients);
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function sendMessage($message, $recipients)
|
||||
{
|
||||
// try {
|
||||
// $account_sid = getenv("TWILIO_SID");
|
||||
// $auth_token = getenv("TWILIO_TOKEN");
|
||||
// $twilio_number = getenv("TWILIO_FROM");
|
||||
|
||||
// $client = new Client($account_sid, $auth_token);
|
||||
|
||||
// $client->messages->create($recipients,
|
||||
// ['from' => $twilio_number, 'body' => $message] );
|
||||
|
||||
// $this->alert('success', 'Notificación enviada por SMS! ', [
|
||||
// 'position' => 'top'
|
||||
// ]);
|
||||
|
||||
// }catch(Exception $e){
|
||||
// $this->alert('warning', 'Error enviando SMS!'.$e->getMessage(), [
|
||||
// 'position' => 'top'
|
||||
// ]);
|
||||
|
||||
// }
|
||||
$auth_basic = base64_encode('admin@jaguarws.ga:9u3xxXhHt8maeiOexg07pFKI0rpYazI0');
|
||||
//dd(getenv('USER_LABSMOBILE'));
|
||||
$curl = curl_init();
|
||||
|
||||
|
||||
curl_setopt_array($curl, array(
|
||||
CURLOPT_URL => "https://api.labsmobile.com/json/send",
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
CURLOPT_ENCODING => "",
|
||||
CURLOPT_MAXREDIRS => 10,
|
||||
CURLOPT_TIMEOUT => 30,
|
||||
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
|
||||
CURLOPT_CUSTOMREQUEST => "POST",
|
||||
CURLOPT_POSTFIELDS => '{"message":"'.$message.'","nofilter":"1, "tpoa":"Sender","recipient":[{"msisdn":"'.$recipients.'"}]}',
|
||||
CURLOPT_HTTPHEADER => array(
|
||||
"Authorization: Basic ".$auth_basic,
|
||||
"Cache-Control: no-cache",
|
||||
"Content-Type: application/json"
|
||||
),
|
||||
));
|
||||
|
||||
$response = curl_exec($curl);
|
||||
$err = curl_error($curl);
|
||||
|
||||
curl_close($curl);
|
||||
|
||||
if ($err) {
|
||||
|
||||
$this->alert('warning', 'Error enviando SMS!'.$err, [
|
||||
'position' => 'top'
|
||||
]);
|
||||
|
||||
} else {
|
||||
//dd($response);
|
||||
if (!empty(json_decode($response)->subid)) {
|
||||
$this->alert('success', 'Notificación enviada por SMS! '.json_decode($response)->subid, [
|
||||
'position' => 'top'
|
||||
]);
|
||||
}else{
|
||||
$this->alert('warning', 'Servicio de SMS en mantenimiento!'.json_decode($response)->code, [
|
||||
'position' => 'top'
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
public function cerrar(){
|
||||
|
||||
$this->configuracion = User::where('id',Auth::user()->id)->update(['visto' => true]);
|
||||
|
||||
//dd($this->configuracion);
|
||||
$this->visto=true;
|
||||
|
||||
$this->vencidosHoy = false;
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function renovar(){
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user