Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
musica_listas_backend
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Cristian Mauricio Diaz Canales
musica_listas_backend
Commits
570e6861
Commit
570e6861
authored
Dec 05, 2019
by
Cristian Mauricio Diaz Canales
💬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Actualizacion #1 de backend suscripcion, envio de sms y mail a usuario
parent
c4dd7a8e
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
938 additions
and
16 deletions
+938
-16
src/BackendBundle/Controller/PagosExternosController.php
src/BackendBundle/Controller/PagosExternosController.php
+58
-4
src/BackendBundle/Controller/UtilidadesController.php
src/BackendBundle/Controller/UtilidadesController.php
+139
-8
src/Entity/PluCodigoPin.php
src/Entity/PluCodigoPin.php
+8
-4
templates/email/respaldo_cancelacion.html.twig
templates/email/respaldo_cancelacion.html.twig
+367
-0
templates/email/respaldo_suscripcion.html.twig
templates/email/respaldo_suscripcion.html.twig
+366
-0
No files found.
src/BackendBundle/Controller/PagosExternosController.php
View file @
570e6861
...
...
@@ -11,6 +11,8 @@ use App\Utilities\Kushki;
use
App\Entity\PluSuscripcion
;
use
App\Entity\PluLista
;
use
App\Entity\PluMetodoPago
;
use
App\Entity\PluUsuarioMovil
;
use
App\Entity\PluCodigoPin
;
use
App\Entity\PluRegistroSuscripcionBackend
;
class
PagosExternosController
extends
AbstractController
{
...
...
@@ -18,7 +20,7 @@ class PagosExternosController extends AbstractController {
private
$manager
=
null
;
public
function
processPagoExternoKushki
(
Request
$request
)
:
Response
{
$log
=
Utiles
::
setLog
(
'App\FrontendBundle\Controller::Pagos
Controller::inicio
PagoExternoKushki'
,
'app/suscripciones'
);
$log
=
Utiles
::
setLog
(
'App\FrontendBundle\Controller::Pagos
ExternosController::process
PagoExternoKushki'
,
'app/suscripciones'
);
$em
=
$this
->
getDoctrine
()
->
getManager
(
'default'
);
$userIdentifier
=
$request
->
get
(
"msisdn"
);
$productId
=
$request
->
get
(
"productId"
);
...
...
@@ -35,7 +37,7 @@ class PagosExternosController extends AbstractController {
}
public
function
inicioPagoExternoKushki
(
Request
$request
)
{
$log
=
Utiles
::
setLog
(
'App\FrontendBundle\Controller::PagosController::inicioPagoExternoKushki'
,
'app/suscripciones'
);
$log
=
Utiles
::
setLog
(
'App\FrontendBundle\Controller::Pagos
Externos
Controller::inicioPagoExternoKushki'
,
'app/suscripciones'
);
$em
=
$this
->
getDoctrine
()
->
getManager
(
'default'
);
$userIdentifier
=
$request
->
get
(
"userIdentifier"
);
$productId
=
$request
->
get
(
"productId"
);
//lisId
...
...
@@ -131,13 +133,16 @@ class PagosExternosController extends AbstractController {
]);
}
public
function
confirmarPagoExternoKushki
(
Request
$request
)
:
Response
{
$log
=
Utiles
::
setLog
(
'App\FrontendBundle\Controller::PagosController::confirmarExternoKushki'
,
'app/suscripciones'
);
public
function
confirmarPagoExternoKushki
(
Request
$request
,
\Swift_Mailer
$mailer
)
:
Response
{
$log
=
Utiles
::
setLog
(
'App\FrontendBundle\Controller::Pagos
Externos
Controller::confirmarExternoKushki'
,
'app/suscripciones'
);
$em
=
$this
->
getDoctrine
()
->
getManager
(
'default'
);
$ua
=
$request
->
headers
->
get
(
'User-Agent'
);
$headers
=
$request
->
headers
->
all
();
$content
=
$request
->
getContent
();
$json
=
new
JsonResponse
();
$ua
=
$request
->
headers
->
get
(
'User-Agent'
);
$ip
=
$request
->
getClientIp
();
$fechaActual
=
new
\DateTime
();
$fechaInicioKushki
=
new
\DateTime
();
$fechaInicioKushki
->
modify
(
'+1 days'
);
...
...
@@ -274,6 +279,34 @@ class PagosExternosController extends AbstractController {
$suscripcion
->
setUpdatedAt
(
new
\DateTime
());
$em
->
persist
(
$suscripcion
);
$em
->
flush
();
//Envio de sms
$codigoPin
=
new
PluCodigoPin
();
$codigoPin
->
setCpiIp
(
$ip
);
$codigoPin
->
setCpiMsisdn
(
$userIdentifier
);
$codigoPin
->
setCpiUserAgent
(
$ua
);
$codigoPin
->
setCpiTipo
(
PluCodigoPin
::
TIPO_AVISO_NUEVA_SUSCRIPCION
);
$codigoPin
->
setCpiMedio
(
PluCodigoPin
::
MEDIO_WEB
);
$codigoPin
->
setCpiEliminado
(
PluCodigoPin
::
ELIMINADO_FALSE
);
$codigoPin
->
generarPin
();
$nombreLista
=
$lista
->
getLisNombre
();
$precioLista
=
$lista
->
getLisPrecio
();
$codigoPin
->
enviarSms
(
$em
,
"Hola!, Se ha creado una nueva suscripcion en UMUSIC -
$nombreLista
, por un valor de
$precioLista
, accede en http://new.umusic.cl ."
);
//enviar mail con detalle, si el usuario posee uno, sino no se envia.
if
(
$codigoPin
->
getCpiEstado
()
==
PluCodigoPin
::
ESTADO_ENVIADO_OK
)
{
$log
->
debug
(
'Hemos enviado un sms con el código de validación...'
);
}
else
{
$log
->
debug
(
'Ocurrio un problema al intentar enviar el sms...'
);
}
$usuario
=
$em
->
getRepository
(
PluUsuarioMovil
::
class
)
->
findBy
(
array
(
"umoMsisdn"
=>
$userIdentifier
));
if
(
$usuario
[
0
]
->
getUmoMail
()
!=
null
){
$this
->
sendMail
(
$usuario
[
0
]
->
getUmoMail
(),
"Notificación Suscripción U-Music"
,
$usuario
[
0
]
->
getUmoMsisdn
(),
$lista
->
getLisId
(),
$em
,
$mailer
);
}
//
}
return
$this
->
render
(
'external/confirm.html.twig'
,
[
...
...
@@ -283,5 +316,26 @@ class PagosExternosController extends AbstractController {
"error"
=>
$error
]);
}
private
function
sendMail
(
$email
,
$title
,
$msisdn
,
$lisId
,
$em
,
$mailer
)
{
$log
=
Utiles
::
setLog
(
'App\FrontendBundle\Controller::PagosExternosController::sendMail'
,
'app/suscripciones'
);
$listaObj
=
$em
->
getRepository
(
PluLista
::
class
)
->
find
(
$lisId
);
$urlBase
=
Utiles
::
getParametroConfiguracion
(
"urlBaseFrontUmusic"
,
$em
);
$log
->
debug
(
"Generando mensaje a enviar al cliente..."
);
$message
=
(
new
\Swift_Message
(
$title
))
->
setFrom
(
Utiles
::
getParametroConfiguracion
(
"senderMail"
,
$em
))
->
setTo
(
$email
)
->
setBody
(
$this
->
renderView
(
'email/respaldo_suscripcion.html.twig'
,
[
'msisdn'
=>
$msisdn
,
'urlBase'
=>
$urlBase
,
'lista'
=>
$listaObj
]
),
'text/html'
);
if
(
$mailer
->
send
(
$message
))
{
return
1
;
}
else
{
return
0
;
}
}
}
src/BackendBundle/Controller/UtilidadesController.php
View file @
570e6861
This diff is collapsed.
Click to expand it.
src/Entity/PluCodigoPin.php
View file @
570e6861
...
...
@@ -24,6 +24,8 @@ class PluCodigoPin
const
ELIMINADO_FALSE
=
0
;
const
TIPO_VALIDAR_MSISDN
=
1
;
const
TIPO_AVISO_NUEVA_SUSCRIPCION
=
2
;
const
TIPO_AVISO_CANCELAR_SUSCRIPCION
=
3
;
const
SMS_URL
=
"http://entelapis.gearlabs.cl/api/emsg/enviarSms"
;
...
...
@@ -221,20 +223,22 @@ class PluCodigoPin
}
public
function
enviarSms
(
$em
){
public
function
enviarSms
(
$em
,
$mensaje
=
null
){
$log
=
Utiles
::
setLog
(
"App\Entity\PluCodigoPin:enviarSms"
,
'app/entity/pin'
);
$flag
=
false
;
$mensaje
=
"Estimado cliente, su codigo de validacion es:"
.
$this
->
getCpiPin
();
if
(
$mensaje
==
null
)
{
$mensaje
=
"Estimado cliente, su codigo de validacion es:"
.
$this
->
getCpiPin
();
}
$url
=
self
::
SMS_URL
;
$servicioId
=
self
::
SMS_SERVICIO_ID
;
$servicioCodigo
=
self
::
SMS_SERVICIO_CODIGO
;
$array_in
=
array
(
'servicio'
=>
array
(
'id'
=>
$servicioId
,
'codigo'
=>
$servicioCodigo
),
'sms'
=>
array
(
'mensaje'
=>
$mensaje
,
'msisdn'
=>
"56
9
"
.
$this
->
getCpiMsisdn
())
'sms'
=>
array
(
'mensaje'
=>
$mensaje
,
'msisdn'
=>
"56"
.
$this
->
getCpiMsisdn
())
);
$json
=
json_encode
(
$array_in
);
...
...
templates/email/respaldo_cancelacion.html.twig
0 → 100644
View file @
570e6861
This diff is collapsed.
Click to expand it.
templates/email/respaldo_suscripcion.html.twig
0 → 100644
View file @
570e6861
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment