From d03aa5726e6270058dc4ae3d618d8a98e283344c Mon Sep 17 00:00:00 2001 From: onsaliyo Date: Wed, 26 May 2021 16:59:51 +0200 Subject: [PATCH] =?UTF-8?q?arreglada=20comprobaci=C3=B3n=20de=20c=C3=B3dig?= =?UTF-8?q?o=20existente=20(comprobar=20origen=20y=20validez=20del=20c?= =?UTF-8?q?=C3=B3digo)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/database/consultas.js | 33 +++++++++++++++++++++------------ src/routes/rutas.js | 4 +++- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/src/database/consultas.js b/src/database/consultas.js index b98fffe..534098c 100644 --- a/src/database/consultas.js +++ b/src/database/consultas.js @@ -122,7 +122,6 @@ async function addReserva(reserva){ const CodigoUnico = await conn.query("INSERT INTO codigo (UserID, codigo, numReservas) VALUES (?, ?, ?)", [reserva.UserID, reserva.codigoUnico, 0]); const codigoID = await conn.query("SELECT id FROM codigo WHERE codigo = ?", [reserva.codigoUnico]); - console.log(codigoID); reserva.codigoUnicoID = codigoID[0].id; if(reserva.descuentoPorciento){ //arreglar este if rows = await conn.query("INSERT INTO reserva (UserID, EventoID, codigoUnicoID, codigoDescuento, descuentoPorciento) VALUES (?, ?, ?, ?, ?)", @@ -144,30 +143,40 @@ async function addReserva(reserva){ module.exports.addReserva = addReserva; async function comprobarDescuento(reserva){ - if (reserva.codigoDescuento){ try{ - activarCodigo(reserva); - let conn = await mariadb.getConn(); - const evento = await conn.query("SELECT * FROM evento WHERE id = ?", [reserva.EventoID]); - const tipoDescuento = evento[0].tipoDescuento; - if(tipoDescuento){ - const porciento = await conn.query("SELECT porciento FROM descuentos WHERE id = ?", [tipoDescuento]); - return porciento[0].porciento; - } + let conn = await mariadb.getConn(); + const evento = await conn.query("SELECT * FROM evento WHERE id = ?", [reserva.EventoID]); + console.log("Evento: "+evento); + const tipoDescuento = evento[0].tipoDescuento; + if(tipoDescuento){ + console.log("Tipo descuento: "+tipoDescuento); + const porciento = await conn.query("SELECT porciento FROM descuentos WHERE id = ?", [tipoDescuento]); + console.log("Porciento"+porciento); + return porciento[0].porciento; + } else return 0; }catch(err){ console.log("No se pudo acceder a la BD: "+err); } -}} +} module.exports.comprobarDescuento = comprobarDescuento; async function activarCodigo(reserva){ try{ let conn = await mariadb.getConn(); - await conn.query("UPDATE codigo SET numReservas = numReservas + 1 WHERE codigo = ?", [reserva.codigoDescuento]); + const codigo = await conn.query("SELECT id FROM codigo WHERE codigo = ?", [reserva.codigoDescuento]); + if (codigo.length>0){ + console.log("Codigo válido"); + await conn.query("UPDATE codigo SET numReservas = numReservas + 1 WHERE codigo = ?", [reserva.codigoDescuento]); + return codigo; + } + else{ + console.log("Código inválido"); + return null; + } }catch(err){ console.log("No se pudo acceder a la BD: "+err); } diff --git a/src/routes/rutas.js b/src/routes/rutas.js index e372084..f9e035d 100644 --- a/src/routes/rutas.js +++ b/src/routes/rutas.js @@ -68,7 +68,9 @@ router.post('/eventosDiscoteca', async function(req, res){ router.post('/reserva', async function (req, res){ console.log(req.body); const reserva = req.body; - reserva.descuentoPorciento = await consultasDB.comprobarDescuento(reserva); + codigoValido = await consultasDB.activarCodigo(reserva); + if(codigoValido){ + reserva.descuentoPorciento = await consultasDB.comprobarDescuento(reserva);} reservaConfirmada = await consultasDB.addReserva(reserva); if (reservaConfirmada){ console.log(JSON.stringify(reservaConfirmada));