card.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #ifndef _CARD_HPP_
  2. #define _CARD_HPP_
  3. #include <thread>
  4. #include <ev++.h>
  5. #include "card_base.h"
  6. #include "write-copy.h"
  7. extern int three_rates_flag;
  8. extern int traffic_light_flag;
  9. extern int anti_coll_flag;
  10. struct card_list_visit:visitor<std::shared_ptr<card_location_base>>
  11. {
  12. bool visit(std::shared_ptr<card_location_base> c);
  13. bool _flag{false};
  14. };
  15. struct card_list:single_base<card_list,uint64_t,std::shared_ptr<card_location_base>>
  16. {
  17. ///lszId64=为初始化所有卡, lszId64格式为:0010000001016
  18. void init_staffer(const std::string & lszId64);
  19. void init_vehicle(const std::string & lszId64);
  20. void on_message(zloop<task*> *loop,message_locinfo&loc,bool is_history);
  21. void on_message(zloop<task*> *loop, message_tdoa_locinfo& loc, bool is_history);
  22. void on_message(zloop<task*> *loop, message_pdoa_locinfo& loc, bool is_history);
  23. void init_card_from_db();
  24. void load_his_card_postion_vehicle();
  25. void load_his_card_postion_staff();
  26. void load_his_card_postion_from_db();
  27. //获取卡数据 //标识id 人staff_id 车 vehicle_id
  28. const std::shared_ptr<card_location_base> get_card_by_cid(int cid);
  29. ~card_list(){}
  30. };
  31. #endif