const connection = require('../conf/connection.js'); const express = require('express') var enviar_correo = require('./enviar_correo.js'); let con = 0; let time; function query(consulta) { return new Promise(function(resolve, reject) { connection.query(`${consulta}`, (error, results, files) => { if (error) reject(error); resolve(results); }); }) } const iterar = () => { con++; var actual = new Date(); var menor = new Date(); //actual.setMinutes(datetime.getMinutes()); console.log(actual); 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); console.log("despues ... "); console.log(actual); if (con == 10) { console.log("acabo"); clearInterval(time); } let cad = `select n.*, p.* from numero_referencia as n inner join persona as p where n.pagado=false and n.fecha_caducacion<='${actual}' and n.id_persona!=null and n.id_persona=p.id_persona;`; let ans = query(cad); ans.then(async p => { for (let i = 0; i < p.lenght; i++) { let actualizar = `update numero_referencia set id_persona=null where id_num_referencia=${p[i].id_num_referencia};`; let msj = `Estima usuario su numero de refencia ${p[i].clave} ha caducado debido a que ha transcurrido 48 hrs sin subir su comprobante de pago. Para poder acceder a todas las actividades registradas debera iniciar sesion en ASINEA para elegir una nueva forma de pago.`; let correo = p[i].correo; let encabezado = `Aviso de caducación de clave bancaria ASINEA`; let r = enviar_correo(correo, encabezado, msj); r.then(async() => { let n_ans = await query(actualizar); if (p[i].situacion_academica == 'Alumno') { actualizar = `update alumno set metodo_pago_asignado=null where id_persona=${p[i].id_persona};`; n_ans = await query(actualizar); } if (p[i].situacion_academica == 'Académico') { actualizar = `update academico set metodo_pago_asignado=null where id_persona=${p[i].id_persona};`; n_ans = await query(actualizar); } actualizar = `insert into mensaje values(null, ${p[i].id_persona}, 'Estima usuario su numero de refencia ${p[i].clave} ha caducado debido a que ha transcurrido 48 hrs sin subir su comprobante de pago. Para poder acceder a todas las actividades registradas debera elegir una nueva forma de pago.')`; n_ans = await query(actualizar); }) } }) } let check_clave = function(id_persona) { time = setInterval(iterar, 30000); } module.exports = check_clave;