From 5bf0020b189b2bc8c64737c2af4ea77c3e8f5612 Mon Sep 17 00:00:00 2001
From: xuxiuxi <554325746@qq.com>
Date: 星期五, 08 三月 2019 22:24:27 +0800
Subject: [PATCH] Merge branch 'yw.1.2.fixbug' of http://192.168.1.226:10010/r/development/c++ into yw.1.2.fixbug

---
 QiaoJiaSystem/DataManagerServer/vss/dao/VssLocalSettingTblSqliteDao.h |   12 +----
 QiaoJiaSystem/DataManagerServer/vss/dao/BaseSqliteDao.h               |   56 ++++++++++++++++++++++++++++
 QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h             |   12 +----
 QiaoJiaSystem/DataManagerServer/HttpSrvRetRecieve.hpp                 |    6 ++
 4 files changed, 67 insertions(+), 19 deletions(-)

diff --git a/QiaoJiaSystem/DataManagerServer/HttpSrvRetRecieve.hpp b/QiaoJiaSystem/DataManagerServer/HttpSrvRetRecieve.hpp
index cbff042..da91454 100644
--- a/QiaoJiaSystem/DataManagerServer/HttpSrvRetRecieve.hpp
+++ b/QiaoJiaSystem/DataManagerServer/HttpSrvRetRecieve.hpp
@@ -43,7 +43,11 @@
             std::string strInfo =  request->path;
             auto func = m_map_TASKFUNC[strInfo];
             if(func != nullptr){
-                std::string strRet = func(request->remote_endpoint_address(),request->remote_endpoint_port(),request->content.string(),response);
+                std::cout << "url "<< strInfo << std::endl;
+                std::string content = request->content.string();
+                std::cout << "content " << content << std::endl;
+                std::string strRet = func(request->remote_endpoint_address(),request->remote_endpoint_port(),content,response);
+                std::cout << "strRet " << strRet << std::endl;
                 if(strRet.size() > 0){
                     DBG("strRet.size() > 0");
                     response->write(strRet);
diff --git a/QiaoJiaSystem/DataManagerServer/vss/dao/BaseSqliteDao.h b/QiaoJiaSystem/DataManagerServer/vss/dao/BaseSqliteDao.h
index 88ae76a..e30ed59 100644
--- a/QiaoJiaSystem/DataManagerServer/vss/dao/BaseSqliteDao.h
+++ b/QiaoJiaSystem/DataManagerServer/vss/dao/BaseSqliteDao.h
@@ -18,6 +18,62 @@
         BaseSqliteDao::m_pModel = lDBTool->get_m_pModel();
         BaseSqliteDao::m_mutexVisit = lDBTool->get_m_mutexVisit();
     }
+    static string getColumnNames(std::map<std::string, std::string>& columns) {
+        string columnNames;
+        auto size = columns.size();
+        int i = 0;
+        for (auto column : columns) {
+            columnNames.append(column.first);
+            if (i != size - 1) {
+                columnNames.append(",");
+            }
+            i++;
+        }
+        return columnNames;
+    }
+    static string getColumnValues(std::map<std::string, std::string>& columns) {
+        string columnValues;
+        auto size = columns.size();
+        int i = 0;
+        for (auto column : columns) {
+            columnValues.append("'"+column.second+"'");
+            if (i != columns.size() - 1) {
+                columnValues.append(",");
+            }
+            i++;
+        }
+        return columnValues;
+    }
+    static string getColumnNameValuePair(std::map<std::string, std::string>& columns) {
+        string columnNameValuePair;
+        auto size = columns.size();
+        int i = 0;
+        for (auto column : columns) {
+            columnNameValuePair.append(column.first);
+            columnNameValuePair.append("=");
+            columnNameValuePair.append("'"+column.second+"'");
+
+            if (i != size - 1) {
+                columnNameValuePair.append(",");
+            }
+            i++;
+        }
+        return columnNameValuePair;
+    }
+    static string getWhereColumnNameValuePair(std::map<std::string, std::string>& columns) {
+        string columnNameValuePair;
+        auto size = columns.size();
+        int i = 0;
+        for (auto column : columns) {
+            columnNameValuePair.append(" and ");
+            columnNameValuePair.append(column.first);
+            columnNameValuePair.append("=");
+            columnNameValuePair.append("'"+column.second+"' ");
+
+            i++;
+        }
+        return columnNameValuePair;
+    }
 };
 
 LDBTool* BaseSqliteDao::lDBTool = nullptr;
diff --git a/QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h b/QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h
index 0f81489..5873e72 100755
--- a/QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h
+++ b/QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h
@@ -80,9 +80,7 @@
         QMutexLocker mutexLocker(m_mutexVisit);//TODO
         QSqlTableModel pModel(NULL, *m_db);
         pModel.setTable(CamDev_TABLE_NAME);
-        for (auto whereKeyValue : whereKeyValues ) {
-            pModel.setFilter(QObject::tr((string(whereKeyValue.first)+" = '%1'").c_str()).arg(QString::fromUtf8(whereKeyValue.second.c_str())));
-        }
+        pModel.setFilter(QObject::tr(getWhereColumnNameValuePair(whereKeyValues).c_str()));
         pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange
         pModel.select();
 
@@ -119,9 +117,7 @@
         QMutexLocker mutexLocker(m_mutexVisit);//TODO
         QSqlTableModel pModel(NULL, *m_db);
         pModel.setTable(CamDev_TABLE_NAME);
-        for (auto whereKeyValue : whereKeyValues) {
-            pModel.setFilter(QObject::tr((whereKeyValue.first + " = '%1'").c_str()).arg(QString::fromStdString(whereKeyValue.second)));
-        }
+        pModel.setFilter(QObject::tr(getWhereColumnNameValuePair(whereKeyValues).c_str()));
         pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange
         pModel.select();
 
@@ -181,9 +177,7 @@
         std::list<Record_Cut_Video_info> lst;
         QSqlTableModel pModel(NULL, *m_db);
         pModel.setTable(CamDev_TABLE_NAME);;
-        for (auto whereKeyValue : whereKeyValues ) {
-            pModel.setFilter(QObject::tr((string(whereKeyValue.first)+" = '%1'").c_str()).arg(QString::fromUtf8(whereKeyValue.second.c_str())));
-        }
+        pModel.setFilter(QObject::tr(getWhereColumnNameValuePair(whereKeyValues).c_str()));
         pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange
         pModel.select();
 
diff --git a/QiaoJiaSystem/DataManagerServer/vss/dao/VssLocalSettingTblSqliteDao.h b/QiaoJiaSystem/DataManagerServer/vss/dao/VssLocalSettingTblSqliteDao.h
index 4096fa0..04b5d63 100755
--- a/QiaoJiaSystem/DataManagerServer/vss/dao/VssLocalSettingTblSqliteDao.h
+++ b/QiaoJiaSystem/DataManagerServer/vss/dao/VssLocalSettingTblSqliteDao.h
@@ -73,9 +73,7 @@
         QMutexLocker mutexLocker(m_mutexVisit);//TODO
         QSqlTableModel pModel(NULL, *m_db);
         pModel.setTable(VSSLocalSettingTbl_Sqlite_TABLE_NAME);
-        for (auto whereKeyValue : whereKeyValues ) {
-            pModel.setFilter(QObject::tr((string(whereKeyValue.first)+" = '%1'").c_str()).arg(QString::fromUtf8(whereKeyValue.second.c_str())));
-        }
+        pModel.setFilter(QObject::tr(getWhereColumnNameValuePair(whereKeyValues).c_str()));
         pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange
         pModel.select();
 
@@ -112,9 +110,7 @@
         QMutexLocker mutexLocker(m_mutexVisit);//TODO
         QSqlTableModel pModel(NULL, *m_db);
         pModel.setTable(VSSLocalSettingTbl_Sqlite_TABLE_NAME);
-        for (auto whereKeyValue : whereKeyValues) {
-            pModel.setFilter(QObject::tr((whereKeyValue.first + " = '%1'").c_str()).arg(QString::fromStdString(whereKeyValue.second)));
-        }
+        pModel.setFilter(QObject::tr(getWhereColumnNameValuePair(whereKeyValues).c_str()));
         pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange
         pModel.select();
 
@@ -174,9 +170,7 @@
         std::list<Record_Cut_Video_info> lst;
         QSqlTableModel pModel(NULL, *m_db);
         pModel.setTable(VSSLocalSettingTbl_Sqlite_TABLE_NAME);;
-        for (auto whereKeyValue : whereKeyValues ) {
-            pModel.setFilter(QObject::tr((string(whereKeyValue.first)+" = '%1'").c_str()).arg(QString::fromUtf8(whereKeyValue.second.c_str())));
-        }
+        pModel.setFilter(QObject::tr(getWhereColumnNameValuePair(whereKeyValues).c_str()));
         pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange
         pModel.select();
 

--
Gitblit v1.8.0