From 12a15c27e2765357d0be28acf8bff82d6bd4a249 Mon Sep 17 00:00:00 2001
From: pansen <pansen626@sina.com>
Date: 星期四, 28 二月 2019 16:42:41 +0800
Subject: [PATCH] 修复底库创建失败的bug

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

diff --git a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp
index 4c2e5ef..6d83ede 100644
--- a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp
+++ b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp
@@ -1859,8 +1859,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\":\"鑺傜偣涓嶅瓨鍦� \"}");
@@ -1873,31 +1872,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