From 5fa7c97d9544e7afdf781a93e8ffb58dce22c977 Mon Sep 17 00:00:00 2001
From: pansen <pansen626@sina.com>
Date: 星期五, 08 三月 2019 14:10:35 +0800
Subject: [PATCH] Merge branch 'yw.1.2.fixbug' of ssh://192.168.1.226:29418/development/c++ into yw.1.2

---
 QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h |   45 +++++++++++++++++++++++++++++----------------
 1 files changed, 29 insertions(+), 16 deletions(-)

diff --git a/QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h b/QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h
index 6898134..39fbb7f 100755
--- a/QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h
+++ b/QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h
@@ -14,18 +14,27 @@
 private:
     /** 鎽勫儚澶磋澶囨瀯閫犲嚱鏁� */
     CamDevSqliteDao() {}
+
 public:
     /** 鎽勫儚澶磋澶囧崟渚嬫ā寮� */
-    static CamDevSqliteDao* instance() {
+    static CamDevSqliteDao *instance() {
         static CamDevSqliteDao instance;
         return &instance;
     }
 
     /** 娣诲姞鎽勫儚澶磋澶� keyValuesToAdd 闇�瑕佹坊鍔犵殑鍒楀悕鍜屽垪鍊煎map*/
-    Json::Value addCamDev(std::map<std::string, std::string>& keyValuesToAdd) {
+    Json::Value addCamDev(std::map<std::string, std::string> &keyValuesToAdd) {
         Json::Value responseJsonValue;
         responseJsonValue["message"] = "娣诲姞澶辫触锛�";
         responseJsonValue["success"] = "false";
+
+        std::map<std::string, std::string> whereKeyValues;
+        whereKeyValues["cam_dev_id"] = keyValuesToAdd["cam_dev_id"];
+        if (this->findCamDevList(whereKeyValues)["data"].size() > 0) {
+            responseJsonValue["message"] = "cam_dev_id exist锛�";
+            return responseJsonValue;
+        }
+
         QMutexLocker mutexLocker(m_mutexVisit);//TODO
         QSqlTableModel pModel(NULL, *m_db);
 
@@ -34,16 +43,17 @@
 
         QSqlRecord rec = pModel.record();
         for (auto keyValueToAdd : keyValuesToAdd) {
-            rec.setValue(QString::fromUtf8(keyValueToAdd.first.c_str()), QString::fromUtf8(keyValueToAdd.second.c_str()));
+            rec.setValue(QString::fromUtf8(keyValueToAdd.first.c_str()),
+                         QString::fromUtf8(keyValueToAdd.second.c_str()));
         }
-        rec.setGenerated("ID", false);
+        rec.setGenerated("id", false);
 
         pModel.insertRecord(-1, rec);//TODO
-
         m_db->transaction();//寮�濮嬩簨鍔℃搷浣�
-
+        auto id1 = pModel.query().lastInsertId();
         if (pModel.submitAll()) {
             m_db->commit();//鎻愪氦
+            responseJsonValue["id"] = pModel.query().lastInsertId().toString().toStdString();
             responseJsonValue["success"] = "true";
             responseJsonValue["message"] = "娣诲姞鎴愬姛锛�";
         } else {
@@ -63,7 +73,7 @@
     }
 
     /** 鍒犻櫎鎽勫儚澶磋澶� whereKey 鍒楀悕锛泈hereValue 鍒楀�� */
-    Json::Value deleteCamDev(std::map<std::string, std::string>& whereKeyValues) {
+    Json::Value deleteCamDev(std::map<std::string, std::string> &whereKeyValues) {
 
         Json::Value responseJsonValue;
         responseJsonValue["message"] = "鍒犻櫎澶辫触锛�";
@@ -71,8 +81,9 @@
         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())));
+        for (auto whereKeyValue : whereKeyValues) {
+            pModel.setFilter(QObject::tr((string(whereKeyValue.first) + " = '%1'").c_str()).arg(
+                QString::fromUtf8(whereKeyValue.second.c_str())));
         }
         pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange
         pModel.select();
@@ -102,8 +113,8 @@
     }
 
     /** 鏇存柊鏈湴鍥芥爣閰嶇疆 keyValuesToUpdate 闇�瑕佹洿鏂扮殑鍒楀悕鍜屽垪鍊煎锛� whereKeyValues 鍒楀悕鍜屽垪鍊兼潯浠� */
-    Json::Value updateCamDev(std::map<std::string, std::string>& keyValuesToUpdate,
-                             std::map<std::string, std::string>& whereKeyValues) {
+    Json::Value updateCamDev(std::map<std::string, std::string> &keyValuesToUpdate,
+                             std::map<std::string, std::string> &whereKeyValues) {
         Json::Value responseJsonValue;
         responseJsonValue["message"] = "鏇存柊澶辫触锛�";
         responseJsonValue["success"] = "false";
@@ -111,7 +122,8 @@
         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((whereKeyValue.first + " = '%1'").c_str()).arg(
+                QString::fromStdString(whereKeyValue.second)));
         }
         pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange
         pModel.select();
@@ -152,7 +164,7 @@
     }
 
     /** 鏇存柊鎽勫儚澶磋澶� keyValuesToUpdate 闇�瑕佹洿鏂扮殑鍒楀悕鍜屽垪鍊煎锛� whereKeyValues 鍒楀悕鍜屽垪鍊兼潯浠� */
-    Json::Value updateCamDev(std::map<std::string, std::string>& keyValuesToUpdate,
+    Json::Value updateCamDev(std::map<std::string, std::string> &keyValuesToUpdate,
                              string whereKey,
                              string whereValue) {
         std::map<std::string, std::string> whereKeyValues;
@@ -161,7 +173,7 @@
     }
 
     /**鏌ヨ鎽勫儚澶磋澶囧垪琛� whereKeyValues 鍒楀悕鍜屽垪鍊煎鏉′欢 */
-    Json::Value findCamDevList(std::map<std::string, std::string>& whereKeyValues) {
+    Json::Value findCamDevList(std::map<std::string, std::string> &whereKeyValues) {
 
         Json::Value responseJsonValue;
         responseJsonValue["message"] = "鏌ヨ澶辫触锛�";
@@ -172,8 +184,9 @@
         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())));
+        for (auto whereKeyValue : whereKeyValues) {
+            pModel.setFilter(QObject::tr((string(whereKeyValue.first) + " = '%1'").c_str()).arg(
+                QString::fromUtf8(whereKeyValue.second.c_str())));
         }
         pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange
         pModel.select();

--
Gitblit v1.8.0