const connection = require('../conf/connection.js'); const express = require('express') var app = express(); var enviar_correo = require('./enviar_correo.js'); function query(consulta) { return new Promise(function(resolve, reject) { connection.query(`${consulta}`, (error, results, files) => { if (error) reject(error); resolve(results); }); }) } let elegir = function(id_persona, correo) { let cad = 'select * from numero_referencia where id_persona=null;'; let ans = query(cad); ans.then(async p => { if (p.lenght == 0) { let n_cad = 'select * from mensaje where id_pesona=0'; let n_q = await query(n_cad); if (n_q.lenght == 0) { let actualizar = `insert into mensaje values(null, 0, 'Se han acabado las claves interbancarias')`; let n_ans = await query(actualizar); } return { error: true, msj: "Ya no hay calves de referencia disponibles" }; } else { let num = p[0]; var actual = new Date(); var caduca = new Date(); console.log(caduca); caduca.setDate(caduca.getMinutes() + 2); console.log(caduca); actual = actual.getFullYear() + '-' + ('00' + (actual.getMonth() + 1)).slice(-2) + '-' + ('00' + actual.getDate()).slice(-2) + ' ' + ('00' + actual.getHours()).slice(-2) + ':' + ('00' + actual.getMinutes()).slice(-2) + ':' + ('00' + actual.getSeconds()).slice(-2); caduca = caduca.getFullYear() + '-' + ('00' + (caduca.getMonth() + 1)).slice(-2) + '-' + ('00' + caduca.getDate()).slice(-2) + ' ' + ('00' + caduca.getHours()).slice(-2) + ':' + ('00' + caduca.getMinutes()).slice(-2) + ':' + ('00' + caduca.getSeconds()).slice(-2); let n_cad = `update numero_referencia set id_persona=${id_persona}, fecha_registro='${actual}', fecha_caducidad='${caduca}' where id_num_referecia=${num.id_num_referencia};`; let n_query = query(n_cad); n_query.then(() => { let msj = `Estima usuario su numero de refencia ${num.clave} tendra 48 hrs para completar su pago y subir el comprobante a la plataforma. Despues de este transcurrir este tiempo y que no se haya completado el pago ni subirlo a la plataforma su clave caducara por lo que tendra que elegir de nuevo su forma de pago para que pueda asistir a todos los eventos que eligo. Muchas gracias.`; let encabezado = `Asignacion de clave bancaria ASINEA`; let n_ans = enviar_correo(correo, encabezado, msj); n_ans.then(() => { return { erro: false, msj: msj }; }) }).catch(err => { console.log(err); return { erro: true, msj: "error al actualiza la referencia bancaria", type: err }; }) } }) } module.exports = elegir;