From 61a8166ed71b881863de8c62e45ae3e7803a455e Mon Sep 17 00:00:00 2001 From: pansen <pansen626@sina.com> Date: 星期一, 28 一月 2019 20:21:20 +0800 Subject: [PATCH] 添加布控等级。对比暂未添加本字段。 --- QiaoJiaSystem/build/FaceSearchServer | 0 QiaoJiaSystem/FaceSearchServer/FaceFeatureSearchServerI.cpp | 11 ++ QiaoJiaSystem/build/syncDBClient | 0 syncDBTool/ErlangDbTool.cpp | 32 +++++++- QiaoJiaSystem/StructureApp/AppPipeController.h | 1 QiaoJiaSystem/build/DataWebServer | 0 QiaoJiaSystem/build/configjson说明.md | 62 +++++++++------ QiaoJiaSystem/DataManagerServer/http_configserver.cpp | 52 ++++++++---- QiaoJiaSystem/build/VideoAnalysFromHC | 0 syncDBTool/ErlangDbTool.h | 3 QiaoJiaSystem/LocalDBTool/SqliteFaceEncap.cpp | 2 QiaoJiaSystem/DataManagerServer/http_configserver.h | 3 QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.cpp | 3 syncDBTool/SyncDB.hpp | 6 + QiaoJiaSystem/LocalDBTool/SqliteToolkit.hpp | 7 + QiaoJiaSystem/FaceSearchServer/AlarmServer.hpp | 1 QiaoJiaSystem/build/StructureApp | 0 17 files changed, 130 insertions(+), 53 deletions(-) diff --git a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp index 5fc72f5..ad5ae68 100644 --- a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp +++ b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp @@ -2123,11 +2123,13 @@ std::string strUUID = value["uuid"].asString(); std::string Enabled = value["enabled"].asString(); + Enabled = Enabled.empty() ? "1" : Enabled; std::string TableType = value["TableType"].asString(); std::string SyncType = value["SyncType"].asString(); std::string TableId = value["TableId"].asString(); std::string BwType = value["BwType"].asString(); std::string createBy = value["createBy"].asString(); + std::string monLevel = value["monLevel"].asString(); std::string UploadFlag = "-1"; if (SyncType == "1") { @@ -2209,7 +2211,8 @@ // std::string uuid = ""; bool ret_addPerson = false; - addPersonMToDB(TableName, img_url, SyncType, feature_base64, faceResults, idcard, strUUID, ret_addPerson); + addPersonMToDB(TableName, img_url, SyncType, feature_base64, faceResults, idcard, strUUID, monLevel, Enabled, + ret_addPerson); if (ret_addPerson && strUUID.size() > 0) { std::string str_result = std::string("{\"uuid\":").append( @@ -2266,6 +2269,7 @@ std::string TableId = value["TableId"].asString(); std::string BwType = value["BwType"].asString(); std::string CreateBy = value["createBy"].asString(); + std::string monLevel = value["monLevel"].asString(); // std::string BwType = value["BwType"].asString(); std::string UploadFlag = "-1"; if (SyncType == "1") { @@ -2363,12 +2367,14 @@ fieldValues.insert(make_pair("uuid", strUUID)); fieldValues.insert(make_pair("idCard", idcard)); fieldValues.insert(make_pair("enabled", Enabled)); + fieldValues.insert(make_pair("monitorLevel", monLevel)); ret_addPerson = m_SqliteFaceEncap.updateFace(TableName, addFaceData, fieldValues); } } else { fieldValues.insert(make_pair("uuid", strUUID)); fieldValues.insert(make_pair("idCard", idcard)); fieldValues.insert(make_pair("enabled", Enabled)); + fieldValues.insert(make_pair("monitorLevel", monLevel)); ret_addPerson = erlangDbTool->updatePerson(strUUID, addFaceData, fieldValues); } @@ -2424,41 +2430,48 @@ void devHttpServer_c::addPersonMToDB(const string &TableName, const string &img_url, const string &SyncType, const string &feature_base64, const Features &faceResults, string &idcard, - string &strUUID, bool &ret_addPerson) { + string &strUUID, string &monLevel, string &Enabled, bool &ret_addPerson) { + FieldValues fieldValues; + AddFaceData addFaceData; + + addFaceData.uuid = strUUID; + addFaceData.faceUrl = img_url; + + fieldValues.insert(make_pair("monitorLevel", monLevel)); + fieldValues.insert(make_pair("enabled", Enabled)); + fieldValues.insert(make_pair("idCard", idcard)); + if (SyncType == "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 - strUUID = AppUtil::getPersonId(m_batch, m_SerialNumber); - addFaceData.uuid = strUUID; - addFaceData.faceUrl = img_url; - fieldValues.insert(make_pair("uuid", strUUID)); - fieldValues.insert(make_pair("idCard", idcard)); auto t_id = m_SqliteFaceEncap.addFace(TableName, addFaceData, fieldValues); ret_addPerson = t_id.size() > 0 ? true : false; } else { //#todo update table - addFaceData.uuid = strUUID; - addFaceData.faceUrl = img_url; - fieldValues.insert(make_pair("uuid", strUUID)); - fieldValues.insert(make_pair("idCard", idcard)); 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 = ret_addPerson = erlangDbTool->addPerson(strUUID, TableName, feature_base64, img_url, - idcard); + if (strUUID.size() <= 0) { +// insert + strUUID = AppUtil::getPersonId(m_batch, m_SerialNumber); +// ret_addPerson = ret_addPerson = erlangDbTool->addPerson(strUUID, TableName, feature_base64, img_url, +// idcard); + fieldValues.insert(make_pair("uuid", strUUID)); + addFaceData.feature_base64 = feature_base64; + ret_addPerson = erlangDbTool->addPerson(TableName, addFaceData, fieldValues); + } else { +// update + fieldValues.insert(make_pair("uuid", strUUID)); + addFaceData.feature_base64 = feature_base64; + ret_addPerson = erlangDbTool->updatePerson(strUUID, addFaceData, fieldValues); + } } } @@ -2642,6 +2655,7 @@ subJson.append("\"tableName\":\"" + TableName + "\","); subJson.append("\"idcard\":\"" + item.second.idcard + "\","); subJson.append("\"enable\":\"" + item.second.enable + "\","); + subJson.append("\"monLevel\":\"" + item.second.monLevel + "\","); subJson.append("\"imgUrl\":\"" + item.second.img + "\""); // subJson.append("\"feature\":\"" + item.second.feature + "\","); //#todo modifysvn upda svn comm diff --git a/QiaoJiaSystem/DataManagerServer/http_configserver.h b/QiaoJiaSystem/DataManagerServer/http_configserver.h index 1261485..3fe1e83 100644 --- a/QiaoJiaSystem/DataManagerServer/http_configserver.h +++ b/QiaoJiaSystem/DataManagerServer/http_configserver.h @@ -203,7 +203,8 @@ void addPersonMToDB(const string &TableName, const string &img_url, const string &SyncType, const string &feature_base64, - const Features &faceResults, string &idcard, string &strUUID, bool &ret_addPerson); + const Features &faceResults, string &idcard, string &strUUID, string &monLevel, string &Enabled, + bool &ret_addPerson); void getMat(string &img_url, const string &img_base64, cv::Mat &image) const; }; diff --git a/QiaoJiaSystem/FaceSearchServer/AlarmServer.hpp b/QiaoJiaSystem/FaceSearchServer/AlarmServer.hpp index 2de5947..05c80aa 100644 --- a/QiaoJiaSystem/FaceSearchServer/AlarmServer.hpp +++ b/QiaoJiaSystem/FaceSearchServer/AlarmServer.hpp @@ -28,6 +28,7 @@ std::string faceUrl; std::string idcard; std::string enabled; + std::string monLevel; }; static std::vector<std::string> AlarmServerPropertyAnalyseByComma(std::string str_list) { diff --git a/QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.cpp b/QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.cpp index f592c31..9d22dcf 100644 --- a/QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.cpp +++ b/QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.cpp @@ -156,6 +156,8 @@ test.features.push_back(t_fea); test.faceUrl = it.img; test.idcard = it.idcard; + test.enabled = it.enable; + test.monLevel = it.monLevel; } // //#todo // for (auto it = mymap->begin(); it != mymap->end(); it++) { @@ -200,6 +202,7 @@ test.faceUrl = t_sen.faceurl; test.idcard = t_faceInfoCache[t_sen.uuid].idCard; test.enabled = t_sen.enable; + test.monLevel = t_faceInfoCache[t_sen.uuid].monLevel; } } // 鍛婅瘔鍒锋柊鍑芥暟锛屽綋鍓嶅簳搴撶殑鏁版嵁鍑嗗瀹屾垚 diff --git a/QiaoJiaSystem/FaceSearchServer/FaceFeatureSearchServerI.cpp b/QiaoJiaSystem/FaceSearchServer/FaceFeatureSearchServerI.cpp index ddcd788..b1f942d 100644 --- a/QiaoJiaSystem/FaceSearchServer/FaceFeatureSearchServerI.cpp +++ b/QiaoJiaSystem/FaceSearchServer/FaceFeatureSearchServerI.cpp @@ -68,7 +68,7 @@ ::FaceSearch::FaceResults FaceFeatureSearchServerI::faceSearchTopN(const ::FaceSearch::Data &feature, const ::std::string &info_json, ::Ice::Int topN, ::Ice::Float score, const ::Ice::Current &) { - ClockTimer clockTimer("faceSearchTopN " + to_string(score) + " :"); + ClockTimer clockTimer("faceSearchTopN "); INFO("faceSearchTopN start"); // #鑾峰彇绾跨▼id鍘绘壘璧勬簮鍙ユ焺 thread::id key = std::this_thread::get_id(); @@ -112,7 +112,8 @@ // } // score // 瀵规瘮鍑芥暟 - t_FaceFC->compare(key, &featureData, topN,); + float t_score = atoi(t_tableInfo.cmpThreshold.c_str()) / 100; + t_FaceFC->compare(key, &featureData, topN, t_score); DBG("m_faceFCMAP compare end " << it.first); // 鑾峰彇瀵规瘮缁撴灉 auto t_results = t_FaceFC->getTopResult(key); @@ -206,6 +207,8 @@ value["likePer"] = item.confidence > 0 ? item.confidence : 0.0; value["personPicUrl"] = item.imgUrl.size() > 0 ? item.imgUrl : "";//diku tupian + +// string strC = item.idcard+ item. value["idcard"] = item.idcard.size() > 0 ? item.idcard : "";//diku tupian //濡傛灉 alarmRet 涓嶄负绌烘妸 浠栫殑鍊� 鏀惧叆 personIsHub,鍚﹀垯涓�4 // #TODO 濡傛灉鍚敤鍒欐甯稿垽鏂�,鏈竷鎺у垯璁や负鏄湭鐭ワ紵 @@ -251,7 +254,7 @@ std::thread thd(dataUpdate, faceFea); thd.detach(); } - auto typeInfoCache = faceFea->m_erlangDbTool.findAllTypeInfo(); +// auto typeInfoCache = faceFea->m_erlangDbTool.findAllTypeInfo(); faceFea->m_tableType.clear(); string str_config = faceFea->m_erlangDbTool.getConfigJsonString(); @@ -270,6 +273,8 @@ // tabInfo.bwType = item.second.bwType = typeInfoCache.find(item.first)->second.bwType; tabInfo.bwType = item.second.bwType;//= typeInfoCache.find(item.first)->second.bwType; tabInfo.createBy = item.second.create_by; + tabInfo.enabled = item.second.enabled; + tabInfo.cmpThreshold = item.second.cmpThreshold; if ((tabInfo.tableName.find("lt_") == 0) && (tabInfo.createBy != appConfig.getStringProperty("erlNode"))) { continue; diff --git a/QiaoJiaSystem/LocalDBTool/SqliteFaceEncap.cpp b/QiaoJiaSystem/LocalDBTool/SqliteFaceEncap.cpp index 589c81e..cc63e6f 100644 --- a/QiaoJiaSystem/LocalDBTool/SqliteFaceEncap.cpp +++ b/QiaoJiaSystem/LocalDBTool/SqliteFaceEncap.cpp @@ -409,6 +409,8 @@ tableInfo.sex = query.value(3).toString().toStdString(); tableInfo.idCard = query.value(4).toString().toStdString(); tableInfo.phoneNum = query.value(5).toString().toStdString(); + tableInfo.enable = query.value(10).toString().toStdString(); + tableInfo.monLevel = query.value(11).toString().toStdString(); faceInfosCache.insert(std::make_pair(tableInfo.uuid, tableInfo)); } } diff --git a/QiaoJiaSystem/LocalDBTool/SqliteToolkit.hpp b/QiaoJiaSystem/LocalDBTool/SqliteToolkit.hpp index 6e2ed40..38f2ea8 100644 --- a/QiaoJiaSystem/LocalDBTool/SqliteToolkit.hpp +++ b/QiaoJiaSystem/LocalDBTool/SqliteToolkit.hpp @@ -28,6 +28,7 @@ std::string uuid; FaceFeature feature; std::string faceUrl; + std::string feature_base64; }; struct FaceInfo { @@ -37,6 +38,8 @@ std::string sex; std::string idCard; std::string phoneNum; + std::string enable; + std::string monLevel; }; typedef std::vector<FaceInfo> FaceInfos; typedef std::map<std::string, FaceInfo> FaceInfosCache; @@ -86,6 +89,7 @@ // std::string getFacesFromTableSql(std::string tableName) { +// #todo get monLevel 鑱斿悎鏌ヨ std::string sql = "select uuid,feature,create_time,faceUrl,del_flag,enabled from '" + tableName + "_fea' where feature is not null "; @@ -179,7 +183,7 @@ std::string sqlTemp = sql; std::string sql2 = ") VALUES('"; for (auto item : fieldValues) { - if (item.first.size() != 0) { + if (item.first.size() != 0 && item.second.size() != 0) { sql.append(item.first + ","); sql2.append(item.second + "','"); } @@ -243,6 +247,7 @@ sql.append("update_time DATETIME DEFAULT NULL,"); sql.append("create_by varchar(255) DEFAULT NULL,"); sql.append("del_flag INTEGER DEFAULT 0,"); + sql.append("monitorLevel varchar(255) DEFAULT 0,"); sql.append(" enabled varchar(255) DEFAULT 1"); sql.append(");"); // 浜鸿劯鐗瑰緛琛� diff --git a/QiaoJiaSystem/StructureApp/AppPipeController.h b/QiaoJiaSystem/StructureApp/AppPipeController.h index 2827a56..f87fc2d 100644 --- a/QiaoJiaSystem/StructureApp/AppPipeController.h +++ b/QiaoJiaSystem/StructureApp/AppPipeController.h @@ -84,6 +84,7 @@ void initPerHub(); private: + ffmpeg::VideoCaptureElement videoCaptureElement; YoloRpcElement yoloRpcElement; FaceRpcElement faceRpcElement; FaceExtractElement faceExtractElement; diff --git a/QiaoJiaSystem/build/DataWebServer b/QiaoJiaSystem/build/DataWebServer index c043dd2..ffaaa5b 100755 --- a/QiaoJiaSystem/build/DataWebServer +++ b/QiaoJiaSystem/build/DataWebServer Binary files differ diff --git a/QiaoJiaSystem/build/FaceSearchServer b/QiaoJiaSystem/build/FaceSearchServer index c0ed347..fdb46a6 100755 --- a/QiaoJiaSystem/build/FaceSearchServer +++ b/QiaoJiaSystem/build/FaceSearchServer Binary files differ diff --git a/QiaoJiaSystem/build/StructureApp b/QiaoJiaSystem/build/StructureApp index 5b2d6f4..2b79711 100755 --- a/QiaoJiaSystem/build/StructureApp +++ b/QiaoJiaSystem/build/StructureApp Binary files differ diff --git a/QiaoJiaSystem/build/VideoAnalysFromHC b/QiaoJiaSystem/build/VideoAnalysFromHC index 51b9386..b73c902 100755 --- a/QiaoJiaSystem/build/VideoAnalysFromHC +++ b/QiaoJiaSystem/build/VideoAnalysFromHC Binary files differ diff --git "a/QiaoJiaSystem/build/configjson\350\257\264\346\230\216.md" "b/QiaoJiaSystem/build/configjson\350\257\264\346\230\216.md" index a59efa6..0ddac1d 100644 --- "a/QiaoJiaSystem/build/configjson\350\257\264\346\230\216.md" +++ "b/QiaoJiaSystem/build/configjson\350\257\264\346\230\216.md" @@ -1,31 +1,34 @@ ##json鏂囦欢妯℃澘鍙婂弬鏁板惈涔� { - "DEV_ID" : "DSVAD010120181119", - "clusterID" : "", - "webPort" : 11111, - "netIfName" : "enp3s0", - "localPasswd" : "123456", - "ES_IP" : "192.168.1.122", - "ES_PORT" : 9200, - "mainServerIp" : "192.168.1.182", - "mainServerPort" : "3697", - "mainServerrUrl" : "/addPerson/uploadToTemporary", - "TotalLoadSize" : "500", - "buildAddr" : "/home/bsk/Apps/QiaoJiaSystem/build/", - "cutPath" : "/home/bsk/work/qiaojia/cut", - "loadPath" : "/home/bsk/work/qiaojia/load", - "logPath" : "/home/bsk/work/log/", - "FaceDetectionSampleSize" : 720, - "FaceSeachSleepTime" : 60, - "encode_thread_num" : 3, - "erlCookie" : "123", - "erlFatherNode" : " ", - "erlNode" : "f6d7d984-858e-4235-a657-644927b3a628@192.168.1.148", - "erlPath" : "/opt/erlang/f6d7d984-858e-4235-a657-644927b3a628", - "redis_buf_len" : 750, - "redis_ip" : "127.0.0.1", - "srsAddr" : "rtmp://192.168.1.122:1934/live/" + "DEV_ID" : "DSVAD010120181119", + "clusterID" : "", + "webPort" : 11111, + "netIfName" : "enp3s0", + "localPasswd" : "123456", + "ES_IP" : "192.168.1.122", + "ES_PORT" : 9200, + "mainServerIp" : "192.168.1.182", + "mainServerPort" : "3697", + "mainServerrUrl" : "/addPerson/uploadToTemporary", + "addFromAnalyUrl":"192.168.1.182:3699/data/api-c/taskUser/addFromAnaly", + "updateFromAnalyUrl":"192.168.1.182::3699/data/api-c/taskUser/updateFromC", + "addTaskAnalyUrl":"192.168.1.182:3699/addTaskByNode", + "TotalLoadSize" : "500", + "buildAddr" : "/home/bsk/Apps/QiaoJiaSystem/build/", + "cutPath" : "/home/bsk/work/qiaojia/cut", + "loadPath" : "/home/bsk/work/qiaojia/load", + "logPath" : "/home/bsk/work/log/", + "FaceDetectionSampleSize" : 720, + "FaceSeachSleepTime" : 60, + "encode_thread_num" : 3, + "erlCookie" : "123", + "erlFatherNode" : " ", + "erlNode" : "f6d7d984-858e-4235-a657-644927b3a628@192.168.1.148", + "erlPath" : "/opt/erlang/f6d7d984-858e-4235-a657-644927b3a628", + "redis_buf_len" : 750, + "redis_ip" : "127.0.0.1", + "srsAddr" : "rtmp://192.168.1.122:1934/live/" } ---- @@ -62,6 +65,15 @@ * mainServerrUrl >浜哄憳涓婁紶鐨勬帴鍙rl + +* addFromAnalyUrl + >甯冩帶浜哄憳涓婁紶鐨勬帴鍙rl + +* updateFromAnalyUrl + >甯冩帶浜哄憳鏇存柊涓婁紶鐨勬帴鍙rl + +* addTaskAnalyUrl + >榛戝悕鍗曞簳搴撳垱寤哄拰鏇存柊鐨勪笂浼犳帴鍙rl --- --- diff --git a/QiaoJiaSystem/build/syncDBClient b/QiaoJiaSystem/build/syncDBClient index bc319de..0d6caf2 100755 --- a/QiaoJiaSystem/build/syncDBClient +++ b/QiaoJiaSystem/build/syncDBClient Binary files differ diff --git a/syncDBTool/ErlangDbTool.cpp b/syncDBTool/ErlangDbTool.cpp index 5e79726..b0cc410 100755 --- a/syncDBTool/ErlangDbTool.cpp +++ b/syncDBTool/ErlangDbTool.cpp @@ -1185,10 +1185,32 @@ return false; } +bool ErlangTool::ErlangDbTool::addPerson(std::string t_tableName, AddFaceData &faceData, FieldValues &fieldValues) { +// #todo 璁板緱娴嬭瘯涓枃 + std::string strSql = getInsertSql(t_tableName, fieldValues); + fieldValues.clear(); + fieldValues.insert(make_pair("uuid", faceData.uuid)); + fieldValues.insert(make_pair("faceUrl", faceData.faceUrl)); + fieldValues.insert(make_pair("feature", faceData.feature_base64)); + + std::string strSqlFea = getInsertSql(t_tableName + "_fea", fieldValues); + strSql.append(strSqlFea); + // #todo 璁板緱娴嬭瘯涓枃 鍙湁浜哄憳淇℃伅琛ㄦ洿鏂帮紝鐗瑰緛鏇存柊鏆傛椂娌″仛 + + return getExecSqlResult(strSql); +} + bool ErlangTool::ErlangDbTool::updatePerson(std::string t_tableName, AddFaceData &faceData, FieldValues &fieldValues) { // #todo 璁板緱娴嬭瘯涓枃 std::string strSql = getUpdateFaceTableSql(t_tableName, fieldValues); - // #todo 璁板緱娴嬭瘯涓枃 鍙湁浜哄憳淇℃伅琛ㄦ洿鏂帮紝鐗瑰緛鏇存柊鏆傛椂娌″仛 + fieldValues.clear(); + fieldValues.insert(make_pair("uuid", faceData.uuid)); + fieldValues.insert(make_pair("faceUrl", faceData.faceUrl)); + + fieldValues.insert(make_pair("feature", faceData.feature_base64)); + + std::string strSqlFea = getInsertSql(t_tableName + "_fea", fieldValues); + strSql.append(strSqlFea); return getExecSqlResult(strSql); } @@ -1592,7 +1614,7 @@ } if (str_tableUuid.size() > 0) { QString sql = QString::fromStdString( - "Select a.uuid as id ,a.faceUrl as img,a.feature,b.idCard as idcard,a.enable from '" + str_tableUuid + + "Select a.uuid as id ,a.faceUrl as img,a.feature,b.idCard as idcard,a.enable,a.monitorLevel from '" + str_tableUuid + "_fea' as a ,'" + str_tableUuid + "' as b where a.uuid = b.uuid and ( a.del_flag=0 AND b.del_flag=0);"); QSqlQuery query(g_syncDbFile); query.prepare(sql); @@ -1606,6 +1628,7 @@ t_feature_info.feature = query.value(2).toString().toStdString(); t_feature_info.idcard = query.value(3).toString().toStdString(); t_feature_info.enable = query.value(4).toString().toStdString(); + t_feature_info.monLevel = query.value(5).toString().toStdString(); dataCache.insert(std::make_pair(t_feature_info.id, t_feature_info)); } @@ -1631,8 +1654,8 @@ } if (str_tableUuid.size() > 0) { QString sql = QString::fromStdString( - "Select b.uuid as id,b.faceUrl as img,a.idCard as idcard,a.enable from '" + str_tableUuid + "' as a, '" + - str_tableUuid + "_fea' As b where a.uuid = b.uuid and ( a.del_flag=0 AND b.del_flag=0);"); + "Select b.uuid as id,b.faceUrl as img,a.idCard as idcard,a.enable,a.monitorLevel from '" + str_tableUuid + + "' as a, '" + str_tableUuid + "_fea' As b where a.uuid = b.uuid and ( a.del_flag=0 AND b.del_flag=0);"); QSqlQuery query(g_syncDbFile); query.prepare(sql); if (!query.exec()) { @@ -1644,6 +1667,7 @@ t_feature_info.img = query.value(1).toString().toStdString(); t_feature_info.idcard = query.value(2).toString().toStdString(); t_feature_info.enable = query.value(3).toString().toStdString(); + t_feature_info.monLevel = query.value(4).toString().toStdString(); dataCache.insert(std::make_pair(t_feature_info.id, t_feature_info)); } diff --git a/syncDBTool/ErlangDbTool.h b/syncDBTool/ErlangDbTool.h index 347fabd..72cebcd 100755 --- a/syncDBTool/ErlangDbTool.h +++ b/syncDBTool/ErlangDbTool.h @@ -266,6 +266,9 @@ std::string IdCard = " ", std::string PersonName = " ", std::string Age = " ", std::string Sex = " ", std::string PhoneNum = " "); + bool + ErlangTool::ErlangDbTool::addPerson(std::string t_tableName, AddFaceData &faceData, FieldValues &fieldValues); + bool updatePerson(std::string t_tableName, AddFaceData &faceData, FieldValues &fieldValues); vec_AddDataCache addPersons(std::string TableUuid, std::vector<SyncDB::AddPersonInfo> &tmpPer); diff --git a/syncDBTool/SyncDB.hpp b/syncDBTool/SyncDB.hpp index 8018f7c..20edb66 100755 --- a/syncDBTool/SyncDB.hpp +++ b/syncDBTool/SyncDB.hpp @@ -22,6 +22,7 @@ img, idcard, enable, + monLevel, evEnd }; @@ -38,6 +39,7 @@ map_Fea_InfoString2Values["img"] = Feature_InfoStringValue::img; map_Fea_InfoString2Values["idcard"] = Feature_InfoStringValue::idcard; map_Fea_InfoString2Values["enable"] = Feature_InfoStringValue::enable; + map_Fea_InfoString2Values["monitorLevel"] = Feature_InfoStringValue::monLevel; map_Fea_InfoString2Values["end"] = evEnd; } @@ -86,6 +88,9 @@ case Feature_InfoStringValue::enable: enable = value; break; + case Feature_InfoStringValue::monLevel: + monLevel = value; + break; default: ERR(key << " is an invalid string. s_mapStringValues now contains " << map_Fea_InfoString2Values.size() << " entries."); @@ -108,6 +113,7 @@ std::string img; std::string idcard; std::string enable; + std::string monLevel; // value is a atom: atomSize:19, atomValue:test@192.168.50.216 -- Gitblit v1.8.0