'use strict'; const moment = require('moment'); async function record (ctx) { try { const { models } = ctx.fs.dc; const { statusCode, description = '', cameraId, platform = 'yingshi' } = ctx.request.body; let statusRes = await models.CameraStatus.findOne({ where: { status: statusCode } }) let alarmRes = null; if (!statusRes) { statusRes = await models.CameraStatus.create({ platform: platform, status: statusCode, describe: description, forbidden: false, }) } else { alarmRes = await models.CameraStatusAlarm.findOne({ where: { statusId: statusRes.id, description, cameraId, confirm: null } }) } if (alarmRes) { await models.CameraStatusAlarm.update({ updateTime: moment().format() }) } else { await models.CameraStatusAlarm.create({ statusId: statusRes.id, description, createTime: moment().format(), cameraId, }) } ctx.status = 204; } catch (error) { ctx.fs.logger.error(`path: ${ctx.path}, error: error`); ctx.status = 400; ctx.body = { message: typeof error == 'string' ? error : undefined } } } module.exports = { record, };