daiyueteng 6 роки тому
батько
коміт
5e6a8e3f10
2 змінених файлів з 37 додано та 30 видалено
  1. 32 3
      module_service/module_web.cpp
  2. 5 27
      module_service/module_web.h

+ 32 - 3
module_service/module_web.cpp

@@ -5,6 +5,7 @@
 #include"area_business_person_attendance.h"
 #include"module_meta_date_changed.h"
 #include"common_tool.h"
+#include"event.h"
 
 #include"log.h"
 
@@ -77,7 +78,7 @@ void module_web::response_login()
 
     //所有告警
     std::vector<std::shared_ptr<ya_event>> arr;
-    get_all_events(arr);
+    _get_all_events(arr);
     if(!arr.empty())
     {
         tool_json::push_back(nodes, event_list::evs_to_json(arr), allocator);
@@ -96,11 +97,11 @@ void module_web::response_login()
 void module_web::run()
 {
     std::vector<std::shared_ptr<ya_event>> arr;
-    get_all_events(arr);
+    _get_all_events(arr);
 
     if(!arr.empty())//发送给web端
     {
-        delete_end(arr);
+        _delete_end(arr);
 
         swsClientMgr.send(JSON_CMD_VALUE_PUSH, event_list::evs_to_json(arr));
     }
@@ -112,6 +113,34 @@ void module_web::run()
     }
 }
 
+void module_web::_get_all_events(std::vector<std::shared_ptr<ya_event>>& arr)
+{
+    auto _map = event_list::instance()->m_map;
+    auto it_map = _map.begin();
+    for(;it_map!=_map.end();++it_map)
+    {
+        arr.push_back(it_map->second);
+    }
+}
+
+///在全局列表中删除已经处理或结束了的告警
+void module_web::_delete_end(std::vector<std::shared_ptr<ya_event>>& arr)
+{
+    std::vector<uint64_t> todelete;
+    auto arr_iter = arr.begin();
+    for(;arr_iter!=arr.end();++arr_iter)
+    {
+        if((*arr_iter)->is_end())//删除掉已经处理的
+        {
+            todelete.push_back((*arr_iter)->get_list_id());
+        }
+    }
+
+    if(todelete.size())
+    {
+        event_list::instance()->remove(todelete);
+    }
+}
 
 
 

+ 5 - 27
module_service/module_web.h

@@ -14,11 +14,13 @@
 #include "rapidjson/document.h"
 
 #include"config_file.h"
-#include"event.h"
+
 #include"module_singleton_base.h"
 #include"module_i_thread.h"
 #include "websocket/wsClientMgr.h"
 
+struct ya_event;
+
 class module_web : public i_thread, public singleton_base<module_web>
 {
 private:
@@ -66,34 +68,10 @@ private:
     void run();
 
     ///获取所有的告警事件
-    void get_all_events(std::vector<std::shared_ptr<ya_event>>& arr)
-    {
-        auto _map = event_list::instance()->m_map;
-        auto it_map = _map.begin();
-        for(;it_map!=_map.end();++it_map)
-        {
-            arr.push_back(it_map->second);
-        }
-    }
+    void _get_all_events(std::vector<std::shared_ptr<ya_event>>& arr);
 
     ///在全局列表中删除已经处理或结束了的告警
-    void delete_end(std::vector<std::shared_ptr<ya_event>>& arr)
-    {
-        std::vector<uint64_t> todelete;
-        auto arr_iter = arr.begin();
-        for(;arr_iter!=arr.end();++arr_iter)
-        {
-            if((*arr_iter)->is_end())//删除掉已经处理的
-            {
-                todelete.push_back((*arr_iter)->get_list_id());
-            }
-        }
-
-        if(todelete.size())
-        {
-            event_list::instance()->remove(todelete);
-        }
-    }
+    void _delete_end(std::vector<std::shared_ptr<ya_event>>& arr);
 };