From c0fc6484b0b4ba55c9d92d238e8bb5d635890118 Mon Sep 17 00:00:00 2001 From: santiago Date: Sat, 9 Aug 2025 18:16:56 -0600 Subject: [PATCH] Se modifico a donde se hacen las consultas --- server/config/mariadb.conf.js | 33 +++++++++++++++-- server/controller/Profesor/buscarProfesor.js | 20 +++------- .../Profesor/inscripcionProfesor.js | 37 +++++++++---------- 3 files changed, 53 insertions(+), 37 deletions(-) diff --git a/server/config/mariadb.conf.js b/server/config/mariadb.conf.js index 5aba0ae..4a6876e 100644 --- a/server/config/mariadb.conf.js +++ b/server/config/mariadb.conf.js @@ -29,7 +29,7 @@ const obtenerDatosUsr = async (numeroCuenta) => { // Agregue para profesores const buscarProfesorPorNumero = async (numeroTrabajador) => { - console.log("🔍 Buscando profesor con numeroCuenta:", numeroTrabajador); + //console.log("Buscando profesor con numeroCuenta:", numeroTrabajador); const conn = await pool.getConnection().catch((err) => { throw new Error('No se pudo conectar con la base de datos. ' + err); @@ -37,12 +37,13 @@ const buscarProfesorPorNumero = async (numeroTrabajador) => { return conn .query( - `SELECT nombre, idUsuario, numeroCuenta FROM usuario WHERE numeroCuenta = ?`, + `SELECT nombre, LPAD(id_cuenta, 9, '0') AS id_cuenta FROM alumno WHERE id_cuenta = ?`, [numeroTrabajador] // NUmero de cuenta ) .then((rows) => { conn.end(); if (rows.length === 0) return null; + //console.log('Resultado de la consulta:', rows); // <--- Aquí return rows[0]; // { nombre: 'Juan', rfc: 'JUAP123' } }) .catch((err) => { @@ -51,6 +52,32 @@ const buscarProfesorPorNumero = async (numeroTrabajador) => { }); }; +const validarAlumnoInscrito = async (idCuenta) => { + console.log("Validando alumno inscrito con id_cuenta:", idCuenta); + + const conn = await pool.getConnection().catch((err) => { + throw new Error('No se pudo conectar con la base de datos. ' + err); + }); + + return conn + .query( + `SELECT * FROM alumno_inscrito WHERE id_cuenta = ?`, + [idCuenta] + ) + .then((rows) => { + console.log('Resultado de la consulta alumno_inscrito:', rows); + + conn.end(); + if (rows.length === 0) return null; + return rows[0]; // Devuelve el primer registro encontrado + }) + .catch((err) => { + conn.end(); + throw new Error('Error al validar alumno inscrito: ' + err); + }); +}; + + // Para envios de correos const nodemailer = require('nodemailer'); @@ -67,4 +94,4 @@ const enviarCorreoInscripcion = async (destinatario, nombreProfesor) => { }); }; -module.exports = { buscarProfesorPorNumero }; +module.exports = { buscarProfesorPorNumero, validarAlumnoInscrito }; diff --git a/server/controller/Profesor/buscarProfesor.js b/server/controller/Profesor/buscarProfesor.js index 2a38aea..40bc686 100644 --- a/server/controller/Profesor/buscarProfesor.js +++ b/server/controller/Profesor/buscarProfesor.js @@ -1,5 +1,4 @@ -const { buscarProfesorPorNumero } = require('../../config/mariadb.conf'); -const Inscripcion = require('../../db/tablas/Inscripcion'); +const { buscarProfesorPorNumero, validarAlumnoInscrito } = require('../../config/mariadb.conf'); async function buscarProfesor(req, res) { const { numeroTrabajador } = req.params; @@ -15,19 +14,12 @@ async function buscarProfesor(req, res) { } // Verificar si existe ya en la tabla de incripcion - const existeIncripcion = await Inscripcion.findOne({ - where: { - idUsuario: profesor.idUsuario + const existeInscripcion = await validarAlumnoInscrito(profesor.id_cuenta); + if (existeInscripcion) { + return res.status(409).json({ + message: 'El usuario ya está inscrito.', + }); } - }); - - if (existeIncripcion) { - return res.status(409).json({ - //yaInscrito: true, - message: 'El usuario ya está inscrito.', - }); - } - res.status(200).json(profesor); // { nombre, correo } } catch (error) { diff --git a/server/controller/Profesor/inscripcionProfesor.js b/server/controller/Profesor/inscripcionProfesor.js index 910796e..a1d8ad9 100644 --- a/server/controller/Profesor/inscripcionProfesor.js +++ b/server/controller/Profesor/inscripcionProfesor.js @@ -7,48 +7,45 @@ async function realizarInscripcion(req, res) { const { idUsuario, nombre, numeroCuenta, correo } = req.body; try { - if (!nombre || !numeroCuenta || !idUsuario) { + if (!nombre || !id_cuenta ) { return res.status(400).json({ message: 'Faltan datos requeridos.' }); } // 1. Buscar si el usuario existe - const usuario = await Usuario.findOne({ where: { numeroCuenta } }); + const usuario = await alumno.findOne({ where: { id_cuenta } }); if (!usuario) { return res.status(404).json({ message: 'Usuario no encontrado en la base de datos.' }); } // 2. Verificar si ya tiene inscripción - const inscripcionExistente = await inscripcion.findOne({ - where: { idUsuario: usuario.idUsuario } + const inscripcionExistente = await alumno_inscrito.findOne({ + where: { id_cuenta: usuario.id_cuenta } }); if (inscripcionExistente) { return res.status(200).json({ - yaInscrito: true, message: 'El usuario ya está inscrito.', }); } // 3. Crear inscripción - await inscripcion.create({ - idUsuario: usuario.idUsuario, - idArea: 1, // Cambiar si se requiere otro valor - validacion: 2, - folio: null, - monto: null, - hizoPago: null, - rutaTicket: null, - extension: null, - fechaInscripcion: null, // o new Date() - fechaTicket: null, - // NO confirmacion aquí + await alumno_inscrito.create({ + id_cuenta: usuario.idUsuario, + id_periodo: 1, + id_plataforma: 1, + fecha_inscripcion: new Date(), + tiempo_disponible: 3600, + realizo_pago: 0, + platica: 0, + ad: 0 }); + // 4. Realizar confirmacion - await inscripcion.update( - { confirmacion: true }, - { where: { idUsuario: usuario.idUsuario } } + await alumno_inscrito.update( + { platica: 1 }, + { where: { id_cuenta: usuario.id_cuenta } } ); // 5. Enviar correo