From 91c3b892e976ecf33819c0c2664e4dfcfd88e434 Mon Sep 17 00:00:00 2001
From: chenshijun <csj_sky@126.com>
Date: 星期六, 30 三月 2019 17:45:59 +0800
Subject: [PATCH] 添加新版本的GB28181代码
---
QiaoJiaSystem/DataManagerServer/vss/dao/VssDevTblDao.h | 305 +++++++++++++++++++++++++++-----------------------
1 files changed, 163 insertions(+), 142 deletions(-)
diff --git a/QiaoJiaSystem/DataManagerServer/vss/dao/VssDevTblDao.h b/QiaoJiaSystem/DataManagerServer/vss/dao/VssDevTblDao.h
index 3cd1fbb..ad688f8 100755
--- a/QiaoJiaSystem/DataManagerServer/vss/dao/VssDevTblDao.h
+++ b/QiaoJiaSystem/DataManagerServer/vss/dao/VssDevTblDao.h
@@ -1,142 +1,163 @@
-
-#ifndef VSSDEVTBL_MANAGER_H
-#define VSSDEVTBL_MANAGER_H
-
-#include "../model/VssDevTbl.h"
-#include "BaseDao.h"
-
-#define VSSDevTbl_TABLE_NAME "VSSDevTbl"
-
-/**
- * 鍒涘缓涓�绾ц澶囪〃绠$悊绫�
- */
-class VssDevTblDao : public BaseDao {
-private:
- /** 鍒涘缓涓�绾ц澶囪〃鏋勯�犲嚱鏁� */
- VssDevTblDao() {}
-public:
- /** 鍒涘缓涓�绾ц澶囪〃鍗曚緥妯″紡 */
- static VssDevTblDao* instance() {
- static VssDevTblDao instance;
- return &instance;
- }
-
- /** 娣诲姞鍒涘缓涓�绾ц澶囪〃 keyValuesToAdd 闇�瑕佹坊鍔犵殑鍒楀悕鍜屽垪鍊煎map*/
- mysqlpp::SimpleResult addVssDevTbl(std::map<std::string, std::string>& keyValuesToAdd) {
- return add(keyValuesToAdd, VSSDevTbl_TABLE_NAME);
- }
-
- /** 鍒犻櫎鍒涘缓涓�绾ц澶囪〃 whereKey 鍒楀悕锛泈hereValue 鍒楀�� */
- bool deleteByColumn(string whereKey, string whereValue) {
- std::map<std::string, std::string> whereKeyValues;
- whereKeyValues[whereKey] = whereValue;
- return deleteVssDevTbl(whereKeyValues);
- }
-
- /** 鍒犻櫎鍒涘缓涓�绾ц澶囪〃 whereColumnNameValues 鍒楀悕鍜屽垪鍊煎鏉′欢 */
- bool deleteVssDevTbl(std::map<std::string, std::string>& whereKeyValues) {
- return del(VSSDevTbl_TABLE_NAME, whereKeyValues);
- }
-
- /** 鏇存柊鍒涘缓涓�绾ц澶囪〃 keyValuesToUpdate 闇�瑕佹洿鏂扮殑鍒楀悕鍜屽垪鍊煎锛� whereKeyValues 鍒楀悕鍜屽垪鍊兼潯浠� */
- bool updateVssDevTbl(std::map<std::string, std::string>& keyValuesToUpdate,
- std::map<std::string, std::string>& whereKeyValues) {
- return update(keyValuesToUpdate, VSSDevTbl_TABLE_NAME, whereKeyValues);
- }
-
- /** 鏇存柊鍒涘缓浜岀骇璁惧琛� keyValuesToUpdate 闇�瑕佹洿鏂扮殑鍒楀悕鍜屽垪鍊煎锛� whereKeyValues 鍒楀悕鍜屽垪鍊兼潯浠� */
- bool updateVssDevTbl(std::map<std::string, std::string>& keyValuesToUpdate,
- string whereKey,
- string whereValue) {
- std::map<std::string, std::string> whereKeyValues;
- whereKeyValues[whereKey] = whereValue;
- return update(keyValuesToUpdate, VSSDevTbl_TABLE_NAME, whereKeyValues);
- }
-
- /** 鏌ヨ鍒涘缓涓�绾ц澶囪〃鍒楄〃 querySql 瑕佹煡璇㈢殑sql璇彞 */
- vector<VssDevTbl> findVssDevTblList(string querySql) {
- vector<VssDevTbl> vssDevTblVec;
- vector<map<string, string>> rowDatList = findList(querySql);
- vssDevTblVec.reserve(rowDatList.size());
- for (auto rowData : rowDatList) {
- vssDevTblVec.emplace_back(mapToModel(rowData));
- }
- return vssDevTblVec;
- }
-
- /**鏌ヨ鍒涘缓涓�绾ц澶囪〃鍒楄〃 whereKeyValues 鍒楀悕鍜屽垪鍊煎鏉′欢 */
- vector<VssDevTbl> findVssDevTblList(std::map<std::string, std::string>& whereKeyValues) {
- return findVssDevTblList(string("select * from ") + VSSDevTbl_TABLE_NAME + " where 1=1 " + getWhereColumnNameValuePair(whereKeyValues));
- }
-
- /**鏌ヨ鎵�鏈夊垱寤轰竴绾ц澶囪〃鍒楄〃 */
- vector<VssDevTbl> findAllVssDevTblList() {
- return findVssDevTblList(string("select * from ") + VSSDevTbl_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绫� */
- VssDevTbl mapToModel(map<string, string>& rowData) {
- VssDevTbl vssDevTbl;
- string IDValue = rowData[VssDevTbl_ID];
- if (IDValue.length() != 0 && IDValue != "NULL") {
- vssDevTbl.ID = std::stoi(IDValue);
- }
- string DevPubIDValue = rowData[VssDevTbl_DevPubID];
- if (DevPubIDValue.length() != 0 && DevPubIDValue != "NULL") {
- vssDevTbl.DevPubID = DevPubIDValue;
- }
- string DevNicknameValue = rowData[VssDevTbl_DevNickname];
- if (DevNicknameValue.length() != 0 && DevNicknameValue != "NULL") {
- vssDevTbl.DevNickname = DevNicknameValue;
- }
- string UserNameValue = rowData[VssDevTbl_UserName];
- if (UserNameValue.length() != 0 && UserNameValue != "NULL") {
- vssDevTbl.UserName = UserNameValue;
- }
- string PasswdValue = rowData[VssDevTbl_Passwd];
- if (PasswdValue.length() != 0 && PasswdValue != "NULL") {
- vssDevTbl.Passwd = PasswdValue;
- }
- string CorpIDValue = rowData[VssDevTbl_CorpID];
- if (CorpIDValue.length() != 0 && CorpIDValue != "NULL") {
- vssDevTbl.CorpID = CorpIDValue;
- }
- string IPValue = rowData[VssDevTbl_IP];
- if (IPValue.length() != 0 && IPValue != "NULL") {
- vssDevTbl.IP = IPValue;
- }
- string PortValue = rowData[VssDevTbl_Port];
- if (PortValue.length() != 0 && PortValue != "NULL") {
- vssDevTbl.Port = std::stoi(PortValue);
- }
- string AliveValue = rowData[VssDevTbl_Alive];
- if (AliveValue.length() != 0 && AliveValue != "NULL") {
- vssDevTbl.Alive = std::stoi(AliveValue);
- }
- string DMarkerValue = rowData[VssDevTbl_DMarker];
- if (DMarkerValue.length() != 0 && DMarkerValue != "NULL") {
- vssDevTbl.DMarker = std::stoi(DMarkerValue);
- }
- string UpdateTimeValue = rowData[VssDevTbl_UpdateTime];
- if (UpdateTimeValue.length() != 0 && UpdateTimeValue != "NULL") {
- vssDevTbl.UpdateTime = UpdateTimeValue;
- }
- return vssDevTbl;
- }
-
-};
-
-
-#endif //VSSDEVTBL_MANAGER_H
-
-
+
+#ifndef VSSDEVTBL_MANAGER_H
+#define VSSDEVTBL_MANAGER_H
+
+#include "../model/VssDevTbl.h"
+#include "VssChannelTblDao.h"
+#include "BaseDao.h"
+#include "CamDevSqliteDao.h"
+
+#define VSSDevTbl_TABLE_NAME "VSSDevTbl"
+
+/**
+ * 鍒涘缓涓�绾ц澶囪〃绠$悊绫�
+ */
+class VssDevTblDao : public BaseDao {
+private:
+ /** 鍒涘缓涓�绾ц澶囪〃鏋勯�犲嚱鏁� */
+ VssDevTblDao() {}
+public:
+ /** 鍒涘缓涓�绾ц澶囪〃鍗曚緥妯″紡 */
+ static VssDevTblDao* instance() {
+ static VssDevTblDao instance;
+ return &instance;
+ }
+
+ /** 娣诲姞鍒涘缓涓�绾ц澶囪〃 keyValuesToAdd 闇�瑕佹坊鍔犵殑鍒楀悕鍜屽垪鍊煎map*/
+ mysqlpp::SimpleResult addVssDevTbl(std::map<std::string, std::string>& keyValuesToAdd) {
+ QMutexLocker mutexLocker(&m_mutexVisit);
+ return add(keyValuesToAdd, VSSDevTbl_TABLE_NAME);
+ }
+
+ /** 鍒犻櫎鍒涘缓涓�绾ц澶囪〃 whereKey 鍒楀悕锛泈hereValue 鍒楀�� */
+ bool deleteByColumn(string whereKey, string whereValue) {
+ std::map<std::string, std::string> whereKeyValues;
+ whereKeyValues[whereKey] = whereValue;
+ return deleteVssDevTbl(whereKeyValues);
+ }
+
+ /** 鍒犻櫎鍒涘缓涓�绾ц澶囪〃 whereColumnNameValues 鍒楀悕鍜屽垪鍊煎鏉′欢 */
+ bool deleteVssDevTbl(std::map<std::string, std::string>& whereKeyValues) {
+ QMutexLocker mutexLocker(&m_mutexVisit);
+ vector<map<string, string>> devRowDataList = findList(string("select * from ")
+ + VSSDevTbl_TABLE_NAME + " where 1=1 "
+ + getWhereColumnNameValuePair(whereKeyValues));
+ if (devRowDataList.size() > 0) {
+ auto DevPubID = devRowDataList.at(0)[VssDevTbl_DevPubID];
+ vector<map<string, string>> channelRowDataList = findList(string("select * from ")
+ + VSSChannelTbl_TABLE_NAME + " where 1=1 AND DevPubID='"+DevPubID+"'");
+ for (auto channelRowData : channelRowDataList) {
+ auto ChanPubID = channelRowData[VssChannelTbl_ChanPubID];
+ CamDevSqliteDao::instance()->deleteByColumn(CamDev_cam_dev_id, ChanPubID);
+ }
+ CamDevSqliteDao::instance()->deleteByColumn(CamDev_cam_dev_id, DevPubID);
+ }
+ return del(VSSDevTbl_TABLE_NAME, whereKeyValues);
+ }
+
+ /** 鏇存柊鍒涘缓涓�绾ц澶囪〃 keyValuesToUpdate 闇�瑕佹洿鏂扮殑鍒楀悕鍜屽垪鍊煎锛� whereKeyValues 鍒楀悕鍜屽垪鍊兼潯浠� */
+ bool updateVssDevTbl(std::map<std::string, std::string>& keyValuesToUpdate,
+ std::map<std::string, std::string>& whereKeyValues) {
+ QMutexLocker mutexLocker(&m_mutexVisit);
+ return update(keyValuesToUpdate, VSSDevTbl_TABLE_NAME, whereKeyValues);
+ }
+
+ /** 鏇存柊鍒涘缓浜岀骇璁惧琛� keyValuesToUpdate 闇�瑕佹洿鏂扮殑鍒楀悕鍜屽垪鍊煎锛� whereKeyValues 鍒楀悕鍜屽垪鍊兼潯浠� */
+ bool updateVssDevTbl(std::map<std::string, std::string>& keyValuesToUpdate,
+ string whereKey,
+ string whereValue) {
+ std::map<std::string, std::string> whereKeyValues;
+ whereKeyValues[whereKey] = whereValue;
+ return update(keyValuesToUpdate, VSSDevTbl_TABLE_NAME, whereKeyValues);
+ }
+
+ /** 鏌ヨ鍒涘缓涓�绾ц澶囪〃鍒楄〃 querySql 瑕佹煡璇㈢殑sql璇彞 */
+ vector<VssDevTbl> findVssDevTblList(string querySql) {
+ QMutexLocker mutexLocker(&m_mutexVisit);
+ vector<VssDevTbl> vssDevTblVec;
+ vector<map<string, string>> rowDatList = findList(querySql);
+ vssDevTblVec.reserve(rowDatList.size());
+ for (auto rowData : rowDatList) {
+ vssDevTblVec.emplace_back(mapToModel(rowData));
+ }
+ return vssDevTblVec;
+ }
+
+ /**鏌ヨ鍒涘缓涓�绾ц澶囪〃鍒楄〃 whereKeyValues 鍒楀悕鍜屽垪鍊煎鏉′欢 */
+ vector<VssDevTbl> findVssDevTblList(std::map<std::string, std::string>& whereKeyValues) {
+ return findVssDevTblList(string("select * from ") + VSSDevTbl_TABLE_NAME + " where 1=1 " + getWhereColumnNameValuePair(whereKeyValues));
+ }
+
+ /**鏌ヨ鎵�鏈夊垱寤轰竴绾ц澶囪〃鍒楄〃 */
+ vector<VssDevTbl> findAllVssDevTblList() {
+ return findVssDevTblList(string("select * from ") + VSSDevTbl_TABLE_NAME + " where 1=1 ");
+ }
+
+ /** 鏌ヨmap鍒楄〃 querySql 瑕佹煡璇㈢殑sql璇彞 */
+ vector<map<string, string>> findMapList(string querySql) {
+ QMutexLocker mutexLocker(&m_mutexVisit);
+ return findList(querySql);
+ }
+
+ /** 鎵цsql璇彞 */
+ bool execute(string sql) {
+ QMutexLocker mutexLocker(&m_mutexVisit);
+ return exec(move(sql));
+ }
+
+ /** map杞琺odel绫� */
+ VssDevTbl mapToModel(map<string, string>& rowData) {
+ VssDevTbl vssDevTbl;
+ string IDValue = rowData[VssDevTbl_ID];
+ if (IDValue.length() != 0 && IDValue != "NULL") {
+ vssDevTbl.ID = std::stoi(IDValue);
+ }
+ string DevPubIDValue = rowData[VssDevTbl_DevPubID];
+ if (DevPubIDValue.length() != 0 && DevPubIDValue != "NULL") {
+ vssDevTbl.DevPubID = DevPubIDValue;
+ }
+ string DevNicknameValue = rowData[VssDevTbl_DevNickname];
+ if (DevNicknameValue.length() != 0 && DevNicknameValue != "NULL") {
+ vssDevTbl.DevNickname = DevNicknameValue;
+ }
+ string UserNameValue = rowData[VssDevTbl_UserName];
+ if (UserNameValue.length() != 0 && UserNameValue != "NULL") {
+ vssDevTbl.UserName = UserNameValue;
+ }
+ string PasswdValue = rowData[VssDevTbl_Passwd];
+ if (PasswdValue.length() != 0 && PasswdValue != "NULL") {
+ vssDevTbl.Passwd = PasswdValue;
+ }
+ string CorpIDValue = rowData[VssDevTbl_CorpID];
+ if (CorpIDValue.length() != 0 && CorpIDValue != "NULL") {
+ vssDevTbl.CorpID = CorpIDValue;
+ }
+ string IPValue = rowData[VssDevTbl_IP];
+ if (IPValue.length() != 0 && IPValue != "NULL") {
+ vssDevTbl.IP = IPValue;
+ }
+ string PortValue = rowData[VssDevTbl_Port];
+ if (PortValue.length() != 0 && PortValue != "NULL") {
+ vssDevTbl.Port = std::stoi(PortValue);
+ }
+ string AliveValue = rowData[VssDevTbl_Alive];
+ if (AliveValue.length() != 0 && AliveValue != "NULL") {
+ vssDevTbl.Alive = std::stoi(AliveValue);
+ }
+ string DMarkerValue = rowData[VssDevTbl_DMarker];
+ if (DMarkerValue.length() != 0 && DMarkerValue != "NULL") {
+ vssDevTbl.DMarker = std::stoi(DMarkerValue);
+ }
+ string UpdateTimeValue = rowData[VssDevTbl_UpdateTime];
+ if (UpdateTimeValue.length() != 0 && UpdateTimeValue != "NULL") {
+ vssDevTbl.UpdateTime = UpdateTimeValue;
+ }
+ return vssDevTbl;
+ }
+
+};
+
+
+#endif //VSSDEVTBL_MANAGER_H
+
+
--
Gitblit v1.8.0