From 689283efb275e3f1ba049aad8e361bd014a1af53 Mon Sep 17 00:00:00 2001
From: pans <pansen626@sina.com>
Date: 星期四, 24 一月 2019 18:33:31 +0800
Subject: [PATCH] fix bug

---
 QiaoJiaSystem/build/DataWebServer                     |    0 
 QiaoJiaSystem/DataManagerServer/http_configserver.cpp |   61 ++++++++++++-------
 syncDBTool/ErlangDbTool.h                             |    2 
 QiaoJiaSystem/LocalDBTool/SqliteToolkit.hpp           |   38 ++++++------
 QiaoJiaSystem/build/config.json                       |   29 +++++----
 syncDBTool/ErlangDbTool.cpp                           |   11 +++
 6 files changed, 84 insertions(+), 57 deletions(-)

diff --git a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp
index c2021bc..db1f481 100644
--- a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp
+++ b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp
@@ -1863,8 +1863,12 @@
         std::string EndTime = value["EndTime"].asString();
 
         std::string UploadFlag = value["IsSync"].asString();
+        UploadFlag = UploadFlag.empty() ? "0" : UploadFlag;
         std::string CmpThreshold = value["threshold"].asString();
+        CmpThreshold = CmpThreshold.empty() ? "60" : CmpThreshold;
         std::string Enabled = value["enabled"].asString();
+        Enabled = Enabled.empty() ? "1" : Enabled;
+
         bool ret = false;
         FieldValues fieldValues;
         fieldValues.insert(std::make_pair("uuid", Uuid));
@@ -1991,10 +1995,10 @@
             subJson.append("\"bwType\":\"" + item.second.bwType + "\",");
             //#todo modify
             subJson.append("\"start_time\":\"" + item.second.startTime + "\",");
-            subJson.append("\"end_time\":\"" + item.second.endTime + "\"");
+            subJson.append("\"end_time\":\"" + item.second.endTime + "\",");
 
-            subJson.append("\"IsSync\":\"" + item.second.uploadFlag + "\"");
-            subJson.append("\"threshold\":\"" + item.second.cmpThreshold + "\"");
+            subJson.append("\"IsSync\":\"" + item.second.uploadFlag + "\",");
+            subJson.append("\"threshold\":\"" + item.second.cmpThreshold + "\",");
             subJson.append("\"enabled\":\"" + item.second.enabled + "\"");
             subJson.append("},");
             json.append(subJson);
@@ -2037,9 +2041,9 @@
             subJson.append("\"tableType\":\"" + item.tableType + "\",");
             subJson.append("\"bwType\":\"" + item.bwType + "\",");
             subJson.append("\"start_time\":\"" + item.startTime + "\",");
-            subJson.append("\"end_time\":\"" + item.endTime + "\"");
-            subJson.append("\"IsSync\":\"" + item.uploadFlag + "\"");
-            subJson.append("\"threshold\":\"" + item.cmpThreshold + "\"");
+            subJson.append("\"end_time\":\"" + item.endTime + "\",");
+            subJson.append("\"IsSync\":\"" + item.uploadFlag + "\",");
+            subJson.append("\"threshold\":\"" + item.cmpThreshold + "\",");
             subJson.append("\"enabled\":\"" + item.enabled + "\"");
             subJson.append("},");
             json.append(subJson);
@@ -2079,6 +2083,7 @@
         std::string idcard = value["idcard"].asString();
         std::string strUUID = value["uuid"].asString();
         std::string UploadFlag = value["IsSync"].asString();
+//        #todo
 
         cv::Mat image;
         if (img_url.size() > 0) {
@@ -2161,16 +2166,16 @@
 //        std::string uuid = "";
         bool ret_addPerson = false;
 
+        FieldValues fieldValues;
+        AddFaceData addFaceData;
         if (TableName.find("lt_") == 0) {
-            FieldValues fieldValues;
-            AddFaceData addFaceData;
-            addFaceData.feature.resize(faceResults[0].feature.size());
-            memcpy(addFaceData.feature.data(), faceResults[0].feature.data(), faceResults[0].feature.size());
 
             //#todo uuid have value is update
             if (strUUID.size() <= 0) {
-                // get Person id
+                addFaceData.feature.resize(faceResults[0].feature.size());
+                memcpy(addFaceData.feature.data(), faceResults[0].feature.data(), faceResults[0].feature.size());
 
+                // get Person id
                 strUUID = AppUtil::getPersonId(m_batch, m_SerialNumber);
                 addFaceData.uuid = strUUID;
                 addFaceData.faceUrl = img_url;
@@ -2186,14 +2191,22 @@
 
                 fieldValues.insert(std::make_pair("uuid", strUUID));
                 fieldValues.insert(std::make_pair("idCard", idcard));
-                m_SqliteFaceEncap.updateFace(TableName, addFaceData, fieldValues);
+                ret_addPerson = m_SqliteFaceEncap.updateFace(TableName, addFaceData, fieldValues);
             }
 
         } else {
-            //#todo update data
-            // get Person id
-            strUUID = strUUID.size() > 0 ? strUUID : AppUtil::getPersonId(m_batch, m_SerialNumber);
-            ret_addPerson = erlangDbTool->addPerson(strUUID, TableName, feature_base64, img_url, idcard);
+
+            if (strUUID.size() <= 0) {
+                strUUID = strUUID.size() > 0 ? strUUID : AppUtil::getPersonId(m_batch, m_SerialNumber);
+                ret_addPerson = erlangDbTool->addPerson(strUUID, TableName, feature_base64, img_url, idcard);
+            } else {
+                addFaceData.uuid = strUUID;
+                addFaceData.faceUrl = img_url;
+                fieldValues.insert(std::make_pair("uuid", strUUID));
+                fieldValues.insert(std::make_pair("idCard", idcard));
+//                #todo update
+                ret_addPerson = erlangDbTool->updatePerson(TableName, addFaceData, fieldValues);
+            }
         }
 
         if (ret_addPerson && strUUID.size() > 0) {
@@ -2206,14 +2219,16 @@
             if (UploadFlag == "1") {
 //                #todo db queue upload to server
 
-                std::string str_serIp = GET_STR_CONFIG("mainServerIp");
-                std::string str_serPort = GET_STR_CONFIG("mainServerPort");
-
+                std::string str_serUrl;
+                if (1) {
+                    str_serUrl = GET_STR_CONFIG("uploadPersonUrl");
 //                string sendUrl = "192.168.1.203:3697/addPerson/uploadToTemporary";
-                string sendUrl = str_serIp;
-                sendUrl.append(":").append(str_serPort).append("/addPerson/uploadToTemporary");
-
-                std::thread sendPerson(uploadPersonToServer, this, sendUrl, strUUID, img_url, idcard, feature_base64);
+                } else {
+                    str_serUrl = GET_STR_CONFIG("uploadPersonUrl");
+//                string sendUrl = "192.168.1.203:3697/addPerson/uploadToTemporary";
+                }
+                std::thread sendPerson(uploadPersonToServer, this, str_serUrl, strUUID, img_url, idcard,
+                                       feature_base64);
                 sendPerson.detach();
             }
 
diff --git a/QiaoJiaSystem/LocalDBTool/SqliteToolkit.hpp b/QiaoJiaSystem/LocalDBTool/SqliteToolkit.hpp
index 14a18d1..2461bfd 100644
--- a/QiaoJiaSystem/LocalDBTool/SqliteToolkit.hpp
+++ b/QiaoJiaSystem/LocalDBTool/SqliteToolkit.hpp
@@ -86,13 +86,13 @@
     //
     std::string getFacesFromTableSql(std::string tableName) {
         std::string sql =
-            "select uuid,feature,create_time,faceUrl,del_flag from " + tableName +
-            "_fea where feature is not null ";
+            "select uuid,feature,create_time,faceUrl,del_flag from '" + tableName +
+            "_fea' where feature is not null ";
         return sql;
     }
 
     std::string getTableListSqlWithType(std::string type) {
-        std::string sql = "select tableName,del_flag from " + g_tableName + " where del_flag = 0";
+        std::string sql = "select tableName,del_flag from '" + g_tableName + "' where del_flag = 0";
         if (type.size() > 0) {
             sql.append(" and tableType = '" + type + "'");
         }
@@ -100,7 +100,7 @@
     }
 
     std::string getTableInfosSql(std::string tableName) {
-        std::string sql = "select * from " + tableName;// + " where del_flag = 0";
+        std::string sql = "select * from '" + tableName+"';";// + " where del_flag = 0";
         return sql;
     }
 
@@ -108,8 +108,8 @@
     std::string getTableInfosSql() {
         //uuid,tableName,tableDesc,tableType,bwType,startTime,endTime
         std::string sql =
-            "select uuid,tableName,tableType,bwType,startTime,endTime,uploadFlag,cmpThreshold,enabled from " +
-            g_tableName + " where del_flag = 0";
+            "select uuid,tableName,tableType,bwType,startTime,endTime,uploadFlag,cmpThreshold,enabled from '" +
+            g_tableName + "' where del_flag = 0";
         return sql;
     }
 
@@ -129,7 +129,7 @@
         str_fea.assign(feature.begin(), feature.end());
 
         std::stringstream sql;//= ;
-        sql << "INSERT INTO " << tableName << " (";
+        sql << "INSERT INTO '" << tableName << "' (";
         //std::string sqlTemp = sql;
         std::string sql2 = ") VALUES(\"";
         if (id >= 0) {
@@ -154,7 +154,7 @@
             //#todo errInfo
             return "tableName or fieldValues is NULL";
         }
-        std::string sql = "DELETE from " + tableName + " where 1 = 1 ";
+        std::string sql = "DELETE from '" + tableName + "' where 1 = 1 ";
         for (auto item : fieldValues) {
             if (item.first.size() != 0) {
                 sql.append("and " + item.first + " = '" + item.second + "' ");
@@ -174,7 +174,7 @@
             //#todo errInfo
             return "tableName or fieldValues is NULL";
         }
-        std::string sql = "INSERT INTO " + tableName + " (";
+        std::string sql = "INSERT INTO '" + tableName + "' (";
         std::string sqlTemp = sql;
         std::string sql2 = ") VALUES('";
         for (auto item : fieldValues) {
@@ -187,7 +187,7 @@
         sql = sql.substr(0, sql.length() - 1);
         //sql2 delete 2 ,'  add )
         sql2 = sql2.substr(0, sql2.length() - 2);
-        sql2.append(" )");
+        sql2.append(" );");
         sql.append(sql2);
         return sql;
     }
@@ -230,9 +230,9 @@
             return "tableName is NULL";
         }
         // 浜哄憳淇℃伅琛�
-        std::string sql = "CREATE TABLE " + g_dbName + ".";
+        std::string sql = "CREATE TABLE " + g_dbName + ".'";
         sql.append(tableName);
-        sql.append(" (  uuid        varchar(255) PRIMARY KEY,");
+        sql.append("' (  uuid        varchar(255) PRIMARY KEY,");
         sql.append("personName  varchar(255) DEFAULT NULL,");
         sql.append("age         varchar(255) DEFAULT NULL,");
         sql.append("sex         varchar(255) DEFAULT NULL,");
@@ -244,8 +244,8 @@
         sql.append("del_flag    INTEGER      DEFAULT 0");
         sql.append(");");
         // 浜鸿劯鐗瑰緛琛�
-        sql.append("CREATE TABLE " + g_dbName + ".");
-        sql.append(tableName + "_fea");
+        sql.append("CREATE TABLE " + g_dbName + ".'");
+        sql.append(tableName + "_fea'");
         sql.append(" (  uuid        varchar(255) PRIMARY KEY,");
         sql.append("    feature     BLOB NOT NULL,");
         sql.append("    faceUrl     BLOB NOT NULL,");
@@ -273,13 +273,13 @@
             SQLERR("fieldValues size is error");
             return "";
         }
-        std::string sql = "update ";
-        sql.append(tableName + " set ");
+        std::string sql = "update '";
+        sql.append(tableName + "' set ");
         for (auto &item :fieldValues) {
             sql.append(item.first + " =  '" + item.second + "',");
         }
         sql.append(" update_time ='" + AppUtil::getTimeSecString() + "'");
-        sql.append(" where uuid ='" + uuid + "'");
+        sql.append(" where uuid ='" + uuid + "';");
         return sql;
     }
 
@@ -290,8 +290,8 @@
             //#todo errInfo
             return "tableName is NULL";
         }
-        std::string sql = "DROP TABLE " + g_dbName + "." + tableName + ";";
-        sql.append("DROP TABLE " + g_dbName + "." + tableName + "_fea;");
+        std::string sql = "DROP TABLE " + g_dbName + ".'" + tableName + "';";
+        sql.append("DROP TABLE " + g_dbName + ".'" + tableName + "_fea';");
         return sql;
     }
 
diff --git a/QiaoJiaSystem/build/DataWebServer b/QiaoJiaSystem/build/DataWebServer
index 772dd3e..81f337f 100755
--- a/QiaoJiaSystem/build/DataWebServer
+++ b/QiaoJiaSystem/build/DataWebServer
Binary files differ
diff --git a/QiaoJiaSystem/build/config.json b/QiaoJiaSystem/build/config.json
index 887f935..3d6f6aa 100755
--- a/QiaoJiaSystem/build/config.json
+++ b/QiaoJiaSystem/build/config.json
@@ -1,26 +1,27 @@
 {
-  "mainServerIp": "192.168.1.182",
-  "mainServerPort": "3697",
-  "logPath": "/home/basic/work/log/",
+  "uploadPersonUrl": "192.168.1.203:3697/addPerson/uploadToTemporary",
   "DEV_ID": "DSVAD010120181119",
   "ES_IP": "192.168.1.122",
   "ES_PORT": 9200,
+  "FaceDetectionSampleSize": 720,
   "FaceSeachSleepTime": 60,
   "TotalLoadSize": "500",
   "buildAddr": "/home/basic/Apps/QiaoJiaSystem/build/",
+  "clusterID": "d26c8fdd-bcdc-4819-990f-d7b44068cd88",
   "cutPath": "/home/basic/work/qiaojia/cut",
-  "erlCookie": "",
-  "erlFatherNode": "",
-  "erlNode": "",
-  "erlPath": "",
+  "encode_thread_num": 3,
+  "erlCookie": "123",
+  "erlFatherNode": " ",
+  "erlNode": "d813ec12-d065-4792-8144-2edfbf0e6228@192.168.1.116",
+  "erlPath": "/opt/erlang/d813ec12-d065-4792-8144-2edfbf0e6228",
   "loadPath": "/home/basic/work/qiaojia/load",
   "localPasswd": "123456",
-  "netIfName": "enp3s0",
-  "srsAddr": "rtmp://192.168.1.122:1934/live/",
-  "webPort": 11111,
-  "redis_ip": "127.0.0.1",
+  "logPath": "/home/pans/work/log/",
+  "mainServerIp": "192.168.1.182",
+  "mainServerPort": "3697",
+  "netIfName": "wlo1",
   "redis_buf_len": 750,
-  "encode_thread_num": 3,
-  "FaceDetectionSampleSize": 720,
-  "clusterID" : "sssss"
+  "redis_ip": "127.0.0.1",
+  "srsAddr": "rtmp://192.168.1.122:1934/live/",
+  "webPort": 11111
 }
diff --git a/syncDBTool/ErlangDbTool.cpp b/syncDBTool/ErlangDbTool.cpp
index 75280bc..e3c5a88 100755
--- a/syncDBTool/ErlangDbTool.cpp
+++ b/syncDBTool/ErlangDbTool.cpp
@@ -751,7 +751,7 @@
     ErlMessage emsg;             /* Incoming message */
     int ret = -1;
     ETERM *arrlist[7];
-    arrlist[0] = erl_mk_atom(strSql.c_str());
+    arrlist[0] = erl_mk_string(strSql.c_str());
     ETERM *list = erl_mk_list(arrlist, 1);
 
     ret = erl_rpc_to(m_fd, "syncDB", "exeSomeSql", list);
@@ -1184,6 +1184,15 @@
     return false;
 }
 
+bool ErlangTool::ErlangDbTool::updatePerson(std::string t_tableName, AddFaceData &faceData, FieldValues &fieldValues) {
+    //    #todo 璁板緱娴嬭瘯涓枃  鍙湁浜哄憳淇℃伅琛ㄦ洿鏂帮紝鐗瑰緛鏇存柊鏆傛椂娌″仛
+//    bool ret = updateFaceData(t_tableName + "_fea", faceData);
+//    updateFaceInfo(t_tableName, fieldValues);
+    std::string strSql = getUpdateFaceTableSql(t_tableName, fieldValues);
+//    FieldValues fieldValues2;
+
+    return getExecSqlResult(strSql);
+}
 
 ErlangTool::vec_AddDataCache
 ErlangTool::ErlangDbTool::addPersons(std::string TableUuid, std::vector<SyncDB::AddPersonInfo> &tmpPer) {
diff --git a/syncDBTool/ErlangDbTool.h b/syncDBTool/ErlangDbTool.h
index e7a9803..347fabd 100755
--- a/syncDBTool/ErlangDbTool.h
+++ b/syncDBTool/ErlangDbTool.h
@@ -266,6 +266,8 @@
                        std::string IdCard = " ", std::string PersonName = " ", std::string Age = " ",
                        std::string Sex = " ", std::string PhoneNum = " ");
 
+        bool updatePerson(std::string t_tableName, AddFaceData &faceData, FieldValues &fieldValues);
+
         vec_AddDataCache addPersons(std::string TableUuid, std::vector<SyncDB::AddPersonInfo> &tmpPer);
 
         /***

--
Gitblit v1.8.0