2017-03-28 08:34:50 +00:00
|
|
|
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');
|
2017-03-28 08:34:50 +00:00
|
|
|
let query = "insert into ??.?? values (null, ?, ?,?,?,?,?,?,?,?,?,?,?,?,unix_timestamp())";
|
|
|
|
let param = [
|
|
|
|
config.db.db9,
|
|
|
|
'rawdata',
|
2017-03-29 10:02:51 +00:00
|
|
|
arr.devid || '',
|
2017-03-28 08:34:50 +00:00
|
|
|
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();
|
|
|
|
})
|
|
|
|
})
|
2017-03-28 08:34:50 +00:00
|
|
|
.all('*', rt.send);
|
|
|
|
|
|
|
|
module.exports = router;
|