From 1f16245b4b4fc36c519e7afc9fd9cf828f25199d Mon Sep 17 00:00:00 2001
From: chenshijun <csj_sky@126.com>
Date: 星期四, 28 二月 2019 20:06:35 +0800
Subject: [PATCH] 修改新增摄像机获取底图问题 解码两次问题

---
 QiaoJiaSystem/DataManagerServer/http_configserver.cpp |  106 ++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 88 insertions(+), 18 deletions(-)

diff --git a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp
index bc9b6f0..260c97a 100644
--- a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp
+++ b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp
@@ -23,6 +23,12 @@
 #include <dirent.h>
 #include "basic/pipe_element/ffmpeg/basic_struct_for_video_image.h"
 
+#include "vss/controller/VssDevTblController.h"
+#include "vss/controller/VssChannelTblController.h"
+#include "vss/controller/VssDomainUnitTblController.h"
+#include "vss/controller/VssLocalSettingTblController.h"
+#include "vss/controller/VssUpperSvrTblController.h"
+
 using namespace std;
 
 devHttpServer_c::devHttpServer_c()
@@ -242,6 +248,14 @@
                                          std::placeholders::_1, std::placeholders::_2,
                                          std::placeholders::_3, std::placeholders::_4));
 
+
+    BaseDao::initConnection();
+    VssLocalSettingTblSqliteDao::instance()->setLDBTool(&db_c);
+    VssDevTblController::instance()->registerHttpServices(_HttpSrvRetRecieve);
+    VssChannelTblController::instance()->registerHttpServices(_HttpSrvRetRecieve);
+    VssDomainUnitTblController::instance()->registerHttpServices(_HttpSrvRetRecieve);
+    VssLocalSettingTblController::instance()->registerHttpServices(_HttpSrvRetRecieve);
+    VssUpperSvrTblController::instance()->registerHttpServices(_HttpSrvRetRecieve);
 
     _HttpSrvRetRecieve.start();
     _HttpSrvRetRecieve.waitForShutDown();
@@ -1046,6 +1060,7 @@
         rec.str_username = QString::fromStdString(value["str_username"].asString());
         rec.str_password = QString::fromStdString(value["str_password"].asString());
         rec.str_brand = QString::fromStdString(value["str_brand"].asString());
+        rec.str_reserved = QString::fromStdString(value["str_reserved"].asString());
         type = value["n_type"].asInt();
 //        rec_sdk_old = db_c.searchCamSdkTableByCamId(rec.str_cam_dev_id);
 
@@ -1845,8 +1860,7 @@
 }
 
 std::string devHttpServer_c::createDatabase(std::string ip, unsigned int port, std::string content,
-                                            PResponse &response) {
-    DBG("ip:" << ip << "; port:" << port);
+                                            PResponse &response) {    DBG("ip:" << ip << "; port:" << port);
     DBG("content: " << content);
     if (erlangDbTool == nullptr) {
         response->write(SimpleWeb::StatusCode::server_error_not_implemented, "{\"error\":\"鑺傜偣涓嶅瓨鍦� \"}");
@@ -1859,31 +1873,87 @@
 //    bool ret = false;
 
     if (reader.parse(content, value)) {
+        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;
+
+        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;
+        Uuid = Uuid.empty() ? str_uuid : Uuid;
+//        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;
-        if (SyncType == 1) {
-            //鍚屾搴�
-            ret = erlangDbTool->createDatabase(TableType, TableName, SyncType, BwType, StartTime, EndTime);
-        } else if (SyncType == 0) {
-            TableName.insert(0, "lt_");
-            //鏈湴搴�
-            FieldValues fieldValues;
-            fieldValues.insert(std::make_pair("uuid", GetUUId::getUUID()));
-            fieldValues.insert(std::make_pair("tableName", TableName));
-            fieldValues.insert(std::make_pair("tableDesc", "ceshi"));
-            fieldValues.insert(std::make_pair("tableType", TableType));
-            fieldValues.insert(std::make_pair("bwType", BwType));
-            fieldValues.insert(std::make_pair("startTime", StartTime));
-            fieldValues.insert(std::make_pair("endTime", EndTime));
-            fieldValues.insert(std::make_pair("create_by", "who"));
-            ret = m_SqliteFaceEncap.createTable(TableName, fieldValues);
+        FieldValues fieldValues;
+        fieldValues.insert(std::make_pair("uuid", Uuid));
+        fieldValues.insert(std::make_pair("tableName", TableName));
+        fieldValues.insert(std::make_pair("tableDesc", "ceshi"));
+        fieldValues.insert(std::make_pair("tableType", TableType));
+        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));
+
+
+        if (TableType == "person") {
+            if (SyncType == 1) {
+                //鍚屾搴�
+                ret = erlangDbTool->createDatabase(Uuid, fieldValues);
+            } else if (SyncType == 0) {
+                TableName.insert(0, "lt_");
+                //鏈湴搴�
+                ret = m_SqliteFaceEncap.createTable(TableName, fieldValues);
+            }
+        } else if (TableType == "car") {
+            ERR(" not not_implemented");
+            response->write(SimpleWeb::StatusCode::server_error_not_implemented, "{\"error\":\"绫诲瀷閿欒锛屾湭瀹炵幇锛� \"}");
+            return "";
+        } else {
+            response->write(SimpleWeb::StatusCode::server_error_not_implemented, "{\"error\":\"绫诲瀷閿欒锛屾湭璇嗗埆锛� \"}");
+            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) + "\"}");
         return str_result;

--
Gitblit v1.8.0