Browse Source

修改一些代码

daiyueteng 6 years ago
parent
commit
edddd8f271

+ 7 - 25
CMakeLists.txt

@@ -6,14 +6,14 @@ add_custom_target(files_ya-serv SOURCES ${files_ya-serv})
 MESSAGE(STATUS "module: ya-serv")
 
 #g++编译参数
-#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pthread -m64 -std=c++11 -fPIC -fno-strict-aliasing")
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}  -pthread -m64 -std=c++11 -fPIC -fno-strict-aliasing")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pthread -m64 -std=c++11 -fPIC -fno-strict-aliasing")
+#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}  -pthread -m64 -std=c++11 -fPIC -fno-strict-aliasing")
 #第三方库库文件目录
-link_directories( "/root/soft/boost_1_67_0/lib" "/usr/lib64/mysql"  "/root/projection/includelib/lib")
+link_directories( "/root/soft/boost_1_67_0/lib" "/usr/lib64/mysql" "/root/projection/out/lib")
 #第三方库头文件目录
-include_directories("/home/user/libev-4.24" "." "/home/user/boost_1_67_0"
-    "/root/projection/includelib/include/"
-    "/root/projection/includelib/include/websocketpp"
+include_directories("/home/user/libev-4.24" "." "/root/soft/boost_1_67_0/include/"
+    "/root/projection/out/"
+    "/root/projection/out/websocketpp"
     "/usr/include/mysql/"  "src/" "src/internal/"
     "websocket/" "db_api/" "module_service/")
 
@@ -25,20 +25,15 @@ set(SRC_YASL "ant.cpp" "ant.h" "base64.cpp" "base64.h" "card.cpp" "card.h" "cloc
     "point.h" "tdoa_sync.cpp" "tdoa_sync.h" "web-client.cpp" "web-client.h" "worker.cpp" "worker.h" "zio.h"
     "zloop.h" "znet.cpp" "znet.h" "zstream.h" "log.h"  "card_path.h" "card_path.cpp"
     "select_tool.h" "select_tool.cpp" "loc_point.h" "loc_point.cpp" "line_fit.h" "line_fit.cpp"
-
-    "net-service.h" "net-service.cpp"
-
-    "loc_tool.h" "loc_tool.cpp"
+    "net-service.h" "net-service.cpp" "loc_tool.h" "loc_tool.cpp"
 
     "db_api/CDBCommon.h" "db_api/CDBConnect.h" "db_api/CDBConnect.cpp"  "db_api/CjasonCommon.h"
     "db_api/CDBConnPool.h" "db_api/CDBConnPool.cpp"
     "db_api/CDBHelper.h" "db_api/CDBHelper.cpp"
     "db_api/CDBResultSet.h" "db_api/CDBResultSet.cpp"
 
-
     "src/sio_client.h" "src/sio_client.cpp" "src/sio_message.h"
     "src/sio_socket.h" "src/sio_socket.cpp"
-
     "src/internal/sio_client_impl.h" "src/internal/sio_client_impl.cpp"
     "src/internal/sio_packet.h" "src/internal/sio_packet.cpp"
 
@@ -68,17 +63,4 @@ set(SRC_MODULE
 
 add_executable(${PROJECT_NAME} "main.cpp" ${SRC_YASL}  ${SRC_MODULE})
 
-#set(LIB_BOOST "")
 target_link_libraries (${PROJECT_NAME}  zlog rt ev boost_system boost_thread mysqlclient)
-
-
-
-
-
-
-
-
-
-
-
-

+ 3 - 3
CMakeLists.txt.user

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 4.7.0, 2018-09-06T09:13:37. -->
+<!-- Written by QtCreator 4.7.0, 2018-09-12T14:57:01. -->
 <qtcreator>
  <data>
   <variable>EnvironmentId</variable>
@@ -93,7 +93,7 @@
      <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
       <value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
       <valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
-       <value type="QString">clean</value>
+       <value type="QString">all</value>
       </valuelist>
       <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
       <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">CMake Build</value>
@@ -137,7 +137,7 @@
      <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
       <value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments"></value>
       <valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
-       <value type="QString">clean</value>
+       <value type="QString">all</value>
       </valuelist>
       <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
       <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">CMake Build</value>

+ 0 - 7
module_service/module_const.cpp

@@ -4,10 +4,3 @@
 int global_constant::AREA_SPEED_COUNT_LIMIT=0;
 
 
-
-//template<typename T>
-//T *singleton_base<T>::_instance = nullptr;
-
-//template<typename T>
-//std::mutex singleton_base<T>::_mutex_singleton_base;
-

+ 1 - 1
module_service/module_const.h

@@ -619,7 +619,7 @@ private:
     };
     //定义一个静态成员变量,程序结束时,系统会自动调用它的析构函数,我们不需要访问这个变量,所以不需要初始化
     static Garbo garbo;
-public:
+
     static T *_instance;
     static std::mutex _mutex_singleton_base;
 };

+ 2 - 2
module_service/module_mgr.h

@@ -26,9 +26,9 @@ public:
     /**
      * @brief 注册web回调函数,读数据库初始化事件列表
      */
-    void init()
+    void init(std::map<std::string, YA::MSG_HANDLE_FUNC_TYPE>& MsgFuncList)
     {
-        //module_web::instance()->init();
+        module_web::instance()->init(MsgFuncList);
         module_area::instance()->init();
         module_call_help::instance()->init();
     }

+ 5 - 11
module_service/module_web.cpp

@@ -9,9 +9,9 @@
 void module_web::accept( int ID, std::string const& name,
                          sio::message::ptr const& data, bool need_ack, sio::message::list &ack_resp )
 {
-    log_debug("收到web发来的数据");
+    log_debug("收到web发来的数据 ");
 
-    if(data->get_flag() == sio::message::flag_object)
+    if(data->get_flag() != sio::message::flag_object)
     {
         log_error("发来的数据不是对象");
         return;
@@ -24,9 +24,11 @@ void module_web::accept( int ID, std::string const& name,
         return;
     }
 
+    log_info(data->get_map()[JSON_ROOT_KEY_DATA]->get_string().c_str());
+
     if (JSON_CMD_VALUE_REQUEST_ALL_DATA == cmd)//web登录请求所有信息
     {
-        response_login();
+        module_web::instance()->response_login();
     }
     else if(JSON_CMD_VALUE_DEAL_HELP == cmd) // 处理呼救信息
     {
@@ -55,14 +57,6 @@ void module_web::accept( int ID, std::string const& name,
     }
 }
 
-void module_web::init(std::map<std::string, YA::MSG_HANDLE_FUNC_TYPE>& MsgFuncList)
-{
-//    MsgFuncList.insert( std::make_pair( JSON_CMD_VALUE_REQUEST_ALL_DATA, &module_web::accept ) );
-//    MsgFuncList.insert( std::make_pair( JSON_CMD_VALUE_DEAL_HELP, &module_web::accept ) );
-//    MsgFuncList.insert( std::make_pair( JSON_CMD_VALUE_CALL_CARD_REQUEST, &module_web::accept ) );
-//    MsgFuncList.insert( std::make_pair( JSON_CMD_VALUE_CALL_CARD_CANCEL_REQUEST, &module_web::accept ) );
-}
-
 
 void module_web::response_login()
 {

+ 75 - 64
module_service/module_web.h

@@ -135,6 +135,7 @@ private:
     {
     }
 
+public:
     /**
      * @brief 用来处理WEB发送的请求(web请求回调函数)
      * @param ID
@@ -143,14 +144,20 @@ private:
      * @param need_ack
      * @param ack_resp
      */
-    void accept( int ID, std::string const& name,
+    static void accept( int ID, std::string const& name,
                  sio::message::ptr const& data, bool need_ack, sio::message::list &ack_resp );
 
     /**
      * @brief 注册web请求回调函数
      * @param MsgFuncList
      */
-    void init(std::map<std::string, YA::MSG_HANDLE_FUNC_TYPE>& MsgFuncList);
+    void init(std::map<std::string, YA::MSG_HANDLE_FUNC_TYPE>& MsgFuncList)
+    {
+        MsgFuncList.insert( std::make_pair( JSON_CMD_VALUE_REQUEST_ALL_DATA, &module_web::accept ) );
+        MsgFuncList.insert( std::make_pair( JSON_CMD_VALUE_DEAL_HELP, &module_web::accept ) );
+        MsgFuncList.insert( std::make_pair( JSON_CMD_VALUE_CALL_CARD_REQUEST, &module_web::accept ) );
+        MsgFuncList.insert( std::make_pair( JSON_CMD_VALUE_CALL_CARD_CANCEL_REQUEST, &module_web::accept ) );
+    }
 
     /// web前端有用户登录时,反馈给web所有信息
     void response_login();
@@ -159,15 +166,28 @@ private:
 class tool_json
 {
 public:
-    static bool try_get_value(int& d, const char* k, const rapidjson::Value& data)
+    static bool try_get_iter(const char* key, const rapidjson::Value& node,
+                             rapidjson::Value::ConstMemberIterator& out_iter)
     {
-        if(data.IsObject())
+        if(node.IsObject())
         {
-            auto iter = data.FindMember(k);
-            if(data.MemberEnd() == iter)
+            out_iter = node.FindMember(key);
+            if(node.MemberEnd() == out_iter)
             {
                 return false;
             }
+
+            return true;
+        }
+
+        return false;
+    }
+
+    static bool try_get_value(int& d, const char* key, const rapidjson::Value& node)
+    {
+        rapidjson::Value::ConstMemberIterator iter;
+        if(try_get_iter(key, node, iter))
+        {
             if(iter->value.IsInt())
             {
                 d = iter->value.GetInt();
@@ -178,15 +198,11 @@ public:
         return false;
     }
 
-    static bool try_get_value(uint64_t& d, const char* k, const rapidjson::Value& data)
+    static bool try_get_value(uint64_t& d, const char* key, const rapidjson::Value& node)
     {
-        if(data.IsObject())
+        rapidjson::Value::ConstMemberIterator iter;
+        if(try_get_iter(key, node, iter))
         {
-            auto iter = data.FindMember(k);
-            if(data.MemberEnd() == iter)
-            {
-                return false;
-            }
             if(iter->value.IsUint64())
             {
                 d = iter->value.GetUint64();
@@ -196,15 +212,25 @@ public:
         return false;
     }
 
-    static bool try_get_value(std::string& d, const char* k, const rapidjson::Value& data)
+    static bool try_get_value(double& d, const char* key, const rapidjson::Value& node)
     {
-        if(data.IsObject())
+        rapidjson::Value::ConstMemberIterator iter;
+        if(try_get_iter(key, node, iter))
         {
-            auto iter = data.FindMember(k);
-            if(data.MemberEnd() == iter)
+            if(iter->value.IsDouble())
             {
-                return false;
+                d = iter->value.GetDouble();
+                return true;
             }
+        }
+        return false;
+    }
+
+    static bool try_get_value(std::string& d, const char* key, const rapidjson::Value& node)
+    {
+        rapidjson::Value::ConstMemberIterator iter;
+        if(try_get_iter(key, node, iter))
+        {
             if(iter->value.IsString())
             {
                 d = iter->value.GetString();
@@ -215,54 +241,32 @@ public:
         return false;
     }
 
-//    static bool is_equal(const char* k, const char* v, const rapidjson::Value& data){
-//        auto iter = data.FindMember(k);
-//        if(data.MemberEnd() == iter){
-//            return false;
-//        }
-//        return 0 == strcmp(v, iter->value.GetString());
-//    }
-
-//    static bool is_equal(const char* k, const std::string& v, const rapidjson::Value& data){
-//        return is_equal(k, v.c_str(), data);
-//    }
-
-//    static int get_value(const char* k, const int& d, const rapidjson::Value& data){
-//        auto iter = data.FindMember(k);
-//        if(data.MemberEnd() == iter){
-//            return d;
-//        }
-//        if(iter->value.IsInt()){
-//            return iter->value.GetInt();
-//        }
-//        return d;
-//    }
-
-//    static std::string get_value(const char* k, const std::string& d, const rapidjson::Value& data){
-//        auto iter = data.FindMember(k);
-//        if(data.MemberEnd() == iter){
-//            return d;
-//        }
-//        if(iter->value.IsArray() || iter->value.IsObject()){
-//            return d;
-//        }
-//        return iter->value.GetString();
-//    }
-
-
-
-
-//    static void push_back(const std::string& v, rapidjson::Value& data, rapidjson::Document::AllocatorType& allocator){
-//        rapidjson::Value value_tmp;
-//        value_tmp.SetString(v.c_str(), static_cast<rapidjson::SizeType>(v.size()), allocator);
-//        data.PushBack(value_tmp, allocator);
-//    }
+    static int get_value(const char* key, const int& default_data, const rapidjson::Value& node)
+    {
+        rapidjson::Value::ConstMemberIterator iter;
+        if(try_get_iter(key, node, iter))
+        {
+            if(iter->value.IsInt())
+            {
+                return  iter->value.GetInt();
+            }
+        }
 
-    static std::string ev_to_json(std::shared_ptr<ya_event> ev_ptr)
+        return default_data;
+    }
+
+    static std::string get_value(const char* key, const std::string& default_data, const rapidjson::Value& node)
     {
-        std::vector<std::shared_ptr<ya_event>> evs;
-        evs.push_back(ev_ptr);
-        return evs_to_json(evs);
+        rapidjson::Value::ConstMemberIterator iter;
+        if(try_get_iter(key, node, iter))
+        {
+            if(iter->value.IsString())
+            {
+                return iter->value.GetString();
+            }
+        }
+
+        return default_data;
     }
 
     static std::string doc_to_json(rapidjson::Document& doc)
@@ -274,6 +278,13 @@ public:
         return sb.GetString();
     }
 
+    static std::string ev_to_json(std::shared_ptr<ya_event> ev_ptr)
+    {
+        std::vector<std::shared_ptr<ya_event>> evs;
+        evs.push_back(ev_ptr);
+        return evs_to_json(evs);
+    }
+
     static std::string evs_to_json(std::vector<std::shared_ptr<ya_event>> evs)
     {
         rapidjson::Document doc(rapidjson::kObjectType);