/home/dvjjulio/test.istyle.mx/app/Http/Controllers/PremioClienteController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Cliente;
use App\PremioCliente;
use App\Premio;
use Uuid;
class PremioClienteController extends Controller
{
//
public function index(){
$premioC = new PremioCliente();
$premio = Premio::orderBy('orden', 'ASC')->get();
$premios = $premioC->clientePremios();
return view('Catalogos.Premio')->with(compact('premios', 'premio'));
}
public function clientePremio(){
$clientes = Cliente::where('nivel','>',0)->get();
$premios = new PremioCliente();
$year = date('Y');
$mes = date('m');
$clientes_verify = [];
foreach ($clientes as $key => $value) {
$verifyC = $this->verifyBox($premios->totalCajas($value->id,$year,$mes));
if(isset($verifyC)){
$clientes_verify[$key] = ['cliente'=>$value, 'caja' => $verifyC];
}
}
// return $clientes_verify;
return $this->insertHistoricAwards($clientes_verify, $year, $mes);
}
public function verifyBox($cliente){
if(isset($cliente)){
if($cliente[0]->total_cajas >= 30){
return $cliente;
}
}
}
public function insertHistoricAwards($clientes_verify, $year, $month){
foreach($clientes_verify as $value) {
$premios = new PremioCliente();
$premios->cliente_id = $value['cliente']['id'];
$premios_type = $premios->verifyAward($premios);
if($premios_type[1] == 'mes_1') {
$premios->id = Uuid::generate()->string;
} else {
$premios = $premios::find($premios_type[0]);
}
if($premios_type) {
$premios_list = new Premio();
$premioId = $premios_list::where('cajas','=',30)->get();
$premios->premio_id = $premioId[0]->id;
foreach($value['caja'] as $caja) {
switch ($premios_type[1]){
case 'mes_1':
$premios->mes_1 = $caja->month;
$premios->cajas_1 = $caja->total_cajas;
break;
case 'mes_2':
$premios->mes_2 = $caja->month;
$premios->cajas_2 = $caja->total_cajas;
break;
case 'mes_3':
$premios->mes_3 = $caja->month;
$premios->cajas_3 = $caja->total_cajas;
$premios->completado = 1;
break;
default:
echo "Complete";
break;
}
$premios->year = $caja->year;
}
//echo $premios_type[1]. " ".$premios." ".$year." ".$month;
if($premios_type[1] != "complete" && $premios->verifyMonthYear($premios, $premios_type[1], $year, $month) < 1 ){
if($premios->save()) {
//echo "correcto";
}
}else{
//echo "na";
}
}
}
}
}