INCLUSION A CONSULTA XSYSTEM API.
This commit is contained in:
17
src/app.js
17
src/app.js
@@ -5,6 +5,8 @@ const mysql = require('mysql');
|
||||
const cloud_file = require('express-fileupload');
|
||||
const myConecction = require('express-myconnection');
|
||||
const cors_origins = require('cors');
|
||||
//inicio de sessiones
|
||||
const session = require('express-session');
|
||||
//const jwt = require('jwt');
|
||||
//const pool = require('./db.js');
|
||||
|
||||
@@ -18,6 +20,7 @@ const productosRutas = require('./rutas/rt_items');
|
||||
const generalesRutas = require('./rutas/rt_Generales');
|
||||
const cloud_rutas = require('./rutas/rt_cloud');
|
||||
const app_restaurant = require('./rutas/rt_apps');
|
||||
const app_arduino = require('./rutas/rt_arduino');
|
||||
|
||||
//configuraciones
|
||||
app.set('port',process.env.PORT||puerto);
|
||||
@@ -29,6 +32,13 @@ app.locals = global.config;
|
||||
|
||||
//***** CONTROL DE CORDS ******/
|
||||
app.use(cors_origins({origin:global.config.origin.any}));
|
||||
//*****inicio de sessiones*****//
|
||||
app.use(session({
|
||||
secret: global.config.sessionStorage.secretSession,//llave para cifrar
|
||||
resave: false,//no se guarde cada vez que se hace un cambio
|
||||
saveUninitialized: true,//guardar sesion aunque no haya datos
|
||||
cookie: { secure: false }//true solo se envia por https
|
||||
}));
|
||||
|
||||
//middlewares
|
||||
app.use(express.static(__dirname+'/public'));//para usar la carpeta public *js*css*img
|
||||
@@ -55,12 +65,15 @@ app.use('/', productosRutas);
|
||||
app.use('/', generalesRutas);
|
||||
app.use('/', cloud_rutas);
|
||||
app.use('/', app_restaurant);
|
||||
app.use('/', app_arduino);
|
||||
|
||||
//prueba de json directa
|
||||
app.get('/pruebaJson',function(req,res){
|
||||
req.session.acount = req.session.acount ? req.session.acount + 1 : 1;
|
||||
res.json([
|
||||
{nombre:"Tarea1",detalle:"programacion"},
|
||||
{nombre:"Tarea2",detalle:"Android Json"}
|
||||
{nombre:"Tarea2",detalle:"Android Json"},
|
||||
{ejecusion:req.session.acount,"id":req.sessionID},
|
||||
]);
|
||||
});
|
||||
|
||||
@@ -69,5 +82,5 @@ app.use(express.static(path.join(__dirname, 'public')));
|
||||
|
||||
//inicia servidor
|
||||
app.listen(app.get('port'),() =>{
|
||||
console.log('Servidor Activo: App SIGMA Pedidos -> Puerto: '+puerto);
|
||||
console.log('Servidor Activo: App SIGMA Pedidos -> Puerto: '+puerto +' -> '+new Date().toLocaleString());
|
||||
});
|
||||
|
||||
@@ -20,6 +20,9 @@ const config = {
|
||||
empresa:"",
|
||||
role:"",
|
||||
},
|
||||
sessionStorage:{
|
||||
secretSession: "Microbot%",
|
||||
},
|
||||
origin:{
|
||||
whiteList : ['https://factura-e.net','https://app.factura-e.net'],
|
||||
any:{},
|
||||
@@ -28,7 +31,7 @@ const config = {
|
||||
key:"Microbot&"
|
||||
},
|
||||
server:{
|
||||
port:8086
|
||||
port:3001
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -10,7 +10,6 @@ controlador.verClientesJsonApp = (req, res) => {
|
||||
//next(err);
|
||||
}
|
||||
//console.log(rows);
|
||||
//var test = {"Items":[{"idt_prdcto":"1","codigo_prdcto":"CODIGOTEST","detalle_prdcto":"ITEM GENERADO","describe_prdcto":"DESCRIPCION DE ITEMS"}]};
|
||||
var client = { Clientes: rows };
|
||||
res.json(client);
|
||||
//res.render('clientesV',{ data:rows });
|
||||
@@ -157,20 +156,20 @@ controlador.app_pedidos_clientes = (req, res) => {
|
||||
|
||||
//CONSULTA CLIENTE CLOUD C.I-RUC => ruta:/busquedaSRI
|
||||
var data_url0 = 'http://www.ecuadorlegalonline.com/modulo/sri/consulta-ruc/ruc.api.php';
|
||||
var data_url1 = "https://xsystem.ddns.net/app/consulta_clientes.php";
|
||||
var data_url1 = "https://xsystem.ddns.net/app/clientes_cloud.php";
|
||||
var data_url2 = "http://sheyla2.dyndns.info/SRI/SRI.php";
|
||||
var data_url3 = "http://192.168.10.100:8000/test_post";
|
||||
var arrayUrl = [
|
||||
"http://www.ecuadorlegalonline.com/modulo/sri/consulta-ruc/ruc.api.php",
|
||||
"https://xsystem.ddns.net/app/consulta_clientes.php",
|
||||
"https://xsystem.ddns.net/api/clientes_cloud.php",
|
||||
"http://sheyla2.dyndns.info/SRI/SRI.php",
|
||||
"http://192.168.10.100:8000/test_post",
|
||||
"solo testing"
|
||||
];
|
||||
controlador.buscarCli_sri = (req, res) => {
|
||||
var idCli = req.query.ruc;
|
||||
var idCli = req.query.ID_CLIENTE;
|
||||
console.log(`Peticion => Consulta RUC: ${idCli}`);
|
||||
let selc = 2;
|
||||
let selc = 1;
|
||||
|
||||
switch (selc) {
|
||||
case 0:
|
||||
@@ -184,11 +183,13 @@ controlador.buscarCli_sri = (req, res) => {
|
||||
});
|
||||
break;
|
||||
case 1:
|
||||
axios.post(arrayUrl[selc] + "?ruc=" + idCli)
|
||||
axios({
|
||||
method: 'POST',
|
||||
url: arrayUrl[selc]+"?ID_CLIENTE="+idCli,
|
||||
})
|
||||
.then(function (resp_sri) {
|
||||
console.log(resp_sri.data);
|
||||
var consulta = { "resp_consulta": resp_sri };
|
||||
res.json(consulta);
|
||||
res.json(resp_sri.data);
|
||||
});
|
||||
break;
|
||||
case 2:
|
||||
@@ -228,33 +229,54 @@ controlador.api_consultaCliente = (req, res) => {
|
||||
//console.log(req.query.id);
|
||||
console.log(`Peticion => Consulta ID: ${idCli}`);
|
||||
req.getConnection((err, conn) => {
|
||||
conn.query('SELECT client_nombre as nombre,client_razonSocial as nombre_comercial,client_direccion as direccion,IFNULL(client_celular,client_telefono) as telefono,client_email as email FROM clientes WHERE client_rucCed = ?', [idCli], (err, rows) => {
|
||||
conn.query('SELECT client_nombre as nombre,client_razonSocial as nombre_comercial,client_Ciudad as ciudad,client_direccion as direccion,IFNULL(client_celular,client_telefono) as telefono,client_email as email FROM clientes WHERE client_rucCed = ?', [idCli], (err, rows) => {
|
||||
//conn.query('SELECT * FROM clientes WHERE client_rucCed = ?',[idCli],(err,rows)=>{
|
||||
if (rows.length > 0) {
|
||||
console.log("Encontrado en Servidor Local:");
|
||||
res.json(rows);
|
||||
} else {
|
||||
axios.post(arrayUrl[2] + "?ruc=" + idCli)
|
||||
axios.post(arrayUrl[1] + "?ID_CLIENTE=" + idCli)
|
||||
.then(function (resp_sri) {
|
||||
console.log("Encontrado en Servidor SRI:");
|
||||
//console.log(resp_sri.data);
|
||||
var data_toArray = resp_sri.data;
|
||||
let arr = data_toArray.split('***');
|
||||
//console.log(arr);
|
||||
var obj_json = { nombre: arr[1], nombre_comercial: arr[2], direccion: arr[5],telefono:"",email:"" };
|
||||
console.log(obj_json);
|
||||
res.json(obj_json);
|
||||
console.log(resp_sri.data);
|
||||
var resp = resp_sri.data;
|
||||
if(resp.length > 0){
|
||||
var obj_json = {
|
||||
nombre: resp[0].CLI_NOMBRE,
|
||||
nombre_comercial: resp[0].CLI_NOMBRE,
|
||||
direccion: resp[0].CLI_DIRECCION,
|
||||
ciudad:"", telefono:
|
||||
resp[0].CLI_TELEFONOS,
|
||||
email: resp[0].CLI_EMAIL };
|
||||
res.json(obj_json);
|
||||
}else{
|
||||
res.json({"RESP":"DATA NO ENCONTRADA"});
|
||||
//axios.post(arrayUrl[1] + "?ID_CLIENTE=" + idCli).then(function (resp_sri) {});
|
||||
}
|
||||
}).catch(function (err) {
|
||||
console.log(err);
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
async function consulta_clientes(idCli) {
|
||||
|
||||
if(false){
|
||||
axios.post(arrayUrl[1] + "?ID_CLIENTE=" + idCli)
|
||||
.then(function (resp_sri) {
|
||||
console.log("Encontrado en Servidor SRI:");
|
||||
console.log(resp_sri.data);
|
||||
var data_toArray = resp_sri.data;
|
||||
let arr = data_toArray.split('***');
|
||||
//console.log(arr);
|
||||
var obj_json = { nombre: arr[1], nombre_comercial: arr[2], direccion: arr[5], telefono: "", email: "" };
|
||||
console.log(obj_json);
|
||||
res.json(obj_json);
|
||||
}).catch(function (err) {
|
||||
console.log(err);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ const axios = require('axios').default;
|
||||
const jwt = require('jsonwebtoken');
|
||||
const config = require('../config');
|
||||
const { base64encode, base64decode } = require('nodejs-base64');
|
||||
const { v4: uuidv4 } = require('uuid');
|
||||
|
||||
controlador.verVentasJson = (req, res) => {
|
||||
req.getConnection((err, conn) => {
|
||||
@@ -60,12 +61,23 @@ function stringTo_md5(data_string) {
|
||||
console.log("MD5: ", md5);
|
||||
return md5;
|
||||
}
|
||||
async function keygen(conection) {
|
||||
var key = "";
|
||||
await conection.query(`SELECT * FROM empresa_datos`, (err, rows) => {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
} else {
|
||||
key = base64encode(rows[0].RUC);
|
||||
}
|
||||
});
|
||||
return key;
|
||||
}
|
||||
//************* FORM LOGIN DEMO ****************//
|
||||
controlador.login_test = (req, res) => {
|
||||
res.render('login_test');
|
||||
};
|
||||
|
||||
|
||||
var sesion_login = {"UID":"","SESSION":"","KEY":""};
|
||||
//************* GENERA TOKENS ****************//
|
||||
controlador.auth_keygen = async (req, res) => {
|
||||
var datUsr = base64decode(req.body.data);
|
||||
@@ -88,6 +100,8 @@ controlador.auth_keygen = async (req, res) => {
|
||||
var ape = rows[0].apellido;
|
||||
const token = jwt.sign(jsonDat, config.secret.key);
|
||||
var auth = { auth: [{ "apellido": ape, "nombre": nom, "key": key, token: token }] };
|
||||
sesion_login.SESSION = req.sessionID;
|
||||
sesion_login.KEY = key;
|
||||
//console.log(auth);
|
||||
res.json(auth);
|
||||
} else {
|
||||
@@ -104,12 +118,19 @@ controlador.auth_keygen = async (req, res) => {
|
||||
controlador.auth_token = async (req, res) => {
|
||||
console.log(req.body.data);
|
||||
var token = req.body.data;
|
||||
let idUnico = uuidv4();
|
||||
if (!token) {
|
||||
return res.status(401).json({ auth: false, message: 'No token provided' });
|
||||
}
|
||||
try{
|
||||
var decoded = jwt.verify(token, config.secret.key);
|
||||
res.json(decoded);
|
||||
await req.getConnection(async (error, conn, next) => {
|
||||
//var key = await keygen(conn);
|
||||
var decoded = jwt.verify(token, config.secret.key);
|
||||
console.log(decoded);
|
||||
sesion_login.UID = idUnico;
|
||||
res.json(sesion_login);
|
||||
});
|
||||
|
||||
}catch(err){
|
||||
res.json({ auth: false, message: 'Unauthorized: '+err.message });
|
||||
}
|
||||
|
||||
17
src/controladores/controlador_arduino.js
Normal file
17
src/controladores/controlador_arduino.js
Normal file
@@ -0,0 +1,17 @@
|
||||
const controlador = {};
|
||||
/*const axios = require('axios').default;
|
||||
const jwt = require('jsonwebtoken');
|
||||
const config = require('../config');
|
||||
const { base64encode, base64decode } = require('nodejs-base64');
|
||||
const { v4: uuidv4 } = require('uuid');*/
|
||||
|
||||
|
||||
//********* PRUEBA Y RECECION DE DATOS ********//
|
||||
controlador.recibe_datos = (req, res) => {
|
||||
console.log(req.body);
|
||||
res.send({PRT_NUM:3,PRT_EST:1,msg:"MENSAJE AL DISPLAY ",status:200});
|
||||
//res.render('panel_control');
|
||||
};
|
||||
|
||||
|
||||
module.exports = controlador;
|
||||
8
src/rutas/rt_arduino.js
Normal file
8
src/rutas/rt_arduino.js
Normal file
@@ -0,0 +1,8 @@
|
||||
const express = require('express');
|
||||
const rutas = express.Router();
|
||||
|
||||
const controlador_init = require('../controladores/controlador_arduino');
|
||||
|
||||
rutas.post('/test_recibe_json/', controlador_init.recibe_datos);//testing json reccepcion server
|
||||
|
||||
module.exports = rutas;
|
||||
Reference in New Issue
Block a user