Files
ASINEA-API/routes/check_clave.js
T
2020-03-02 14:15:16 -06:00

73 lines
2.9 KiB
JavaScript

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();
//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;