From 845c62691a5b19faf67775f712f294fa0d1789f6 Mon Sep 17 00:00:00 2001
From: xuxiuxi <554325746@qq.com>
Date: 星期一, 04 三月 2019 14:49:37 +0800
Subject: [PATCH] add and find by id for cam_dev

---
 QiaoJiaSystem/DataManagerServer/vss/controller/VssLocalSettingTblController.h |    7 
 QiaoJiaSystem/DataManagerServer/vss/dao/VssLocalSettingTblSqliteDao.h         |   67 ----
 QiaoJiaSystem/DataManagerServer/vss/model/CamDevBuilder.h                     |   76 +++++
 QiaoJiaSystem/DataManagerServer/vss/model/CamDev.h                            |   62 ++++
 QiaoJiaSystem/DataManagerServer/vss/test/CamDevSqliteDaoTest.h                |   74 ++++
 QiaoJiaSystem/DataManagerServer/vss/dao/BaseSqliteDao.h                       |   28 +
 QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h                     |  150 ++++++++++
 QiaoJiaSystem/DataManagerServer/vss/controller/CamDevController.h             |  424 ++++++++++++++++++++++++++++
 8 files changed, 822 insertions(+), 66 deletions(-)

diff --git a/QiaoJiaSystem/DataManagerServer/vss/controller/CamDevController.h b/QiaoJiaSystem/DataManagerServer/vss/controller/CamDevController.h
new file mode 100755
index 0000000..f268df2
--- /dev/null
+++ b/QiaoJiaSystem/DataManagerServer/vss/controller/CamDevController.h
@@ -0,0 +1,424 @@
+#ifndef CAMDEV_CONTROLLER_H
+#define CAMDEV_CONTROLLER_H
+
+#include <string>
+#include <DataManagerServer/http_configserver.h>
+#include "vss/dao/CamDevSqliteDao.h"
+#include "vss/model/CamDevBuilder.h"
+#include "vss/model/CamDev.h"
+#include "VssBaseController.h"
+#include <mysql++.h>
+
+using namespace std;
+
+/**
+ * 鎽勫儚澶磋澶�
+ */
+class CamDevController : public VssBaseController {
+private:
+	/** 鎽勫儚澶磋澶囨瀯閫犲嚱鏁� */
+	CamDevController() {}
+public:
+	/** 鎽勫儚澶磋澶囧崟渚嬫ā寮� */
+    static CamDevController* instance() {
+        static CamDevController instance;
+        return &instance;
+    }
+public:
+	/** 娉ㄥ唽{label}http鏈嶅姟 */
+    void registerHttpServices(HttpSrvRetRecieve& _HttpSrvRetRecieve) {
+
+	    _HttpSrvRetRecieve.setInfo("^/addCamDev$", "POST",
+	                               std::bind(&CamDevController::addCamDev, this,
+	                                         std::placeholders::_1, std::placeholders::_2,
+	                                         std::placeholders::_3, std::placeholders::_4));
+	
+	    _HttpSrvRetRecieve.setInfo("^/delCamDev$", "POST",
+	                               std::bind(&CamDevController::delCamDev, this,
+	                                         std::placeholders::_1, std::placeholders::_2,
+	                                         std::placeholders::_3, std::placeholders::_4));
+	
+	    _HttpSrvRetRecieve.setInfo("^/updateCamDev$", "POST",
+	                               std::bind(&CamDevController::updateCamDev, this,
+	                                         std::placeholders::_1, std::placeholders::_2,
+	                                         std::placeholders::_3, std::placeholders::_4));
+	
+	    _HttpSrvRetRecieve.setInfo("^/findCamDev$", "POST",
+	                               std::bind(&CamDevController::findCamDev, this,
+	                                         std::placeholders::_1, std::placeholders::_2,
+	                                         std::placeholders::_3, std::placeholders::_4));
+	
+	    _HttpSrvRetRecieve.setInfo("^/findCamDevList$", "POST",
+	                               std::bind(&CamDevController::findCamDevList, this,
+	                                         std::placeholders::_1, std::placeholders::_2,
+	                                         std::placeholders::_3, std::placeholders::_4));
+
+    }
+public:
+	/** 娣诲姞鎽勫儚澶磋澶� */
+    std::string addCamDev(std::string ip, unsigned int port, std::string content, PResponse &response) {
+        Json::Reader requestJsonReader;
+        Json::Value requestJsonValue;
+        Json::Value responseJsonValue;
+        responseJsonValue["message"] = "娣诲姞澶辫触锛�";
+        responseJsonValue["success"] = "false";
+        if (requestJsonReader.parse(content, requestJsonValue)) {
+            CamDevBuilder camDevBuilder;
+	    
+	    	Json::Value idJsonValue = requestJsonValue[CamDev_id];
+            if (idJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addid(std::stoi((idJsonValue.asString())));
+            }
+	    
+	    	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()));
+            }
+	    
+	    	Json::Value nameJsonValue = requestJsonValue[CamDev_name];
+            if (nameJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addname((nameJsonValue.asString()));
+            }
+	    
+	    	Json::Value addrJsonValue = requestJsonValue[CamDev_addr];
+            if (addrJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addaddr((addrJsonValue.asString()));
+            }
+	    
+	    	Json::Value longitudeJsonValue = requestJsonValue[CamDev_longitude];
+            if (longitudeJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addlongitude((longitudeJsonValue.asString()));
+            }
+	    
+	    	Json::Value latitudeJsonValue = requestJsonValue[CamDev_latitude];
+            if (latitudeJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addlatitude((latitudeJsonValue.asString()));
+            }
+	    
+	    	Json::Value ipJsonValue = requestJsonValue[CamDev_ip];
+            if (ipJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addip((ipJsonValue.asString()));
+            }
+	    
+	    	Json::Value portJsonValue = requestJsonValue[CamDev_port];
+            if (portJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addport(std::stoi((portJsonValue.asString())));
+            }
+	    
+	    	Json::Value usernameJsonValue = requestJsonValue[CamDev_username];
+            if (usernameJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addusername((usernameJsonValue.asString()));
+            }
+	    
+	    	Json::Value passwordJsonValue = requestJsonValue[CamDev_password];
+            if (passwordJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addpassword((passwordJsonValue.asString()));
+            }
+	    
+	    	Json::Value brandJsonValue = requestJsonValue[CamDev_brand];
+            if (brandJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addbrand((brandJsonValue.asString()));
+            }
+	    
+	    	Json::Value reservedJsonValue = requestJsonValue[CamDev_reserved];
+            if (reservedJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addreserved((reservedJsonValue.asString()));
+            }
+	    
+	    	Json::Value typeJsonValue = requestJsonValue[CamDev_type];
+            if (typeJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addtype((typeJsonValue.asString()));
+            }
+	    	auto keyValuesToAdd = camDevBuilder.buildCamDevMap();
+	    	if (keyValuesToAdd.size() > 0) {
+	            mysqlpp::SimpleResult addCamDevResult = CamDevSqliteDao::instance()->addCamDev(keyValuesToAdd);
+	            if (addCamDevResult.rows() > 0) {
+		        	responseJsonValue["success"] = "true";
+		        	responseJsonValue["message"] = "娣诲姞鎴愬姛锛�";
+	            }
+            }
+        }
+        return responseJsonValue.toStyledString();
+    }
+    
+    /** 鍒犻櫎鎽勫儚澶磋澶� */
+    std::string delCamDev(std::string ip, unsigned int port, std::string content, PResponse &response) {
+        Json::Reader requestJsonReader;
+        Json::Value requestJsonValue;
+        Json::Value responseJsonValue;
+        responseJsonValue["message"] = "鍒犻櫎澶辫触锛�";
+        responseJsonValue["success"] = "false";
+        if (requestJsonReader.parse(content, requestJsonValue)) {
+        	Json::Value iDJsonValue = requestJsonValue[CamDev_ID];
+        	if (iDJsonValue.type() != Json::ValueType::nullValue) {
+        		string iDValue = iDJsonValue.asString();
+                if (iDValue.size() > 0 && CamDevSqliteDao::instance()->deleteByColumn("ID", iDValue)) {
+        			responseJsonValue["success"] = "true";
+	                responseJsonValue["message"] = "鍒犻櫎鎴愬姛!";
+	            }
+            }
+            
+        }
+        return responseJsonValue.toStyledString();
+    }
+    
+    /** 鏇存柊鎽勫儚澶磋澶� */
+    std::string updateCamDev(std::string ip, unsigned int port, std::string content, PResponse &response) {
+        Json::Reader requestJsonReader;
+        Json::Value requestJsonValue;
+        Json::Value responseJsonValue;
+        responseJsonValue["message"] = "鏇存柊澶辫触锛�";
+        responseJsonValue["success"] = "false";
+        if (requestJsonReader.parse(content, requestJsonValue)) {
+            CamDevBuilder camDevBuilder;
+	    
+	    	Json::Value idJsonValue = requestJsonValue[CamDev_id];
+            if (idJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addid(std::stoi((idJsonValue.asString())));
+            }
+	    
+	    	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()));
+            }
+	    
+	    	Json::Value nameJsonValue = requestJsonValue[CamDev_name];
+            if (nameJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addname((nameJsonValue.asString()));
+            }
+	    
+	    	Json::Value addrJsonValue = requestJsonValue[CamDev_addr];
+            if (addrJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addaddr((addrJsonValue.asString()));
+            }
+	    
+	    	Json::Value longitudeJsonValue = requestJsonValue[CamDev_longitude];
+            if (longitudeJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addlongitude((longitudeJsonValue.asString()));
+            }
+	    
+	    	Json::Value latitudeJsonValue = requestJsonValue[CamDev_latitude];
+            if (latitudeJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addlatitude((latitudeJsonValue.asString()));
+            }
+	    
+	    	Json::Value ipJsonValue = requestJsonValue[CamDev_ip];
+            if (ipJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addip((ipJsonValue.asString()));
+            }
+	    
+	    	Json::Value portJsonValue = requestJsonValue[CamDev_port];
+            if (portJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addport(std::stoi((portJsonValue.asString())));
+            }
+	    
+	    	Json::Value usernameJsonValue = requestJsonValue[CamDev_username];
+            if (usernameJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addusername((usernameJsonValue.asString()));
+            }
+	    
+	    	Json::Value passwordJsonValue = requestJsonValue[CamDev_password];
+            if (passwordJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addpassword((passwordJsonValue.asString()));
+            }
+	    
+	    	Json::Value brandJsonValue = requestJsonValue[CamDev_brand];
+            if (brandJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addbrand((brandJsonValue.asString()));
+            }
+	    
+	    	Json::Value reservedJsonValue = requestJsonValue[CamDev_reserved];
+            if (reservedJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addreserved((reservedJsonValue.asString()));
+            }
+	    
+	    	Json::Value typeJsonValue = requestJsonValue[CamDev_type];
+            if (typeJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addtype((typeJsonValue.asString()));
+            }
+        	if (iDJsonValue.type() != Json::ValueType::nullValue) {
+        		string iDValue = iDJsonValue.asString();
+                if (iDValue.size() > 0 && CamDevSqliteDao::instance()->updateCamDev(camDevBuilder.buildCamDevMap(), "ID", iDValue)) {
+        			responseJsonValue["success"] = "true";
+        			responseJsonValue["message"] = "鏇存柊鎴愬姛锛�";
+	            }
+            }
+        }
+        return responseJsonValue.toStyledString();
+    }
+    
+    /** 鏌ユ壘鍗曚釜鎽勫儚澶磋澶� */
+    std::string findCamDev(std::string ip, unsigned int port, std::string content, PResponse &response) {
+        Json::Reader requestJsonReader;
+        Json::Value requestJsonValue;
+        Json::Value responseJsonValue;
+        responseJsonValue["message"] = "鏌ヨ澶辫触锛�";
+        responseJsonValue["success"] = "false";
+        if (requestJsonReader.parse(content, requestJsonValue)) {
+            CamDevBuilder camDevBuilder;
+	    
+	    	Json::Value idJsonValue = requestJsonValue[CamDev_id];
+            if (idJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addid(std::stoi((idJsonValue.asString())));
+            }
+	    
+	    	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()));
+            }
+	    
+	    	Json::Value nameJsonValue = requestJsonValue[CamDev_name];
+            if (nameJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addname((nameJsonValue.asString()));
+            }
+	    
+	    	Json::Value addrJsonValue = requestJsonValue[CamDev_addr];
+            if (addrJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addaddr((addrJsonValue.asString()));
+            }
+	    
+	    	Json::Value longitudeJsonValue = requestJsonValue[CamDev_longitude];
+            if (longitudeJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addlongitude((longitudeJsonValue.asString()));
+            }
+	    
+	    	Json::Value latitudeJsonValue = requestJsonValue[CamDev_latitude];
+            if (latitudeJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addlatitude((latitudeJsonValue.asString()));
+            }
+	    
+	    	Json::Value ipJsonValue = requestJsonValue[CamDev_ip];
+            if (ipJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addip((ipJsonValue.asString()));
+            }
+	    
+	    	Json::Value portJsonValue = requestJsonValue[CamDev_port];
+            if (portJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addport(std::stoi((portJsonValue.asString())));
+            }
+	    
+	    	Json::Value usernameJsonValue = requestJsonValue[CamDev_username];
+            if (usernameJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addusername((usernameJsonValue.asString()));
+            }
+	    
+	    	Json::Value passwordJsonValue = requestJsonValue[CamDev_password];
+            if (passwordJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addpassword((passwordJsonValue.asString()));
+            }
+	    
+	    	Json::Value brandJsonValue = requestJsonValue[CamDev_brand];
+            if (brandJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addbrand((brandJsonValue.asString()));
+            }
+	    
+	    	Json::Value reservedJsonValue = requestJsonValue[CamDev_reserved];
+            if (reservedJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addreserved((reservedJsonValue.asString()));
+            }
+	    
+	    	Json::Value typeJsonValue = requestJsonValue[CamDev_type];
+            if (typeJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addtype((typeJsonValue.asString()));
+            }
+	        responseJsonValue["message"] = "鏌ヨ鎴愬姛锛�";
+	        responseJsonValue["success"] = "true";
+	    	responseJsonValue["data"] = CamDevSqliteDao::instance()->findJsonArray(string("select * from ") + CamDev_TABLE_NAME + " where 1 = 1 limit 1");
+        }
+        return responseJsonValue.toStyledString();
+    }
+    
+    /** 鏌ユ壘鎽勫儚澶磋澶囧垪琛� */
+    std::string findCamDevList(std::string ip, unsigned int port, std::string content, PResponse &response) {
+        Json::Reader requestJsonReader;
+        Json::Value requestJsonValue;
+        Json::Value responseJsonValue;
+        responseJsonValue["message"] = "鏌ヨ澶辫触锛�";
+        responseJsonValue["success"] = "false";
+        if (content == "" || requestJsonReader.parse(content, requestJsonValue)) {
+            CamDevBuilder camDevBuilder;
+	    
+	    	Json::Value idJsonValue = requestJsonValue[CamDev_id];
+            if (idJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addid(std::stoi((idJsonValue.asString())));
+            }
+	    
+	    	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()));
+            }
+	    
+	    	Json::Value nameJsonValue = requestJsonValue[CamDev_name];
+            if (nameJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addname((nameJsonValue.asString()));
+            }
+	    
+	    	Json::Value addrJsonValue = requestJsonValue[CamDev_addr];
+            if (addrJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addaddr((addrJsonValue.asString()));
+            }
+	    
+	    	Json::Value longitudeJsonValue = requestJsonValue[CamDev_longitude];
+            if (longitudeJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addlongitude((longitudeJsonValue.asString()));
+            }
+	    
+	    	Json::Value latitudeJsonValue = requestJsonValue[CamDev_latitude];
+            if (latitudeJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addlatitude((latitudeJsonValue.asString()));
+            }
+	    
+	    	Json::Value ipJsonValue = requestJsonValue[CamDev_ip];
+            if (ipJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addip((ipJsonValue.asString()));
+            }
+	    
+	    	Json::Value portJsonValue = requestJsonValue[CamDev_port];
+            if (portJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addport(std::stoi((portJsonValue.asString())));
+            }
+	    
+	    	Json::Value usernameJsonValue = requestJsonValue[CamDev_username];
+            if (usernameJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addusername((usernameJsonValue.asString()));
+            }
+	    
+	    	Json::Value passwordJsonValue = requestJsonValue[CamDev_password];
+            if (passwordJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addpassword((passwordJsonValue.asString()));
+            }
+	    
+	    	Json::Value brandJsonValue = requestJsonValue[CamDev_brand];
+            if (brandJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addbrand((brandJsonValue.asString()));
+            }
+	    
+	    	Json::Value reservedJsonValue = requestJsonValue[CamDev_reserved];
+            if (reservedJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addreserved((reservedJsonValue.asString()));
+            }
+	    
+	    	Json::Value typeJsonValue = requestJsonValue[CamDev_type];
+            if (typeJsonValue.type() != Json::ValueType::nullValue) {
+                camDevBuilder.addtype((typeJsonValue.asString()));
+            }
+	        responseJsonValue["message"] = "鏌ヨ鎴愬姛锛�";
+	        responseJsonValue["success"] = "true";
+	    	responseJsonValue["data"] = CamDevSqliteDao::instance()->findJsonArray(string("select * from ") + CamDev_TABLE_NAME + " where 1 = 1");
+
+        }
+        return responseJsonValue.toStyledString();
+    }
+};
+
+
+
+
+
+
+#endif //CAMDEV_CONTROLLER_H
+
+
+
+
+
diff --git a/QiaoJiaSystem/DataManagerServer/vss/controller/VssLocalSettingTblController.h b/QiaoJiaSystem/DataManagerServer/vss/controller/VssLocalSettingTblController.h
index 589e536..13c8d09 100755
--- a/QiaoJiaSystem/DataManagerServer/vss/controller/VssLocalSettingTblController.h
+++ b/QiaoJiaSystem/DataManagerServer/vss/controller/VssLocalSettingTblController.h
@@ -172,10 +172,7 @@
             }
         	if (iDJsonValue.type() != Json::ValueType::nullValue) {
         		string iDValue = iDJsonValue.asString();
-                if (iDValue.size() > 0 && VssLocalSettingTblSqliteDao::instance()->updateVssLocalSettingTbl(vssLocalSettingTblBuilder.buildVssLocalSettingTblMap(), "ID", iDValue)) {
-        			responseJsonValue["success"] = "true";
-        			responseJsonValue["message"] = "鏇存柊鎴愬姛锛�";
-	            }
+                responseJsonValue = VssLocalSettingTblSqliteDao::instance()->updateVssLocalSettingTbl(vssLocalSettingTblBuilder.buildVssLocalSettingTblMap(), "ID", iDValue);
             }
         }
         return responseJsonValue.toStyledString();
@@ -227,7 +224,7 @@
             }
 	        responseJsonValue["message"] = "鏌ヨ鎴愬姛锛�";
 	        responseJsonValue["success"] = "true";
-	    	responseJsonValue["data"] = VssLocalSettingTblSqliteDao::instance()->findJsonArray(string("select * from ") + VSSLocalSettingTbl_TABLE_NAME + " where 1 = 1 limit 1");
+            responseJsonValue = VssLocalSettingTblSqliteDao::instance()->findVssLocalSettingTblList(vssLocalSettingTblBuilder.buildVssLocalSettingTblMap());
         }
         return responseJsonValue.toStyledString();
     }
diff --git a/QiaoJiaSystem/DataManagerServer/vss/dao/BaseSqliteDao.h b/QiaoJiaSystem/DataManagerServer/vss/dao/BaseSqliteDao.h
new file mode 100644
index 0000000..88ae76a
--- /dev/null
+++ b/QiaoJiaSystem/DataManagerServer/vss/dao/BaseSqliteDao.h
@@ -0,0 +1,28 @@
+#ifndef QIAOJIASYSTEM_BASESQLITEDAO_H
+#define QIAOJIASYSTEM_BASESQLITEDAO_H
+
+
+
+class BaseSqliteDao {
+protected:
+public:
+
+    static LDBTool* lDBTool;
+
+    static QSqlDatabase* m_db;
+    static QSqlTableModel *m_pModel;
+    static QMutex* m_mutexVisit;
+    static void setLDBTool(LDBTool* lDBTool) {
+        BaseSqliteDao::lDBTool = lDBTool;
+        BaseSqliteDao::m_db = lDBTool->get_m_db();
+        BaseSqliteDao::m_pModel = lDBTool->get_m_pModel();
+        BaseSqliteDao::m_mutexVisit = lDBTool->get_m_mutexVisit();
+    }
+};
+
+LDBTool* BaseSqliteDao::lDBTool = nullptr;
+QSqlDatabase* BaseSqliteDao::m_db = nullptr;
+QSqlTableModel *BaseSqliteDao::m_pModel = nullptr;
+QMutex* BaseSqliteDao::m_mutexVisit = nullptr;
+
+#endif //QIAOJIASYSTEM_BASESQLITEDAO_H
diff --git a/QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h b/QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h
new file mode 100755
index 0000000..8657c45
--- /dev/null
+++ b/QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h
@@ -0,0 +1,150 @@
+
+#ifndef CAMDEV_MANAGER_H
+#define CAMDEV_MANAGER_H
+
+#include "../model/CamDev.h"
+#include "BaseSqliteDao.h"
+
+#define CamDev_TABLE_NAME "CamDev"
+
+/**
+ * 鎽勫儚澶磋澶囩鐞嗙被
+ */
+class CamDevSqliteDao : public BaseSqliteDao {
+private:
+	/** 鎽勫儚澶磋澶囨瀯閫犲嚱鏁� */
+	CamDevSqliteDao() {}
+public:
+	/** 鎽勫儚澶磋澶囧崟渚嬫ā寮� */
+    static CamDevSqliteDao* instance() {
+        static CamDevSqliteDao instance;
+        return &instance;
+    }
+    
+    /** 娣诲姞鎽勫儚澶磋澶� keyValuesToAdd 闇�瑕佹坊鍔犵殑鍒楀悕鍜屽垪鍊煎map*/
+    mysqlpp::SimpleResult addCamDev(std::map<std::string, std::string>& keyValuesToAdd) {
+        return add(keyValuesToAdd, CamDev_TABLE_NAME);
+    }
+    
+    /** 鍒犻櫎鎽勫儚澶磋澶� whereKey 鍒楀悕锛泈hereValue 鍒楀�� */
+    bool deleteByColumn(string whereKey, string whereValue) {
+        std::map<std::string, std::string> whereKeyValues;
+        whereKeyValues[whereKey] = whereValue;
+        return deleteCamDev(whereKeyValues);
+    }
+
+    /** 鍒犻櫎鎽勫儚澶磋澶� whereColumnNameValues 鍒楀悕鍜屽垪鍊煎鏉′欢 */
+    bool deleteCamDev(std::map<std::string, std::string>& whereKeyValues) {
+        return del(CamDev_TABLE_NAME, whereKeyValues);
+    }
+    
+    /** 鏇存柊鎽勫儚澶磋澶� keyValuesToUpdate 闇�瑕佹洿鏂扮殑鍒楀悕鍜屽垪鍊煎锛� whereKeyValues 鍒楀悕鍜屽垪鍊兼潯浠� */
+	bool updateCamDev(std::map<std::string, std::string>& keyValuesToUpdate, 
+									std::map<std::string, std::string>& whereKeyValues) {
+		return update(keyValuesToUpdate, CamDev_TABLE_NAME, whereKeyValues);
+	}
+	
+    /** 鏇存柊鍒涘缓浜岀骇璁惧琛� keyValuesToUpdate 闇�瑕佹洿鏂扮殑鍒楀悕鍜屽垪鍊煎锛� whereKeyValues 鍒楀悕鍜屽垪鍊兼潯浠� */
+    bool updateCamDev(std::map<std::string, std::string>& keyValuesToUpdate,
+                             string whereKey,
+                             string whereValue) {
+        std::map<std::string, std::string> whereKeyValues;
+        whereKeyValues[whereKey] = whereValue;
+        return update(keyValuesToUpdate, CamDev_TABLE_NAME, whereKeyValues);
+    }
+	
+	/** 鏌ヨ鎽勫儚澶磋澶囧垪琛�  querySql 瑕佹煡璇㈢殑sql璇彞 */
+	vector<CamDev> findCamDevList(string querySql) {
+        vector<CamDev> camDevVec;
+        vector<map<string, string>> rowDatList = findList(querySql);
+        camDevVec.reserve(rowDatList.size());
+        for (auto rowData : rowDatList) {
+            camDevVec.emplace_back(mapToModel(rowData));
+        }
+        return camDevVec;
+	}
+	
+    /**鏌ヨ鎽勫儚澶磋澶囧垪琛� whereKeyValues 鍒楀悕鍜屽垪鍊煎鏉′欢 */
+    vector<CamDev> findCamDevList(std::map<std::string, std::string>& whereKeyValues) {
+        return findCamDevList(string("select * from ") + CamDev_TABLE_NAME + " where 1=1 " + getWhereColumnNameValuePair(whereKeyValues));
+    }
+    
+    /**鏌ヨ鎵�鏈夋憚鍍忓ご璁惧鍒楄〃 */
+    vector<CamDev> findAllCamDevList() {
+        return findCamDevList(string("select * from ") + CamDev_TABLE_NAME + " where 1=1 ");
+    }
+	
+	/** 鏌ヨmap鍒楄〃 querySql 瑕佹煡璇㈢殑sql璇彞 */
+	vector<map<string, string>> findMapList(string querySql) {
+		return findList(querySql);
+	}
+    
+    /** 鎵цsql璇彞 */
+    bool execute(string sql) {
+        return exec(move(sql));
+    }
+    
+    /** map杞琺odel绫� */
+    CamDev mapToModel(map<string, string>& rowData) {
+        CamDev camDev;
+        string idValue = rowData[CamDev_id];
+        if (idValue.length() != 0 && idValue != "NULL") {
+            camDev.id = std::stoi(idValue);
+        }
+        string cam_dev_idValue = rowData[CamDev_cam_dev_id];
+        if (cam_dev_idValue.length() != 0 && cam_dev_idValue != "NULL") {
+            camDev.cam_dev_id = cam_dev_idValue;
+        }
+        string nameValue = rowData[CamDev_name];
+        if (nameValue.length() != 0 && nameValue != "NULL") {
+            camDev.name = nameValue;
+        }
+        string addrValue = rowData[CamDev_addr];
+        if (addrValue.length() != 0 && addrValue != "NULL") {
+            camDev.addr = addrValue;
+        }
+        string longitudeValue = rowData[CamDev_longitude];
+        if (longitudeValue.length() != 0 && longitudeValue != "NULL") {
+            camDev.longitude = longitudeValue;
+        }
+        string latitudeValue = rowData[CamDev_latitude];
+        if (latitudeValue.length() != 0 && latitudeValue != "NULL") {
+            camDev.latitude = latitudeValue;
+        }
+        string ipValue = rowData[CamDev_ip];
+        if (ipValue.length() != 0 && ipValue != "NULL") {
+            camDev.ip = ipValue;
+        }
+        string portValue = rowData[CamDev_port];
+        if (portValue.length() != 0 && portValue != "NULL") {
+            camDev.port = std::stoi(portValue);
+        }
+        string usernameValue = rowData[CamDev_username];
+        if (usernameValue.length() != 0 && usernameValue != "NULL") {
+            camDev.username = usernameValue;
+        }
+        string passwordValue = rowData[CamDev_password];
+        if (passwordValue.length() != 0 && passwordValue != "NULL") {
+            camDev.password = passwordValue;
+        }
+        string brandValue = rowData[CamDev_brand];
+        if (brandValue.length() != 0 && brandValue != "NULL") {
+            camDev.brand = brandValue;
+        }
+        string reservedValue = rowData[CamDev_reserved];
+        if (reservedValue.length() != 0 && reservedValue != "NULL") {
+            camDev.reserved = reservedValue;
+        }
+        string typeValue = rowData[CamDev_type];
+        if (typeValue.length() != 0 && typeValue != "NULL") {
+            camDev.type = typeValue;
+        }
+        return camDev;
+    }
+   
+};
+
+
+#endif //CAMDEV_MANAGER_H
+
+
diff --git a/QiaoJiaSystem/DataManagerServer/vss/dao/VssLocalSettingTblSqliteDao.h b/QiaoJiaSystem/DataManagerServer/vss/dao/VssLocalSettingTblSqliteDao.h
index 7592a5a..4096fa0 100755
--- a/QiaoJiaSystem/DataManagerServer/vss/dao/VssLocalSettingTblSqliteDao.h
+++ b/QiaoJiaSystem/DataManagerServer/vss/dao/VssLocalSettingTblSqliteDao.h
@@ -3,7 +3,7 @@
 #define VSSLOCALSETTINGTBL_Sqlite_MANAGER_H
 
 #include "../model/VssLocalSettingTbl.h"
-#include "BaseDao.h"
+#include "BaseSqliteDao.h"
 
 #define VSSLocalSettingTbl_Sqlite_TABLE_NAME "VSSLocalSettingTbl"
 
@@ -11,23 +11,11 @@
 /**
  * 鏈湴鍥芥爣閰嶇疆绠$悊绫�
  */
-class VssLocalSettingTblSqliteDao : public BaseDao {
+class VssLocalSettingTblSqliteDao : public BaseSqliteDao {
 private:
 	/** 鏈湴鍥芥爣閰嶇疆鏋勯�犲嚱鏁� */
 	VssLocalSettingTblSqliteDao() {}
-private:
-    LDBTool* lDBTool;
 
-    QSqlDatabase* m_db;
-    QSqlTableModel *m_pModel;
-    QMutex* m_mutexVisit;
-public:
-    void setLDBTool(LDBTool* lDBTool) {
-	    this->lDBTool = lDBTool;
-	    this->m_db = lDBTool->get_m_db();
-	    this->m_pModel = lDBTool->get_m_pModel();
-	    this->m_mutexVisit = lDBTool->get_m_mutexVisit();
-	}
 public:
 	/** 鏈湴鍥芥爣閰嶇疆鍗曚緥妯″紡 */
     static VssLocalSettingTblSqliteDao* instance() {
@@ -119,7 +107,7 @@
     Json::Value updateVssLocalSettingTbl(std::map<std::string, std::string>& keyValuesToUpdate,
 									std::map<std::string, std::string>& whereKeyValues) {
         Json::Value responseJsonValue;
-        responseJsonValue["message"] = "鍒犻櫎澶辫触锛�";
+        responseJsonValue["message"] = "鏇存柊澶辫触锛�";
         responseJsonValue["success"] = "false";
         QMutexLocker mutexLocker(m_mutexVisit);//TODO
         QSqlTableModel pModel(NULL, *m_db);
@@ -157,7 +145,7 @@
         if (pModel.submitAll()) {
             m_db->commit();//鎻愪氦
             responseJsonValue["success"] = "true";
-            responseJsonValue["message"] = "鍒犻櫎鎴愬姛锛�";
+            responseJsonValue["message"] = "鏇存柊鎴愬姛锛�";
         } else {
             m_db->rollback();//鍥炴粴
             ERR("updateLDeviceTable ,pModel_load Error: " << pModel.lastError().text().toStdString());
@@ -166,12 +154,12 @@
 	}
 
     /** 鏇存柊鍒涘缓浜岀骇璁惧琛� keyValuesToUpdate 闇�瑕佹洿鏂扮殑鍒楀悕鍜屽垪鍊煎锛� whereKeyValues 鍒楀悕鍜屽垪鍊兼潯浠� */
-    bool updateVssLocalSettingTbl(std::map<std::string, std::string>& keyValuesToUpdate,
+    Json::Value updateVssLocalSettingTbl(std::map<std::string, std::string>& keyValuesToUpdate,
                              string whereKey,
                              string whereValue) {
         std::map<std::string, std::string> whereKeyValues;
         whereKeyValues[whereKey] = whereValue;
-        return update(keyValuesToUpdate, VSSLocalSettingTbl_TABLE_NAME, whereKeyValues);
+        return updateVssLocalSettingTbl(keyValuesToUpdate, whereKeyValues);
     }
 
 	/** 鏌ヨ鏈湴鍥芥爣閰嶇疆鍒楄〃  querySql 瑕佹煡璇㈢殑sql璇彞 */
@@ -219,49 +207,6 @@
         return findVssLocalSettingTblList(whereKeyValues);
     }
 
-	/** 鏌ヨmap鍒楄〃 querySql 瑕佹煡璇㈢殑sql璇彞 */
-	vector<map<string, string>> findMapList(string querySql) {
-		return findList(querySql);
-	}
-
-    /** 鎵цsql璇彞 */
-    bool execute(string sql) {
-        return exec(move(sql));
-    }
-
-    /** map杞琺odel绫� */
-    VssLocalSettingTbl mapToModel(map<string, string>& rowData) {
-        VssLocalSettingTbl vssLocalSettingTbl;
-        string IDValue = rowData[VssLocalSettingTbl_ID];
-        if (IDValue.length() != 0 && IDValue != "NULL") {
-            vssLocalSettingTbl.ID = std::stoi(IDValue);
-        }
-        string ServerIpValue = rowData[VssLocalSettingTbl_ServerIp];
-        if (ServerIpValue.length() != 0 && ServerIpValue != "NULL") {
-            vssLocalSettingTbl.ServerIp = ServerIpValue;
-        }
-        string ServerPortValue = rowData[VssLocalSettingTbl_ServerPort];
-        if (ServerPortValue.length() != 0 && ServerPortValue != "NULL") {
-            vssLocalSettingTbl.ServerPort = ServerPortValue;
-        }
-        string ServerIdValue = rowData[VssLocalSettingTbl_ServerId];
-        if (ServerIdValue.length() != 0 && ServerIdValue != "NULL") {
-            vssLocalSettingTbl.ServerId = ServerIdValue;
-        }
-        string UserAuthIdValue = rowData[VssLocalSettingTbl_UserAuthId];
-        if (UserAuthIdValue.length() != 0 && UserAuthIdValue != "NULL") {
-            vssLocalSettingTbl.UserAuthId = UserAuthIdValue;
-        }
-        string PasswordValue = rowData[VssLocalSettingTbl_Password];
-        if (PasswordValue.length() != 0 && PasswordValue != "NULL") {
-            vssLocalSettingTbl.Password = PasswordValue;
-        }
-        string UpdateTimeValue = rowData[VssLocalSettingTbl_UpdateTime];
-        if (UpdateTimeValue.length() != 0 && UpdateTimeValue != "NULL") {
-            vssLocalSettingTbl.UpdateTime = UpdateTimeValue;
-        }
-        return vssLocalSettingTbl;
-    }
 
 };
 
diff --git a/QiaoJiaSystem/DataManagerServer/vss/model/CamDev.h b/QiaoJiaSystem/DataManagerServer/vss/model/CamDev.h
new file mode 100755
index 0000000..dad8374
--- /dev/null
+++ b/QiaoJiaSystem/DataManagerServer/vss/model/CamDev.h
@@ -0,0 +1,62 @@
+
+#ifndef CAMDEV_H
+#define CAMDEV_H
+#include <mysql++.h>
+#include <string>
+using std::string;
+
+#define CamDev_id "id"
+#define CamDev_cam_dev_id "cam_dev_id"
+#define CamDev_name "name"
+#define CamDev_addr "addr"
+#define CamDev_longitude "longitude"
+#define CamDev_latitude "latitude"
+#define CamDev_ip "ip"
+#define CamDev_port "port"
+#define CamDev_username "username"
+#define CamDev_password "password"
+#define CamDev_brand "brand"
+#define CamDev_reserved "reserved"
+#define CamDev_type "type"
+
+/**
+ * 鎽勫儚澶磋澶�
+ */
+class CamDev {
+public:
+	int id                   ; 
+	std::string cam_dev_id   ; 
+	std::string name         ; 
+	std::string addr         ; 
+	std::string longitude    ; 
+	std::string latitude     ; 
+	std::string ip           ; 
+	int port                 ; 
+	std::string username     ; 
+	std::string password     ; 
+	std::string brand        ; 
+	std::string reserved     ; 
+	std::string type         ; 
+public:
+	/** 鎽勫儚澶磋澶� 鏋勯�犲嚱鏁�*/
+	CamDev() {
+		id = 0                   ;
+		cam_dev_id = ""          ;
+		name = ""                ;
+		addr = ""                ;
+		longitude = ""           ;
+		latitude = ""            ;
+		ip = ""                  ;
+		port = 0                 ;
+		username = ""            ;
+		password = ""            ;
+		brand = ""               ;
+		reserved = ""            ;
+		type = ""                ;
+	}
+};
+
+
+#endif //CAMDEV_H
+
+
diff --git a/QiaoJiaSystem/DataManagerServer/vss/model/CamDevBuilder.h b/QiaoJiaSystem/DataManagerServer/vss/model/CamDevBuilder.h
new file mode 100755
index 0000000..0f2e33d
--- /dev/null
+++ b/QiaoJiaSystem/DataManagerServer/vss/model/CamDevBuilder.h
@@ -0,0 +1,76 @@
+
+#ifndef CAMDEV_BUILDER_H
+#define CAMDEV_BUILDER_H
+#include <string>
+#include <vector>
+#include "CamDev.h"
+using namespace std;
+
+/**
+ * 鎽勫儚澶磋澶囨瀯寤哄櫒
+ */
+class CamDevBuilder {
+public:
+    CamDevBuilder& addid(int id) {
+        camDevMap[CamDev_id] = to_string(id);
+        return *this;
+    }
+    CamDevBuilder& addcam_dev_id(std::string cam_dev_id) {
+        camDevMap[CamDev_cam_dev_id] = cam_dev_id;
+        return *this;
+    }
+    CamDevBuilder& addname(std::string name) {
+        camDevMap[CamDev_name] = name;
+        return *this;
+    }
+    CamDevBuilder& addaddr(std::string addr) {
+        camDevMap[CamDev_addr] = addr;
+        return *this;
+    }
+    CamDevBuilder& addlongitude(std::string longitude) {
+        camDevMap[CamDev_longitude] = longitude;
+        return *this;
+    }
+    CamDevBuilder& addlatitude(std::string latitude) {
+        camDevMap[CamDev_latitude] = latitude;
+        return *this;
+    }
+    CamDevBuilder& addip(std::string ip) {
+        camDevMap[CamDev_ip] = ip;
+        return *this;
+    }
+    CamDevBuilder& addport(int port) {
+        camDevMap[CamDev_port] = to_string(port);
+        return *this;
+    }
+    CamDevBuilder& addusername(std::string username) {
+        camDevMap[CamDev_username] = username;
+        return *this;
+    }
+    CamDevBuilder& addpassword(std::string password) {
+        camDevMap[CamDev_password] = password;
+        return *this;
+    }
+    CamDevBuilder& addbrand(std::string brand) {
+        camDevMap[CamDev_brand] = brand;
+        return *this;
+    }
+    CamDevBuilder& addreserved(std::string reserved) {
+        camDevMap[CamDev_reserved] = reserved;
+        return *this;
+    }
+    CamDevBuilder& addtype(std::string type) {
+        camDevMap[CamDev_type] = type;
+        return *this;
+    }
+	/** 鎽勫儚澶磋澶� map */
+	std::map<std::string, std::string>& buildCamDevMap() {
+		return camDevMap;
+	}
+public:
+    std::map<std::string, std::string> camDevMap;
+};
+
+#endif //CAMDEV_BUILDER_H
+
+
diff --git a/QiaoJiaSystem/DataManagerServer/vss/test/CamDevSqliteDaoTest.h b/QiaoJiaSystem/DataManagerServer/vss/test/CamDevSqliteDaoTest.h
new file mode 100755
index 0000000..e146886
--- /dev/null
+++ b/QiaoJiaSystem/DataManagerServer/vss/test/CamDevSqliteDaoTest.h
@@ -0,0 +1,74 @@
+
+#ifndef CAMDEV_MANAGER_TEST_H
+#define CAMDEV_MANAGER_TEST_H
+
+#include "../model/CamDev.h"
+#include "../model/CamDevBuilder.h"
+#include "../dao/CamDevSqliteDao.h"
+#include <basic/debug/Debug.h>
+
+/**
+ * 娴嬭瘯鎽勫儚澶磋澶囩鐞嗙被
+ */
+class CamDevSqliteDaoTest {
+private:
+	/** 鎽勫儚澶磋澶嘢qliteDaoTest鏋勯�犲嚱鏁� */
+	CamDevSqliteDaoTest() {}
+public:
+	/** 鎽勫儚澶磋澶嘢qliteDaoTest鍗曚緥妯″紡 */
+    static CamDevSqliteDaoTest* instance() {
+        static CamDevSqliteDaoTest instance;
+        return &instance;
+    }
+
+	/** 娴嬭瘯娣诲姞鎽勫儚澶磋澶� */
+    void testAddCamDev() {
+        CamDevBuilder camDevBuilder;
+    	camDevBuilder.addid(0);
+    	camDevBuilder.addcam_dev_id("");
+    	camDevBuilder.addname("");
+    	camDevBuilder.addaddr("");
+    	camDevBuilder.addlongitude("");
+    	camDevBuilder.addlatitude("");
+    	camDevBuilder.addip("");
+    	camDevBuilder.addport(0);
+    	camDevBuilder.addusername("");
+    	camDevBuilder.addpassword("");
+    	camDevBuilder.addbrand("");
+    	camDevBuilder.addreserved("");
+    	camDevBuilder.addtype("");
+        CamDevSqliteDao::instance()->addCamDev(camDevBuilder.buildCamDevMap());
+    }
+    
+    /** 娴嬭瘯鏇存柊鎽勫儚澶磋澶� */
+    void testUpdateCamDev() {
+        CamDevBuilder camDevBuilder;
+    	camDevBuilder.addid(0);
+    	camDevBuilder.addcam_dev_id("");
+    	camDevBuilder.addname("");
+    	camDevBuilder.addaddr("");
+    	camDevBuilder.addlongitude("");
+    	camDevBuilder.addlatitude("");
+    	camDevBuilder.addip("");
+    	camDevBuilder.addport(0);
+    	camDevBuilder.addusername("");
+    	camDevBuilder.addpassword("");
+    	camDevBuilder.addbrand("");
+    	camDevBuilder.addreserved("");
+    	camDevBuilder.addtype("");
+    
+        CamDevSqliteDao::instance()->updateCamDev(camDevBuilder.buildCamDevMap(),
+                                                  camDevBuilder.buildCamDevMap());
+    }
+    
+    /** 娴嬭瘯鏌ヨ鎽勫儚澶磋澶囧垪琛�*/
+    void testFindCamDevList() {
+        vector<CamDev> camDevVec = CamDevSqliteDao::instance()->findAllCamDevList();
+    }
+    
+private:
+	
+};
+
+#endif //CAMDEV_MANAGER_TEST_H
+

--
Gitblit v1.8.0