Browse Source

修改人员井下超时的时间单位为分钟。

zzj 6 years ago
parent
commit
9332d99684
5 changed files with 10 additions and 8 deletions
  1. 2 2
      area.cpp
  2. 4 4
      area.h
  3. 1 1
      card.cpp
  4. 1 1
      module_service/area_business_person_dwell_checker.cpp
  5. 2 0
      worker.cpp

+ 2 - 2
area.cpp

@@ -69,7 +69,7 @@ struct special_area:area
 area::area(int id,int limit_count_person, int limit_time_person,double scale,int32_t mapid,int32_t type)
      :m_id(id)
      ,m_area_type(type)
-     ,m_limit_person_second(limit_time_person)
+     ,m_limit_person_min(limit_time_person)
      ,m_limit_person_count(limit_count_person)
      ,m_scale(scale)
      ,m_mapid(mapid)
@@ -429,7 +429,7 @@ void area_list::init_from_db(int id/*=-1*/)
         if(-1 == id)
         {
             std::shared_ptr<area> ap = create(area_type_id,area_id,over_count_person,over_time_person, scale,map_id,b_type);
-            ap->m_limit_vehicle_second = over_time_vehicle;
+            ap->m_limit_vehicle_min = over_time_vehicle;
             ap->m_limit_vehicle_count = over_count_vehicle;
             ap->m_speed=std::move(map_);
             ap->m_is_work_area = is_work_area;

+ 4 - 4
area.h

@@ -54,12 +54,12 @@ struct area
                      int32_t type,int limit_count_vehicle, int limit_time_vehicle)
     {
         m_area_type=type;
-        m_limit_person_second=limit_time_person;
+        m_limit_person_min=limit_time_person;
         m_limit_person_count=limit_count_person;
         m_scale=scale;
         m_mapid=mapid;
         m_limit_vehicle_count=limit_count_vehicle;
-        m_limit_vehicle_second=limit_time_vehicle;
+        m_limit_vehicle_min=limit_time_vehicle;
     }
 public:
 	std::vector<area_business*> m_area_business_list;
@@ -106,14 +106,14 @@ public:
     int m_area_type;
 
 	//人卡超时及超员数量(阀值)
-    int m_limit_person_second;
+    int m_limit_person_min;
     int m_limit_person_count;
     //是否人卡超员已有告警
     bool m_event_person_count;
     bool m_event_person_show_count;
 
 	//人卡超时及超员数量(阀值)
-    int m_limit_vehicle_second;
+    int m_limit_vehicle_min;
     int m_limit_vehicle_count;
     //是否人卡超员已有告警
     bool m_event_vehicle_count;

+ 1 - 1
card.cpp

@@ -24,7 +24,7 @@ void card_list::init_staffer(const std::string & lszId64)
 
 	std::unordered_map<uint64_t,std::shared_ptr<card_location_base>> 
 		map=std::move(db_card::load_person(lszId64,strategy));
-
+	
 	if(map.empty())
 	{
 		log_error("增加或修改失败,数据库中找不到: card_id=%", lszId64.c_str());

+ 1 - 1
module_service/area_business_person_dwell_checker.cpp

@@ -31,7 +31,7 @@ void area_business_person_dwell_checker::on_hover(const std::shared_ptr<area_hov
     if(!c->is_person()||a->m_enter_time==0)
       return;
 
-	double limit_val = a->m_area->m_limit_person_second;
+	double limit_val = a->m_area->m_limit_person_min*60;
 	double cur_val = ( tool_time::now_to_seconds() - a->m_enter_time / 1000);
 	EVENT_TYPE evType = a->m_area->is_mine() ? EVENT_TYPE::ET_CARD_OVER_TIME_PERSON : EVENT_TYPE::ET_CARD_AREA_OVER_TIME_PERSON;
 	if (limit_val < cur_val)

+ 2 - 0
worker.cpp

@@ -102,6 +102,8 @@ struct worker_thread: zloop<task*> ,visitor<std::shared_ptr<card_location_base>>
 	{
 		m_local_card_list.clear();
 		card_list::instance()->accept(*this);
+
+		log_info("update local cards,count=%d",m_local_card_list.size());
 	}
 
 	void do_task(task&t)