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