area_persons_thre_time.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. //
  2. // Created by songchao.chen on 2019/7/4.
  3. // 区域中设定时间段人员超时限制
  4. //
  5. #ifndef WORKSPACE_AREA_PERSONS_THRE_TIME_H
  6. #define WORKSPACE_AREA_PERSONS_THRE_TIME_H
  7. #include <string>
  8. #include <map>
  9. #include <atomic>
  10. struct SArea_Persons_Thre
  11. {
  12. int db_id;
  13. int area_id;
  14. int thre_value;
  15. std::string sz_start_time;
  16. std::string sz_end_time;
  17. int start_time;
  18. int end_time;
  19. SArea_Persons_Thre()
  20. {
  21. db_id = 0;
  22. area_id = 0;
  23. thre_value = 0;
  24. start_time = 0;
  25. end_time = 0;
  26. sz_start_time = "";
  27. sz_end_time = "";
  28. }
  29. };
  30. typedef std::map<int,SArea_Persons_Thre> MAP_AREA_PERSONS_THRE;
  31. struct area_persons_thre_time
  32. {
  33. area_persons_thre_time();
  34. MAP_AREA_PERSONS_THRE m_area_persons_thre;
  35. int m_default_limit_person_limit;
  36. void add_persons_thre(const SArea_Persons_Thre & thre);
  37. void del_persons_thre(int thre_db_id);
  38. void clear_persons_thre();
  39. //设置默认值
  40. void set_default_person_count_limit(int _limit);
  41. //记录数量
  42. int get_count() const;
  43. // 获取区域cur_time超员的阈值,区域可能有时间段限制
  44. int get_limit_person_count(uint64_t cur_time = 0);
  45. };
  46. #endif //WORKSPACE_AREA_PERSONS_THRE_TIME_H