const schedule = require('node-schedule'); const moment = require('moment') module.exports = function (app, opts) { const freshYingshiState = schedule.scheduleJob( // '* * 4 * * *', '*/1 * * * *', async () => { // try { // const startTime = moment() // const { models } = app.fs.dc // const { token4yingshi } = app.fs.utils // const secretRes = await models.SecretYingshi.findAll() // let deviceList = [] // for (let s of secretRes) { // const tokenYingshi = await token4yingshi(s.dataValues) // // 查询所有设备 // let pageStart = 0 // while (pageStart >= 0) { // const deviceRes = await app.fs.yingshiRequest.post('lapp/device/list', { // query: { // accessToken: tokenYingshi, // pageStart, // pageSize: 50 // } // }) // if (deviceRes.code == 200) { // if (deviceRes.data.length) { // deviceList = deviceList.concat.apply(deviceList, deviceRes.data) // for (let d of deviceRes.data) { // const existD = await models.GbCamera.findOne({ // where: { // streamid: d.deviceSerial // } // }) // let storageD = { // level: 0, // ipctype: 'yingshi', // streamid: d.deviceSerial, // online: d.status ? 'ON' : 'OFF', // name: d.deviceName, // } // if (existD) { // if (existD.online != storageD.online) { // // 状态更新 // await models.GbCamera.update(storageD, { // where: { // id: existD.id // } // }) // // 状态推送 // // const { connected } = app.socket.sockets // // const roomId = 'ROOM_' + Math.random() + '_' + d.deviceSerial // // let cameraName = '' // // if (connected) { // // for (let c in connected) { // // const { client: { conn: { request: { _query } } } } = connected[c] // // if (_query && _query.token) { // // let userInfo = await app.redis.hget(_query.token, 'userInfo'); // // if (userInfo) { // // userInfo = JSON.parse(userInfo) // // const corCameraRes = await models.Camera.findOne({ // // where: { // // gbId: existD.id, // // createUserId: userInfo.id // // } // // }) // // // TODO 管理员判断 // // if (corCameraRes) { // // cameraName = corCameraRes.name // // connected[c].join(roomId) // // } // // } // // } // // } // // app.socket.to(roomId).emit('CAMERA_ONLINE', { // // ipctype: 'yingshi', // // online: storageD.online, // // gbId: existD.id, // // name: cameraName // // }) // // } // } // } else { // const yingshiRes = await models.GbCamera.create(storageD) // await models.Camera.update({ // gbId: yingshiRes.id // }, { // where: { // serialNo: d.deviceSerial // } // }) // } // } // pageStart++ // } else { // pageStart = -1 // } // } // } // } // // console.log(deviceList); // console.info(`萤石状态查询用时 ${moment().diff(startTime, 'seconds')} s`) // } catch (error) { // app.fs.logger.error(`sechedule: freshYingshiState, error: ${error}`); // } }); return { freshYingshiState } }