From db043cb402515837303880cb0948d060e9d76490 Mon Sep 17 00:00:00 2001
From: chenshijun <csj_sky@126.com>
Date: 星期一, 15 四月 2019 17:13:16 +0800
Subject: [PATCH] 整合代码
---
QiaoJiaSystem/DataManagerServer/http_configserver.cpp | 58 +++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 43 insertions(+), 15 deletions(-)
diff --git a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp
index 9296951..4c462e4 100644
--- a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp
+++ b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp
@@ -1164,11 +1164,11 @@
std::string brand) const {
if (brand == "haikang") {
- bool ret = getHKDevSerialNumber(ip.c_str(), port, username.c_str(), passwd.c_str());
- if (!ret) {
- ERR("getHKDevSerialNumber ERR");
- return false;
- }
+// bool ret = getHKDevSerialNumber(ip.c_str(), port, username.c_str(), passwd.c_str());
+// if (!ret) {
+// ERR("getHKDevSerialNumber ERR");
+// return false;
+// }
//璋冪敤rtsp娴乺tsp://admin:a1234567@192.168.1.215:554/h264/ch1/main/av_stream
port = 554;//TODO
// std::string rtsp_url = "rtsp://" + username + ":" + passwd + "@" + ip + ":" + std::to_string(port) +
@@ -1218,11 +1218,11 @@
return false;//TODO
} else if (brand == "yushi") {
// rtsp://admin:admin@192.168.8.8:554/video1
- bool ret = getUVDevSerialNumber(ip.c_str(), username.c_str(), passwd.c_str());
- if (!ret) {
- ERR("getUVDevSerialNumber ERR");
- return false;
- }
+// bool ret = getUVDevSerialNumber(ip.c_str(), username.c_str(), passwd.c_str());
+// if (!ret) {
+// ERR("getUVDevSerialNumber ERR");
+// return false;
+// }
port = 554;
// std::string rtsp_url = "rtsp://" + username + ":" + passwd + "@" + ip + ":" + std::to_string(port) +
@@ -1294,6 +1294,7 @@
if (m_rtmp[ip].userCounter == 0) {
m_rtmp[ip].appPC->stop();
m_rtmp[ip].appPC->wait();
+ delete m_rtmp[ip].appPC;
m_rtmp.erase(ip);
}
}
@@ -1373,6 +1374,7 @@
Json::Value value;
if (value_reader.isMember("id")) {
value["ret_status"] = "ok_ack";
+ cam_connect_video_stop(value_reader["str_ip"].asString());
{
std::string topic = "VideoToImageMulth";
Json::Value json_cfg;
@@ -1759,6 +1761,13 @@
return out;
}
+//{
+// "cookie": "abc", //闆嗙兢cookie
+// "fatherNodeName": "main@192.168.1.186", //寮曞鑺傜偣鍚嶇О,娣诲姞寮曞鑺傜偣鏃惰鍊间负" "(鍐呬负绌烘牸)
+// "culID" : "uuid", //闆嗙兢id
+// "culName" : "name", //闆嗙兢鍚嶇О
+// "devID" : "uuid" //璁惧id
+//}
std::string devHttpServer_c::addNode(std::string ip, unsigned int port, std::string content, PResponse &response) {
DBG("ip:" << ip << "; port:" << port);
DBG("content: " << content);
@@ -1771,25 +1780,32 @@
//#todo nodes have counter?
//#todo nodeName Automatic generated?
//#todo devId+num
+ // 鐢熸垚鑺傜偣id - uuid
std::string uuid = GetUUId::getUUID();
+ // 鑾峰彇褰撳墠鏈哄櫒ip
unsigned char ip_old[15] = {0};
std::string str_netIfName = appConfig.getStringProperty("netIfName");
GetIpAddress(str_netIfName.c_str(), ip_old);
std::string str_ip((char *) ip_old);
+ // 鑺傜偣鍚嶇О
std::string nodeName = uuid.append("@" + str_ip);
std::string cookie = value["cookie"].asString();
+ // 寮曞鑺傜偣
std::string FatherNodeName = value["fatherNodeName"].asString();
//#todo ClusterID ClusterName
+ // 闆嗙兢id
std::string clusterID = value["culID"].asString();
+ // 涓虹┖鍒欑敓鎴�,鍚﹀垯鐩存帴浣跨敤
clusterID = clusterID.size() > 0 ? clusterID : GetUUId::getUUID();
std::string clusterName = value["culName"].asString();
+
std::string devID = value["devID"].asString();
std::string devName = value["devName"].asString();
-
+ // erlang鑺傜偣淇濆瓨璺緞/opt/erlang/${uuid}
std::string path = std::string("/opt/erlang/").append(nodeName.substr(0, nodeName.find("@")));
if (erlangDbTool != nullptr) {
//gaunbi node
@@ -1801,6 +1817,7 @@
if (cookie.size() > 0 && (clusterID.size() > 0 || clusterName.size() > 0)) {
// erlangDbTool = new ErlangTool::ErlangDbTool(path, nodeName, cookie);
+ // #todo 杩涚▼鍚� -> get from argv[0]
string str_tmp = "DataWebserver";
erlangDbTool = new ErlangTool::ErlangDbTool(path, nodeName, cookie, clusterID, clusterName, str_tmp);
bool ret = erlangDbTool->initErlang();
@@ -1809,6 +1826,7 @@
ret = erlangDbTool->startNodeDb(FatherNodeName, devID);
if (ret) {
+ //濡傛灉鎴愬姛鍒欐洿鏂伴厤缃枃浠�
appConfig.setStringProperty("erlNode", nodeName);
appConfig.setStringProperty("erlCookie", cookie);
appConfig.setStringProperty("erlPath", path);
@@ -1821,6 +1839,7 @@
runAllApp();
// sleep(4);
} else {
+ // 鍚﹀垯鍒欑疆绌洪厤缃枃浠�
appConfig.setStringProperty("erlNode", "");
appConfig.setStringProperty("erlCookie", "");
appConfig.setStringProperty("erlPath", "");
@@ -1853,6 +1872,7 @@
ret = erlangDbTool->removeNode();
+ // 缃┖閰嶇疆鏂囦欢
appConfig.setStringProperty("erlNode", "");
appConfig.setStringProperty("erlCookie", "");
appConfig.setStringProperty("erlPath", "");
@@ -1970,15 +1990,20 @@
std::string Uuid = value["uuid"].asString();
std::string TableType = value["TableType"].asString();
std::string TableName = value["TableName"].asString();
+ // 闆嗙兢鍐呭悓姝�
int SyncType = atoi(value["SyncType"].asCString());
std::string BwType = value["BwType"].asString();
std::string StartTime = value["StartTime"].asString();
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;
@@ -2010,9 +2035,7 @@
fieldValues.insert(std::make_pair("bwType", BwType));
fieldValues.insert(std::make_pair("startTime", StartTime));
fieldValues.insert(std::make_pair("endTime", EndTime));
-// #todo
fieldValues.insert(std::make_pair("create_by", createBy));
-
fieldValues.insert(std::make_pair("uploadFlag", UploadFlag));
fieldValues.insert(std::make_pair("cmpThreshold", CmpThreshold));
fieldValues.insert(std::make_pair("enabled", Enabled));
@@ -2037,7 +2060,6 @@
return "";
}
-
//// #todo 涓婁紶銆備粎榛戝悕鍗曘��
//// #TODO 鏍规嵁createBy鍒ゆ柇鏄惁闇�瑕佷笂浼�
// if (createBy == "analyDev" && BwType == "1") {
@@ -2048,7 +2070,7 @@
// Enabled);
// }
-
+ // send message to other CNode
erlangDbTool->sendMessage();
std::string str_result = std::string("{\"result\":").append("\"" + std::to_string(ret) + "\"}");
return str_result;
@@ -3311,6 +3333,11 @@
rule.strExAreas = value["strExAreas"].asCString();
rule.strLine = value["strLine"].asCString();
rule.strExLine = value["strExLine"].asCString();
+
+ if(!value["strPerimeterObjType"].empty())
+ {
+ rule.strPerimeterObjType = value["strPerimeterObjType"].asCString();
+ }
if (rule.strCamId.isEmpty()) {
return "{\"ret_status\":\"鍐呭鏈夎锛岃妫�鏌ワ紒\"}";
}
@@ -3387,6 +3414,7 @@
obj["strExAreas"] = rule.second.strExAreas.toStdString();
obj["strLine"] = rule.second.strLine.toStdString();
obj["strExLine"] = rule.second.strExLine.toStdString();
+ obj["strPerimeterObjType"] = rule.second.strPerimeterObjType.toStdString();
Json::Value weekRuleArray;
--
Gitblit v1.8.0