Se modifico a donde se hacen las consultas
This commit is contained in:
@@ -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 };
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user