Mejora command analisis kushki

parent a60438f6
......@@ -77,54 +77,22 @@ class VerificarSuscripcionKushkiCommand extends Command {
if($data['code'] == 200){
switch ($data["event"]) {
case $this::successfulCharge:
// CREAR UNA NUEVA SUSCRIPCION CON NUEVAS FECHAS, LA ANTERIOR QUEDA CON ESTADO NO VALIDO
// en la nueva van los datos entregados por la notificacion(token, subscriptionId y la respuesta json, http status 201 para simular una suscripcion)
$fechaActual = new \DateTime();
$fecha = new \DateTime();
$fechaUnaSemana = $fecha->modify('+7 days');
/*
$newSuscripcion = new PluSuscripcion();
$newSuscripcion->setSusHttpCodeKushki(201);
$newSuscripcion->setLisId($suscripcion->getLisId());
$newSuscripcion->setSusMsisdn($suscripcion->getSusMsisdn());
$newSuscripcion->setSusInicio($fechaActual);
$newSuscripcion->setSusFin($fechaUnaSemana);
$newSuscripcion->setSusUltimoTipoXml(PluSuscripcion::TIPO_XML_SUSCRIPCION);
$newSuscripcion->setSusVigente(PluSuscripcion::VIGENTE);
$newSuscripcion->setSusResponseKushki($output);
$newSuscripcion->setSusSuscriptionIdKushki($data['subscriptionId']);
$newSuscripcion->setSusTransactionIdKushki($data['transactionId']);
$newSuscripcion->setSusTokenKushki($data['token']);
$newSuscripcion->setSusPayTypeKushki("card");
$newSuscripcion->setSusStartDateKushki($data["startDate"]);
$newSuscripcion->setSusEliminado(PluSuscripcion::ELIMINADO_FALSE);
$newSuscripcion->setCreatedAt(new \DateTime());
$newSuscripcion->setUpdatedAt(new \DateTime());
$this->em->persist($newSuscripcion);
$this->em->flush();
$suscripcion->setSusVigente(PluSuscripcion::NO_VIGENTE);
$suscripcion->setUpdatedAt(new \DateTime());
$this->em->persist($suscripcion);
$this->em->flush();
* */
$suscripcion->setSusInicio($fechaActual);
$suscripcion->setSusFin($fechaUnaSemana);
$suscripcion->setSusStartDateKushki($data["startDate"]);
$suscripcion->setSusStartDateKushki($data["startDate"]);
$suscripcion->setUpdatedAt(new \DateTime());
$this->em->persist($suscripcion);
$this->em->flush();
$log->debug("nueva suscripcion creada correctamente para ".$newSuscripcion->getSusMsisdn()." para la lista ".$newSuscripcion->getLisId()->getLisId());
$log->debug("Se actualizo suscripcion " . $suscripcion->getSusId() . " de la lista " . $suscripcion->getLisId()->getLisId() . " del msisdn " . $suscripcion->getSusMsisdn()." para estado successfulCharge");
break;
case $this::failedRetry:
//se busca si existe el registro en la tabla de reintentos, si no eciste se crea, si existe se actualiza.
//se debe anotar como intento +1 en la tabla PluEstadoSuscripcionKushki para la suscripcion actual
// se debe actualizar el end date a un dia mas de la suscripcion actual
$registro = PluEstadoSuscripcionKushkiRepository::buscarRegistroEstado($suscripcion->getLisId()->getLisId());
if($registro == null){
//si no existe
......@@ -154,7 +122,7 @@ class VerificarSuscripcionKushkiCommand extends Command {
$this->em->persist($registro);
$this->em->flush();
}
$log->debug("Intento fallido $intentos, suscripcion " . $suscripcion->getSusId() . " de la lista " . $suscripcion->getLisId()->getLisId() . " del msisdn " . $suscripcion->getSusMsisdn()." para estado failedRetry");
break;
case $this::lastRetry:
//cuando todos los intentos fallan (3), se deben marcar la suscripcion actual como no valida
......@@ -171,20 +139,7 @@ class VerificarSuscripcionKushkiCommand extends Command {
$suscripcion->setUpdatedAt(new \DateTime());
$this->em->persist($suscripcion);
$this->em->flush();
break;
/*case $this::subscriptionDelete: // debo sacar esta condicion de aqui, no depende de la fecha
//si una suscripcion pasa a este estado, la suscripcion actual se debe marcar como no valida
$suscripcion->setSusVigente(PluSuscripcion::NO_VIGENTE);
$this->em->persist($suscripcion);
$this->em->flush();
break;*/
default:
//marcar suscripcion como no valida.
$suscripcion->setSusVigente(PluSuscripcion::NO_VIGENTE);
$this->em->persist($suscripcion);
$this->em->flush();
$log->debug("Intento fallido $intentos, suscripcion " . $suscripcion->getSusId() . " de la lista " . $suscripcion->getLisId()->getLisId() . " del msisdn " . $suscripcion->getSusMsisdn()." para estado failedRetry");
break;
}
}else{
......
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