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