FromWebAPI.h 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #ifndef FROMWEBAPI_H
  2. #define FROMWEBAPI_H
  3. #include "spdlog/spdlog.h"
  4. #include "lhhttpapi.h"
  5. #include "GlobalVariable.h"
  6. class RoomOnWorkInfo;
  7. class FromWebAPI
  8. {
  9. public:
  10. FromWebAPI();
  11. ~FromWebAPI();
  12. /* 初始化WebAPI */
  13. bool initWebApi(const QString& url,const QString& serverIP,const QString& serID);
  14. /* 写入算法信息,写入tAction表 */
  15. bool writeAlgorithmInfo(std::vector<AlgorithmInfo>& vecInfo);
  16. /* 删除算法信息 */
  17. bool deleteAlgorithmInfo(std::vector<AlgorithmInfo>& vecDeleteInfo);
  18. /* 获取tAction数据 */
  19. bool getAlgorithmInfo(std::vector<AlgorithmInfo>& vecInfo);
  20. /* 插入设备信息 */
  21. bool insertDeviceInfo(std::vector<DeviceInfo>& vecInfo);
  22. /* 更新设备信息 */
  23. bool updateDeviceInfo(std::vector<DeviceInfo>& vecUpdateInfo);
  24. /* 删除设备信息 */
  25. bool deleteDeviceInfo(std::vector<DeviceInfo>& vecDeleteInfo);
  26. /* 从EQM获取CamerInfo信息 */
  27. bool getDeviceInfo(std::vector<DeviceInfo>& vecInfo);
  28. /* 获取通道信息 */
  29. bool getChannelInfo(std::map<int, std::string>& mapChannelName);
  30. std::string getChannelInfo(int chnID);
  31. /* 获取摄像机信息 */
  32. bool getCameraInfo(std::map<int, std::string>& mapCameraName);
  33. /* 插入设备和算法关联信息 */
  34. bool insertDeviceAlgorithmInfo(std::vector<DeviceInfo>& vecInfo);
  35. /* 更新设备和算法关联表 */
  36. bool updateDeviceAlgorithmInfo(std::vector<DeviceInfo>& vecInfo);
  37. /* 删除设备和算法关联表 */
  38. bool deleteDeviceAlgorithmInfo(std::vector<DeviceInfo>& vecInfo);
  39. /* 删除设备和算法关联表 */
  40. bool deleteDeviceAlgorithmInfo(std::list<int>& vecID);
  41. /* 获取设备和算法信息关联表,需要先从EQM数据库中获取到设备信息,然后根据读取到的设备信息,取出已经删除的设备ID */
  42. bool getDeviceAlgorithmInfo(std::vector<DeviceInfo>& vecInfo, std::list<int>& listDevIDDelete);
  43. /* 获取每个算法的详细信息 */
  44. bool getActionInfo(ListActionInfo& listInfo);
  45. /* 获取摄像机和房间关联信息 */
  46. bool getRoomCameraInfo(std::list<RoomCameraInfo>& vecInfo);
  47. /* 写入报警信息 */
  48. bool insertAlarmInfo(const AlarmInfo& alarmInfo);
  49. bool insertAlarmInfo(const AlarmInfo& alarmInfo, int& PKID);
  50. /* 更新报警结束时间 */
  51. bool updateAlarmEndTime(const AlarmInfo& alarmInfo);
  52. /* 根据PKID更新报警记录,用来结束报警 */
  53. bool endAlarmInfoByPKID(const int PKID, const QDateTime dateTime);
  54. /* 更新人员信息 */
  55. bool updatePersonInfo(RoomOnWorkInfo& roomInfo);
  56. /* 获取人员计数规则 */
  57. bool getPersonCountRuleInfo(std::vector<PersonCountRuleInfo>& vecInfo);
  58. /* 获取报警时段,也同时获取报警的应用信息 */
  59. bool getAlarmAppInfo(std::list<AppAndTimeInfo>& listInfo);
  60. /* 写入在岗信息 */
  61. bool insertOnWorkInfo(const RoomFaceInfo& onWorkInfo);
  62. /* 写入在岗离岗数据 */
  63. private:
  64. std::shared_ptr<spdlog::logger> m_logger = nullptr;
  65. lhhttpapi* m_httpApi = nullptr;
  66. QString m_userToken;
  67. };
  68. #endif /* FROMWEBAPI_H */