command version #1 correccion de suscripciones

parent 18cbfad4
<?php
namespace App\Command;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Style\SymfonyStyle;
use App\Entity\PluSuscripcion;
class VerificarFechaSuscripcionesCommand extends Command
{
protected static $defaultName = 'app:verificar-fecha-suscripciones';
private $em;
public function __construct($name = null, EntityManagerInterface $em) {
parent::__construct($name);
$this->em = $em;
}
protected function configure()
{
$this
->setDescription('Command que permite marcar las sucripciones que estan caducadas como no validas.')
;
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$log = Utiles::setLog('App\Command::VerificarFechaSuscripcionesCommand', 'command/verificarFechaSuscripciones');
$io = new SymfonyStyle($input, $output);
$suscripciones = $this->em
->getRepository(PluSuscripcion::class)
->findBy(array("susVigente" => 1));
$fechaActual = new \DateTime();
foreach($suscripciones as $index=>$suscripcion):
$log->debug("Analizando suscripcion ".$suscripcion->getSusId()." de la lista ".$suscripcion->getLisId()->getLisId()." del msisdn ".$suscripcion->getSusMsisdn());
$fechaTermino = $suscripcion->getSusFin();
if($fechaTermino < $fechaActual){
$log->debug("suscripcion con id ".$suscripcion->getSusId()." presentaba vigencia fuera de fecha");
$suscripcion->setSusVigente(PluSuscripcion::NO_VIGENTE);
$this->em->persist($suscripcion);
$this->em->flush();
$log->debug("Se modifica vigencia de la suscripcion ".$suscripcion->getSusId());
}
endforeach;
$io->success('Finalizando proceso');
}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment