From 2bb79e29f280e069d687094983fb74ab3acdbdc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?zhaobing=E2=80=99?= Date: Wed, 6 Dec 2023 13:34:11 +0800 Subject: [PATCH] =?UTF-8?q?feat:fix=20bugs=EF=BC=88DeviceId=E6=94=B9device?= =?UTF-8?q?Id=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/app/lib/controllers/analysis/network.js | 36 +++++++++++++++++++-- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/api/app/lib/controllers/analysis/network.js b/api/app/lib/controllers/analysis/network.js index 1f0be9e..cd95794 100644 --- a/api/app/lib/controllers/analysis/network.js +++ b/api/app/lib/controllers/analysis/network.js @@ -309,7 +309,7 @@ async function findDevicesCardStatus (ctx, next) { if (deviceIds && deviceIds.length) { const id = `(${deviceIds.map(id => `'${id}'`).join(',')})` rlst = await clickHouse.dataAlarm.query(` - SELECT cs.DeviceId,cs.Status,MAX(cs.Time) + SELECT cs.DeviceId as deviceId,cs.Status as status,MAX(cs.Time) FROM alarm.CardStatus cs WHERE cs.DeviceId in ${id} GROUP BY cs.DeviceId,cs.Status`).toPromise() @@ -421,7 +421,36 @@ async function findAlarmsDevice(ctx, next) { ctx.body = rslt; } } - +//查询智能 +async function createInvoke (ctx, next) { + let error = { name: 'CreateError', message: '命令下发失败' }; + const data = ctx.request.body + let rslt = null, code = null, issuccess = false, text = null; + if (data) { + try { + const models = ctx.fs.dc.models; + let iotaThingId = data.thingId; + let structure = await models.Structure.findOne({ where: { iotaThingId } }); + if (structure) { + const dataToIota = data; + let iotaResponse = await ctx.app.fs.iotRequest.post(`/capabilities/invoke`, dataToIota) + rslt = JSON.parse(iotaResponse) + error = null; + } else { + error = { name: 'NotFound', message: `不存在{iotaThingId=${iotaThingId}}的结构物` }; + } + } catch (err) { + ctx.fs.logger.error(`path: ${ctx.path}, error: ${err}`); + } + } + if (error) { + ctx.status = 400; + ctx.body = error; + } else { + ctx.status = 200; + ctx.body = rslt; + } +}; @@ -435,5 +464,6 @@ module.exports = { findAlarmsDevices, findDevicesCardStatus, getDevicesLlinkStatus, - findAlarmsDevice + findAlarmsDevice, + createInvoke } \ No newline at end of file