webio-node/route/api/wristband.js

86 lines
2.6 KiB
JavaScript
Raw Normal View History

const express = require('express');
const router = express.Router();
const rt = require('../ResTool');
const config = require('../../config.json');
const fs = require('fs');
const mysql = require('../../libs/mysql_pool');
const tool = require('../../includes/apiTool');
const exec = require('child_process').exec;
const so = require('../../includes/storeObject');
const crypt = require('../../libs/crypto');
router
.get('/', (req, res) => {
res.send({ name: 'WebIO Wristband API' });
})
.get('/pushdata', async(req, res, n) => {
try {
res.db = await mysql.getConn();
} catch (e) {
console.log(`Get DB Connection ERROR ${e}`);
return n('ERR8100');
}
let arr = req.query;
if(!arr.mac) return n('ERR0000');
2017-03-29 10:02:51 +00:00
if(!arr.devid) return n('ERR0000');
let query = "insert into ??.?? values (null, ?, ?,?,?,?,?,?,?,?,?,?,?,?,unix_timestamp())";
let param = [
config.db.db9,
'rawdata',
2017-03-29 10:02:51 +00:00
arr.devid || '',
arr.mac || '',
arr.val2 || '',
arr.val3 || '',
arr.val4 || '',
arr.val5 || '',
arr.val6 || '',
arr.val7 || '',
arr.val8 || '',
arr.val9 || '',
arr.val10 || '',
arr.val11 || '',
arr.timestamp || '',
];
res.db.query(query, param, (err, row) => {
if(err) return n('ERR8001');
res.api_res = {
record: []
};
n();
})
})
.post('*', async(req, res, n) => {
try {
res.db = await mysql.getConn();
} catch (e) {
console.log(`Get DB Connection ERROR ${e}`);
return n('ERR8100');
}
n();
})
2017-03-29 10:02:51 +00:00
.post('/getstatus', (req,res,n) => {
let query = "select * from \
(\
select xx.*, l.`name` from ??.?? xx \
left join ??.?? l \
on l.`serialnumber` = xx.`devid` \
where xx.`timestamp` > unix_timestamp() - 10 \
order by xx.`val11` desc, xx.`timestamp` desc \
limit 65535\
) x \
group by `mac`";
let param = [config.db.db9, 'rawdata', config.db.db9, 'location']
res.db.query(query, param, (err,row) => {
if(err) return n('ERR8000');
res.api_res = {
record: tool.checkArray(row)
}
n();
})
})
.all('*', rt.send);
module.exports = router;