#ifndef TOEQMDATABASE_H #define TOEQMDATABASE_H #include "spdlog/spdlog.h" #include "lhhttpapi.h" #include "GlobalVariable.h" class ToEQMDataBase { public: ToEQMDataBase(); ~ToEQMDataBase(); /* 初始化WebAPI */ bool initWebApi(const QString& url,const QString& serverIP,const QString& serID); /* 写入算法信息,写入tAction表 */ bool writeAlgorithmInfo(std::vector& vecInfo); /* 删除算法信息 */ bool deleteAlgorithmInfo(std::vector& vecDeleteInfo); /* 获取tAction数据 */ bool getAlgorithmInfo(std::vector& vecInfo); /* 插入设备信息 */ bool insertDeviceInfo(std::vector& vecInfo); /* 更新设备信息 */ bool updateDeviceInfo(std::vector& vecUpdateInfo); /* 删除设备信息 */ bool deleteDeviceInfo(std::vector& vecDeleteInfo); /* 从EQM获取CamerInfo信息 */ bool getDeviceInfo(std::vector& vecInfo); /* 获取通道信息 */ bool getChannelInfo(std::map& mapChannelName); /* 获取摄像机信息 */ bool getCameraInfo(std::map& mapCameraName); /* 插入设备和算法关联信息 */ bool insertDeviceAlgorithmInfo(std::vector& vecInfo); /* 更新设备和算法关联表 */ bool updateDeviceAlgorithmInfo(std::vector& vecInfo); /* 删除设备和算法关联表 */ bool deleteDeviceAlgorithmInfo(std::vector& vecInfo); /* 删除设备和算法关联表 */ bool deleteDeviceAlgorithmInfo(std::list& vecID); /* 获取设备和算法信息关联表,需要先从EQM数据库中获取到设备信息,然后根据读取到的设备信息,取出已经删除的设备ID */ bool getDeviceAlgorithmInfo(std::vector& vecInfo, std::list& listDevIDDelete); /* 获取每个算法的详细信息 */ bool getActionInfo(ListActionInfo& listInfo); /* 获取摄像机和房间关联信息 */ bool getRoomCameraInfo(std::list& vecInfo); /* 写入报警信息 */ bool insertAlarmInfo(const AlarmInfo& alarmInfo); /* 更新报警结束时间 */ bool updateAlarmEndTime(const AlarmInfo& alarmInfo); /* 获取人员计数规则 */ bool getPersonCountRuleInfo(std::vector& vecInfo); /* 获取报警时段,也同时获取报警的应用信息 */ bool getAlarmAppInfo(std::list& listInfo); /* 写入在岗信息 */ bool insertOnWorkInfo(const RoomFaceInfo& onWorkInfo); private: std::shared_ptr m_logger = nullptr; lhhttpapi* m_httpApi = nullptr; QString m_userToken; }; #endif /* TOEQMDATABASE_H */