card.h 1.1 KB

123456789101112131415161718192021222324252627282930313233
  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. struct card_list_visit:visitor<std::shared_ptr<card_location_base>>
  9. {
  10. bool visit(std::shared_ptr<card_location_base> c);
  11. bool _flag{false};
  12. };
  13. struct card_list:single_base<card_list,uint64_t,std::shared_ptr<card_location_base>>
  14. {
  15. ///lszId64=为初始化所有卡, lszId64格式为:0010000001016
  16. void init_staffer(const std::string & lszId64);
  17. void init_vehicle(const std::string & lszId64);
  18. void on_message(zloop<task*> *loop,message_locinfo&loc,bool is_history);
  19. void on_message(zloop<task*> *loop, message_tdoa_locinfo& loc, bool is_history);
  20. void on_message(zloop<task*> *loop, message_pdoa_locinfo& loc, bool is_history);
  21. void init_card_from_db();
  22. void load_his_card_postion_vehicle();
  23. void load_his_card_postion_staff();
  24. void load_his_card_postion_from_db();
  25. //获取卡数据 //标识id 人staff_id 车 vehicle_id
  26. const std::shared_ptr<card_location_base> get_card_by_cid(int cid);
  27. ~card_list(){}
  28. };
  29. #endif