From 0a1992c1189eb162c6597289877cf060d4ea24cc Mon Sep 17 00:00:00 2001 From: pansen <pansen626@sina.com> Date: 星期一, 28 一月 2019 18:09:31 +0800 Subject: [PATCH] 布控上传修改 --- QiaoJiaSystem/build/DataWebServer | 0 QiaoJiaSystem/DataManagerServer/http_configserver.cpp | 136 ++++++++++++++++++++++++++++++---- QiaoJiaSystem/DataManagerServer/http_configserver.h | 16 ++- QiaoJiaSystem/build/config.json | 2 QiaoJiaSystem/DataManagerServer/uploadDataInterface.md | 27 +++++- 5 files changed, 155 insertions(+), 26 deletions(-) diff --git a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp index d4cd14c..5fc72f5 100644 --- a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp +++ b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp @@ -1875,6 +1875,22 @@ std::string createBy = value["createBy"].asString(); + string str_uuid; + uuid_t t_uuid; + char str[36]; + uuid_generate(t_uuid); + uuid_unparse(t_uuid, str); + str_uuid = str; + if (createBy == "analyDev") { + Uuid = Uuid.empty() ? str_uuid : Uuid; + } else if (createBy == "conCemter") { + if (Uuid.empty()) { + response->write(SimpleWeb::StatusCode::client_error_bad_request, "{\"error\":\"鍙傛暟閿欒锛� \"}"); + return ""; + } + } + + bool ret = false; FieldValues fieldValues; fieldValues.insert(std::make_pair("uuid", Uuid)); @@ -1910,10 +1926,17 @@ return ""; } - { + // #todo 涓婁紶銆備粎榛戝悕鍗曘�� // #TODO 鏍规嵁createBy鍒ゆ柇鏄惁闇�瑕佷笂浼� + if (createBy == "analyDev" && BwType == "1") { +// string &Uuid, string &TableName, string &SyncType, string &StartTime,string &EndTime, +// string &UploadFlag, string &CmpThreshold, string &Enabled + string str_SyncType(to_string(SyncType)); + UploadTaskToMonitorCenter(Uuid, TableName, str_SyncType, StartTime, EndTime, UploadFlag, CmpThreshold, + Enabled); } + erlangDbTool->sendMessage(); std::string str_result = std::string("{\"result\":").append("\"" + std::to_string(ret) + "\"}"); @@ -2244,6 +2267,19 @@ std::string BwType = value["BwType"].asString(); std::string CreateBy = value["createBy"].asString(); // std::string BwType = value["BwType"].asString(); + std::string UploadFlag = "-1"; + if (SyncType == "1") { + UploadFlag = erlangDbTool->findAllDatabase()[TableId].uploadFlag; + } else { + auto its = m_SqliteFaceEncap.getTableInfos(); + for (auto &item : its) { + if (item.uuid == TableId) { + UploadFlag = item.uploadFlag; + break; + } + } + } + DBG("content: " << TableName << "," << img_url << "," << idcard << "," << strUUID << "," << Enabled << "," << TableType << "," << SyncType << "," << TableId); @@ -2342,21 +2378,17 @@ // usleep(100); erlangDbTool->sendMessage(); -// #todo CreateBy == ""??? -// #TODO榛戝悕鍗曟洿鏂伴渶瑕佷笂浼� -// if (UploadFlag == "1") { -//// #todo db queue upload to server -// if (BwType == "0") { + if (CreateBy == "analyDev" && UploadFlag == "1") { +// #todo db queue upload to server + if (BwType == "0") { // UploadPersonToUserCenter(img_url, idcard, strUUID, feature_base64); -// } else { -// //todo send person to backServer -////#TODO 榛戝悕鍗曚笂浼� - { -// #todo 涓婁紶銆備粎榛戝悕鍗曘�� -// #TODO 鏍规嵁createBy鍒ゆ柇鏄惁闇�瑕佷笂浼� + } else if (BwType == "1") { + UpdatePersonToMonitorCenter(img_url, idcard, strUUID, TableId, Enabled); + } + } else { +// 涓嶄笂浼� } -// } -// } + return str_result; } else { std::string str_result = std::string("{\"error\":\"addPerson error\"}"); @@ -2392,7 +2424,7 @@ 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) const { + string &strUUID, bool &ret_addPerson) { if (SyncType == "0") { FieldValues fieldValues; AddFaceData addFaceData; @@ -2488,6 +2520,73 @@ perInfos.append(perInfo); thread sendPerson(uploadServer, this, sendUrl, perInfos.toStyledString()); + sendPerson.detach(); +} + +void +devHttpServer_c::UpdatePersonToMonitorCenter(string &img_url, string &idcard, string &strUUID, + string &strTableId, string &strControl) { + +// string sendUrl = "ip:3699/data/api-c/taskUser/updateFromC"; + string sendUrl = GET_STR_CONFIG("updateFromAnalyUrl"); + + if (sendUrl.empty()) { + ERR(""); + return; + } + + Json::Value perInfos; + Json::Value perInfo; +// #todo get string from config.json file + perInfo["id"] = strUUID; + perInfo["distributionIds"] = m_cluster_id; + perInfo["distributionNames"] = m_cluster_name; + auto rec = db_c.searchConfigTableWithinServerInfo(); + perInfo["deviceId"] = rec.dev_id.toStdString(); + perInfo["photos"] = img_url; + perInfo["cardId"] = idcard; // 鍥剧墖鎻忚堪 + + perInfo["taskId"] = strTableId; // 搴曞簱id + perInfo["isControl"] = strControl; // 甯冩帶鐘舵�侊紙0涓烘湭甯冩帶锛�1涓哄凡甯冩帶锛� + + perInfos.append(perInfo); + + thread sendPerson(uploadServer, this, sendUrl, perInfos.toStyledString()); + sendPerson.detach(); +} + +void +devHttpServer_c::UploadTaskToMonitorCenter(string &Uuid, string &TableName, string &SyncType, string &StartTime, + string &EndTime, string &UploadFlag, string &CmpThreshold, string &Enabled) { + +// string sendUrl = "192.168.1.184:3699/addTaskByNode"; + string sendUrl = GET_STR_CONFIG("addTaskAnalyUrl"); + + if (sendUrl.empty()) { + ERR(""); + return; + } + +// Json::Value perInfos; + Json::Value perInfo; + + perInfo["uuid"] = Uuid; + perInfo["TableName"] = TableName; + perInfo["SyncType"] = SyncType; + perInfo["StartTime"] = StartTime; + perInfo["EndTime"] = EndTime; + perInfo["IsSync"] = UploadFlag; + perInfo["threshold"] = CmpThreshold; + perInfo["enabled"] = Enabled; + perInfo["distributionIds"] = m_cluster_id; + perInfo["distributionNames"] = m_cluster_name; + auto rec = db_c.searchConfigTableWithinServerInfo(); + perInfo["deviceId"] = rec.dev_id.toStdString(); + + +// perInfos.append(perInfo); + + thread sendPerson(uploadServer, this, sendUrl, perInfo.toStyledString()); sendPerson.detach(); } @@ -2635,11 +2734,16 @@ return ""; } - { // #todo 涓婁紶銆備粎榛戝悕鍗曘�� // #TODO 鏍规嵁createBy鍒ゆ柇鏄惁闇�瑕佷笂浼� + if (createBy == "analyDev" && BwType == "1") { +// UploadTaskToMonitorCenter(Uuid, TableName, SyncType, StartTime, EndTime, SyncType, Enabled); + string str_SyncType(to_string(SyncType)); + UploadTaskToMonitorCenter(Uuid, TableName, str_SyncType, StartTime, EndTime, UploadFlag, CmpThreshold, + Enabled); } + erlangDbTool->sendMessage(); std::string str_result = std::string("{\"result\":").append("\"" + std::to_string(ret) + "\"}"); return str_result; diff --git a/QiaoJiaSystem/DataManagerServer/http_configserver.h b/QiaoJiaSystem/DataManagerServer/http_configserver.h index 41625ab..1261485 100644 --- a/QiaoJiaSystem/DataManagerServer/http_configserver.h +++ b/QiaoJiaSystem/DataManagerServer/http_configserver.h @@ -189,15 +189,21 @@ static void uploadServer(devHttpServer_c *t_ptrThis, std::string sendUrl, std::string param); - void devHttpServer_c::UploadPersonToUserCenter(string &img_url, string &idcard, string &strUUID, - string &feature_base64); + void UploadPersonToUserCenter(string &img_url, string &idcard, string &strUUID, string &feature_base64); - void devHttpServer_c::UploadPersonToMonitorCenter(string &img_url, string &idcard, string &strUUID, - string &feature_base64, string &strTableId, string &strControl); + void UploadPersonToMonitorCenter(string &img_url, string &idcard, string &strUUID, string &feature_base64, + string &strTableId, string &strControl); + + void UpdatePersonToMonitorCenter(string &img_url, string &idcard, string &strUUID, string &strTableId, + string &strControl); + + void + UploadTaskToMonitorCenter(string &Uuid, string &TableName, string &SyncType, string &StartTime, string &EndTime, + string &UploadFlag, string &CmpThreshold, string &Enabled); 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; + const Features &faceResults, string &idcard, string &strUUID, bool &ret_addPerson); void getMat(string &img_url, const string &img_base64, cv::Mat &image) const; }; diff --git a/QiaoJiaSystem/DataManagerServer/uploadDataInterface.md b/QiaoJiaSystem/DataManagerServer/uploadDataInterface.md index 993df8c..96b3588 100644 --- a/QiaoJiaSystem/DataManagerServer/uploadDataInterface.md +++ b/QiaoJiaSystem/DataManagerServer/uploadDataInterface.md @@ -2,7 +2,7 @@ ---- -#1.璋冪敤鍒涘缓甯冩帶鎶ヨ搴曞簱浠诲姟 +# 1. 璋冪敤鍒涘缓甯冩帶鎶ヨ搴曞簱浠诲姟 192.168.1.184:3699/addTaskByNode @@ -26,7 +26,7 @@ //榛戠櫧鍚嶅崟 1榛戝悕鍗� "BwType": "1", 甯冩帶鍙榛戝悕鍗� ---- -#2.璋冪敤涓婁紶甯冩帶浜哄憳鎺ュ彛 +# 2. 璋冪敤涓婁紶甯冩帶浜哄憳鎺ュ彛 鍒嗘瀽璁惧涓婁紶甯冩帶浜哄憳 path锛歩p:3699/data/api-c/taskUser/addFromAnaly @@ -44,7 +44,7 @@ ---- -#3.浜哄憳绠$悊涓婁紶浜哄憳鎺ュ彛 +# 3. 浜哄憳绠$悊涓婁紶浜哄憳鎺ュ彛 浜哄憳ID(蹇呴渶)锛� id 渚嬪锛歅SSVR010120181208175534014 濮撳悕锛堝彲绌猴級 name 韬唤璇佸彿锛堝彲浠ヤ笉鍑嗭級cardId @@ -58,7 +58,7 @@ 鏁版嵁绫诲瀷锛屾病鏍囨敞鐨勯兘鏄瓧绗︿覆 娉ㄦ剰浼犺緭鏃剁殑椹煎嘲寮忓懡鍚� - +--- 浼犲弬涓句緥锛� [ @@ -84,13 +84,30 @@ "featureBase64 ":"kQZbUt48zxqUQfwv/r2mYfCz//+==" } ] - +--- 璇锋眰鏂规硶涓簆ost锛屼互json鏍煎紡浼犺緭锛屾敮鎸佹壒閲忎笂浼� 鐩墠鐨刬p涓�203 鎺ュ彛璺緞锛欼P锛�3697/addPerson/uploadToTemporary +--- + +# 4. 15 鍒嗘瀽鏇存柊浜哄憳鎺ュ彛锛� +璺緞锛� +> ip:3699/data/api-c/taskUser/updateFromC + +鍙傛暟锛� + + id 浜哄憳ID + idCard 韬唤璇佸彿(鎻忚堪锛�) + imgUrl 鍥剧墖璺緞 + isControl 甯冩帶鐘舵�侊紙0涓烘湭甯冩帶锛�1涓哄凡甯冩帶锛� --- +璇锋眰绫诲瀷锛歨ttpMethod = "POST"锛坖son锛� + +--- +--- + diff --git a/QiaoJiaSystem/build/DataWebServer b/QiaoJiaSystem/build/DataWebServer index 0a67154..c043dd2 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 e494774..f055109 100755 --- a/QiaoJiaSystem/build/config.json +++ b/QiaoJiaSystem/build/config.json @@ -20,6 +20,8 @@ "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", "netIfName": "enp3s0", "redis_buf_len": 750, "redis_ip": "127.0.0.1", -- Gitblit v1.8.0