From f946a62d3921e86b44ff8e2973138304b9cd53cd Mon Sep 17 00:00:00 2001
From: chenshijun <csj_sky@126.com>
Date: 星期二, 16 四月 2019 16:36:32 +0800
Subject: [PATCH] 解决修改参数和推流画面跳跃问题

---
 QiaoJiaSystem/DataManagerServer/vss/controller/CamDevController.h |   53 ++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 46 insertions(+), 7 deletions(-)

diff --git a/QiaoJiaSystem/DataManagerServer/vss/controller/CamDevController.h b/QiaoJiaSystem/DataManagerServer/vss/controller/CamDevController.h
index 8923fdb..2656b88 100755
--- a/QiaoJiaSystem/DataManagerServer/vss/controller/CamDevController.h
+++ b/QiaoJiaSystem/DataManagerServer/vss/controller/CamDevController.h
@@ -8,6 +8,7 @@
 #include "vss/model/CamDev.h"
 #include "VssBaseController.h"
 #include <mysql++.h>
+#include <NsqMsgTool.hpp>
 
 using namespace std;
 
@@ -18,15 +19,25 @@
 private:
     /** 鎽勫儚澶磋澶囨瀯閫犲嚱鏁� */
     CamDevController() {}
+
 public:
     /** 鎽勫儚澶磋澶囧崟渚嬫ā寮� */
-    static CamDevController* instance() {
+    static CamDevController *instance() {
         static CamDevController instance;
         return &instance;
     }
+
+private:
+    //shared_ptr
+    BasicMsg::Nsq::NsqMsgProducer  *_nsqMsgProducer;
+public:
+    void nsqMsgProducerSet(BasicMsg::Nsq::NsqMsgProducer *nsqMsgProducer){
+        _nsqMsgProducer = nsqMsgProducer;
+    }
+
 public:
     /** 娉ㄥ唽{label}http鏈嶅姟 */
-    void registerHttpServices(HttpSrvRetRecieve& _HttpSrvRetRecieve) {
+    void registerHttpServices(HttpSrvRetRecieve &_HttpSrvRetRecieve) {
 
         _HttpSrvRetRecieve.setInfo("^/addCamDev$", "POST",
                                    std::bind(&CamDevController::addCamDev, this,
@@ -54,6 +65,7 @@
                                              std::placeholders::_3, std::placeholders::_4));
 
     }
+
 public:
     /** 娣诲姞鎽勫儚澶磋澶� */
     std::string addCamDev(std::string ip, unsigned int port, std::string content, PResponse &response) {
@@ -68,11 +80,17 @@
             Json::Value idJsonValue = requestJsonValue[CamDev_id];
             if (idJsonValue.type() != Json::ValueType::nullValue) {
                 camDevBuilder.addid(std::stoi((idJsonValue.asString())));
+            } else {
+                ERR("CamDev_id is null " << " is null");
+//                return responseJsonValue.toStyledString();
             }
 
             Json::Value cam_dev_idJsonValue = requestJsonValue[CamDev_cam_dev_id];
             if (cam_dev_idJsonValue.type() != Json::ValueType::nullValue) {
                 camDevBuilder.addcam_dev_id((cam_dev_idJsonValue.asString()));
+            } else {
+                ERR(CamDev_cam_dev_id << " is null");
+                return responseJsonValue.toStyledString();
             }
 
             Json::Value nameJsonValue = requestJsonValue[CamDev_name];
@@ -154,6 +172,18 @@
             }
 
         }
+
+        {
+            std::string topic = "VideoToImageMulth";
+            std::string topic1 = "VideoAnalysFromHC";
+            Json::Value json_cfg;
+            json_cfg["cam_del"] = content;
+            std::string msg = json_cfg.toStyledString();
+            DBG("msg:" << msg);
+            _nsqMsgProducer->Publish(topic, (void *) (&msg));
+            _nsqMsgProducer->Publish(topic1, (void *) (&msg));
+        }
+
         return responseJsonValue.toStyledString();
     }
 
@@ -232,9 +262,22 @@
                 camDevBuilder.addtype((typeJsonValue.asString()));
             }
             if (idJsonValue.type() != Json::ValueType::nullValue) {
-                responseJsonValue = CamDevSqliteDao::instance()->updateCamDev(camDevBuilder.buildCamDevMap(), "id", idJsonValue.asString());
+                responseJsonValue = CamDevSqliteDao::instance()->updateCamDev(camDevBuilder.buildCamDevMap(), "id",
+                                                                              idJsonValue.asString());
             }
         }
+
+        {
+            std::string topic = "VideoToImageMulth";
+            std::string topic1 = "VideoAnalysFromHC";
+            Json::Value json_cfg;
+            json_cfg["cam_edit"] = content;
+            std::string msg = json_cfg.toStyledString();
+            DBG("msg:" << msg);
+            _nsqMsgProducer->Publish(topic, (void *) (&msg));
+            _nsqMsgProducer->Publish(topic1, (void *) (&msg));
+        }
+
         return responseJsonValue.toStyledString();
     }
 
@@ -405,10 +448,6 @@
         return responseJsonValue.toStyledString();
     }
 };
-
-
-
-
 
 
 #endif //CAMDEV_CONTROLLER_H

--
Gitblit v1.8.0