From f1360ea0672147638e052b3ea1458b393c92422e Mon Sep 17 00:00:00 2001
From: chenshijun <chenshijun@aiotlink.com>
Date: 星期五, 15 三月 2019 15:14:35 +0800
Subject: [PATCH] Merge branch 'yw.1.2.fixbug' of ssh://192.168.1.226:29418/development/c++ into yw.1.2.fixbug

---
 QiaoJiaSystem/DataManagerServer/http_configserver.cpp |   52 ++++++++++++++++++++++++++++++----------------------
 1 files changed, 30 insertions(+), 22 deletions(-)

diff --git a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp
index cf0298a..64595d9 100644
--- a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp
+++ b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp
@@ -1003,6 +1003,7 @@
         elem["str_latitude"] = iter->str_latitude.toStdString();
         elem["str_ip"] = iter->str_ip.toStdString();
         elem["n_port"] = iter->n_port;
+        elem["type"] = iter->type;
         elem["str_username"] = iter->str_username.toStdString();
         elem["str_password"] = iter->str_password.toStdString();
         elem["str_brand"] = iter->str_brand.toStdString();
@@ -1955,7 +1956,7 @@
                 ret = erlangDbTool->createDatabase(Uuid, fieldValues);
             } else if (SyncType == 0) {
                 TableName.insert(0, "lt_");
-                fieldValues.insert(std::make_pair("tableName", TableName));
+                fieldValues["tableName"] = TableName;
                 //鏈湴搴�
                 ret = m_SqliteFaceEncap.createTable(TableName, fieldValues);
             }
@@ -2449,7 +2450,7 @@
             if (TableName.find("lt_") != 0) {
                 TableName.insert(0, "lt_");
             }
-            fieldValues.insert(std::make_pair("tableName", TableName));
+            fieldValues["tableName"] = TableName;
 
             ret = m_SqliteFaceEncap.updateTable("sys_o_tables", fieldValues);
         }
@@ -3341,17 +3342,22 @@
     Json::Value value;
 
     if (reader.parse(content, value)) {
-
-        std::string ip = value["str_ip"].asString();
+        std::string str_imgName = "";
+        std::string rtsp_ip = value["str_ip"].asString();
 //        int port= value["n_port"].asInt();
         int port = 554;
         std::string username = value["str_username"].asString();
         std::string pass = value["str_password"].asString();
         std::string brand = value["str_brand"].asString();
-        std::string rtsp_url = rtspAddrBuild(ip, port, username, pass, brand);
-        if (rtsp_url.empty()) {
-            return "{\"ret_status\":\"鍐呭鏈夎锛岃妫�鏌ワ紒\"}";
-        }
+        std::string rtsp_url = rtspAddrBuild(rtsp_ip, port, username, pass, brand);
+
+        if (value.isMember("id")) {
+            if (value["id"].isNull()) return "{\"ret_status\": \"id鍐呭鏈夎锛岃妫�鏌ワ紒\"}";
+            str_imgName.append("./").append(value["id"].asString()).append(".jpg");
+        } else {
+            if (rtsp_url.empty()) {
+                return "{\"ret_status\":\"鍐呭鏈夎锛岃妫�鏌ワ紒\"}";
+            }
 //        unsigned char serialnumber[SERIALNO_LEN] = {0};
 //        int ret = getDevSerialNumber(ip.c_str(), port,username.c_str(),pass.c_str(),brand.c_str(),serialnumber);
 
@@ -3363,20 +3369,22 @@
 
 //        std::string str_cam_dev_id = std::string((char *) serialnumber);//鎽勫儚鏈篿d cam_mac
 
-        std::string str_imgName = appConfig.getStringProperty("cutPath");
-        if (str_imgName.back() != '/') {
-            str_imgName.push_back('/');
-        }
-        str_imgName += ip;
-        str_imgName += "-";
-        str_imgName += "snapshot.jpg";
-        //admin:a1234567@192.168.1.201:554/h264/ch1/main/av_stream -r 1/25 -f image2 -s 1920*1080 /home/basic/work_src/a.jpg
-        std::string cmd(
-            "ffmpeg -i " + rtsp_url + " -vf select='eq(pict_type\\,I)',setpts='N/(25*TB)' -f image2 -s 1920*1080 -y " +
-            str_imgName);
+            str_imgName = appConfig.getStringProperty("cutPath");
+            if (str_imgName.back() != '/') {
+                str_imgName.push_back('/');
+            }
+            str_imgName += rtsp_ip;
+            str_imgName += "-";
+            str_imgName += "snapshot.jpg";
+            //admin:a1234567@192.168.1.201:554/h264/ch1/main/av_stream -r 1/25 -f image2 -s 1920*1080 /home/basic/work_src/a.jpg
+            std::string cmd(
+                "ffmpeg -i " + rtsp_url +
+                " -vf select='eq(pict_type\\,I)',setpts='N/(25*TB)' -f image2 -s 1920*1080 -y " +
+                str_imgName);
 //        std::string cmd("ffmpeg -i " + rtsp_url + " -r 1/25  -f image2 -s 1920*1080 -y " + str_imgName);
-        DBG(cmd);
-        system(cmd.c_str());
+            DBG(cmd);
+            system(cmd.c_str());
+        }
 
         cv::Mat img = cv::imread(str_imgName);
 
@@ -3398,7 +3406,7 @@
         fdfsClient.rwLock.unlock();
         Json::Value result;
         result["imgUrl"] = strImgUrl;
-        db_c.updateCamDevSnapshot(QString::fromStdString(ip), QString::fromStdString(strImgUrl));
+        db_c.updateCamDevSnapshot(QString::fromStdString(rtsp_ip), QString::fromStdString(strImgUrl));
 
         return result.toStyledString();
 

--
Gitblit v1.8.0