From e634f49a3b619017a3d040d1bdf68aebad07ae4f Mon Sep 17 00:00:00 2001 From: pansen <pansen626@sina.com> Date: 星期二, 05 三月 2019 09:26:54 +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/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/VideoServer/QiaoJia/DB/LDBTool.h | 1 QiaoJiaSystem/DataManagerServer/vss/dao/BaseSqliteDao.h | 28 + QiaoJiaSystem/DataManagerServer/vss/controller/CamDevController.h | 412 ++++++++++++++++++++++++ QiaoJiaSystem/build/DataWebServer | 0 QiaoJiaSystem/DataManagerServer/http_configserver.cpp | 11 QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.cpp | 37 ++ QiaoJiaSystem/build/config.db | 0 QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h | 212 ++++++++++++ 13 files changed, 916 insertions(+), 71 deletions(-) diff --git a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp index d07d06a..f93e4e0 100644 --- a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp +++ b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp @@ -23,13 +23,12 @@ #include <dirent.h> #include "basic/pipe_element/ffmpeg/basic_struct_for_video_image.h" -#ifdef MYSQLRET #include "vss/controller/VssDevTblController.h" #include "vss/controller/VssChannelTblController.h" #include "vss/controller/VssDomainUnitTblController.h" #include "vss/controller/VssLocalSettingTblController.h" #include "vss/controller/VssUpperSvrTblController.h" -#endif +#include "vss/controller/CamDevController.h" using namespace std; @@ -250,15 +249,17 @@ std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, std::placeholders::_4)); -#ifdef MYSQLRET + BaseDao::initConnection(); - VssLocalSettingTblSqliteDao::instance()->setLDBTool(&db_c); + BaseSqliteDao::setLDBTool(&db_c); VssDevTblController::instance()->registerHttpServices(_HttpSrvRetRecieve); VssChannelTblController::instance()->registerHttpServices(_HttpSrvRetRecieve); VssDomainUnitTblController::instance()->registerHttpServices(_HttpSrvRetRecieve); VssLocalSettingTblController::instance()->registerHttpServices(_HttpSrvRetRecieve); + CamDevController::instance()->registerHttpServices(_HttpSrvRetRecieve); VssUpperSvrTblController::instance()->registerHttpServices(_HttpSrvRetRecieve); -#endif + + _HttpSrvRetRecieve.start(); _HttpSrvRetRecieve.waitForShutDown(); } diff --git a/QiaoJiaSystem/DataManagerServer/vss/controller/CamDevController.h b/QiaoJiaSystem/DataManagerServer/vss/controller/CamDevController.h new file mode 100755 index 0000000..a8675c4 --- /dev/null +++ b/QiaoJiaSystem/DataManagerServer/vss/controller/CamDevController.h @@ -0,0 +1,412 @@ +#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) { + responseJsonValue = CamDevSqliteDao::instance()->addCamDev(keyValuesToAdd); + } + } + 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["id"]; + if (iDJsonValue.type() != Json::ValueType::nullValue) { + string iDValue = iDJsonValue.asString(); + responseJsonValue = CamDevSqliteDao::instance()->deleteByColumn("id", iDValue); + } + + } + 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) { + responseJsonValue = CamDevSqliteDao::instance()->updateCamDev(camDevBuilder.buildCamDevMap(), "id", idJsonValue.asString()); + } + } + 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 = CamDevSqliteDao::instance()->findCamDevList(camDevBuilder.buildCamDevMap()); + } + 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 = CamDevSqliteDao::instance()->findCamDevList(camDevBuilder.buildCamDevMap()); + + } + 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..b7f3873 --- /dev/null +++ b/QiaoJiaSystem/DataManagerServer/vss/dao/CamDevSqliteDao.h @@ -0,0 +1,212 @@ + +#ifndef CAMDEV_MANAGER_H +#define CAMDEV_MANAGER_H + +#include "../model/CamDev.h" +#include "BaseSqliteDao.h" + +#define CamDev_TABLE_NAME "cam_dev" + +/** + * 鎽勫儚澶磋澶囩鐞嗙被 + */ +class CamDevSqliteDao : public BaseSqliteDao { +private: + /** 鎽勫儚澶磋澶囨瀯閫犲嚱鏁� */ + CamDevSqliteDao() {} +public: + /** 鎽勫儚澶磋澶囧崟渚嬫ā寮� */ + static CamDevSqliteDao* instance() { + static CamDevSqliteDao instance; + return &instance; + } + + /** 娣诲姞鎽勫儚澶磋澶� keyValuesToAdd 闇�瑕佹坊鍔犵殑鍒楀悕鍜屽垪鍊煎map*/ + Json::Value addCamDev(std::map<std::string, std::string>& keyValuesToAdd) { + Json::Value responseJsonValue; + responseJsonValue["message"] = "娣诲姞澶辫触锛�"; + responseJsonValue["success"] = "false"; + QMutexLocker mutexLocker(m_mutexVisit);//TODO + QSqlTableModel pModel(NULL, *m_db); + + pModel.setTable(CamDev_TABLE_NAME); + pModel.setEditStrategy(QSqlTableModel::OnManualSubmit); + + QSqlRecord rec = pModel.record(); + for (auto keyValueToAdd : keyValuesToAdd) { + rec.setValue(QString::fromUtf8(keyValueToAdd.first.c_str()), QString::fromUtf8(keyValueToAdd.second.c_str())); + } + rec.setGenerated("id", false); + + pModel.insertRecord(-1, rec);//TODO + + m_db->transaction();//寮�濮嬩簨鍔℃搷浣� + + if (pModel.submitAll()) { + m_db->commit();//鎻愪氦 + responseJsonValue["success"] = "true"; + responseJsonValue["message"] = "娣诲姞鎴愬姛锛�"; + } else { + m_db->rollback();//鍥炴粴 + ERR("addCamDev err ,Database Error: " << pModel.lastError().text().toStdString()); + } + return responseJsonValue; + } + + /** 鍒犻櫎鏈湴鍥芥爣閰嶇疆 whereKey 鍒楀悕锛泈hereValue 鍒楀�� */ + Json::Value deleteByColumn(string whereKey, string whereValue) { + + + std::map<std::string, std::string> whereKeyValues; + whereKeyValues[whereKey] = whereValue; + return deleteCamDev(whereKeyValues); + } + + /** 鍒犻櫎鎽勫儚澶磋澶� whereKey 鍒楀悕锛泈hereValue 鍒楀�� */ + Json::Value deleteCamDev(std::map<std::string, std::string>& whereKeyValues) { + + Json::Value responseJsonValue; + responseJsonValue["message"] = "鍒犻櫎澶辫触锛�"; + responseJsonValue["success"] = "false"; + 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.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange + pModel.select(); + + int rowCount = pModel.rowCount(); + + if (rowCount >= 1) { + for (int i = 0; i < rowCount; i++) { + pModel.removeRow(i);//TODO + } + } else { + return responseJsonValue; + } + + m_db->transaction();//寮�濮嬩簨鍔℃搷浣� + + if (pModel.submitAll()) { + m_db->commit();//鎻愪氦 + responseJsonValue["success"] = "true"; + responseJsonValue["message"] = "鍒犻櫎鎴愬姛锛�"; + } else { + m_db->rollback();//鍥炴粴 + ERR("deleteLDeviceTable ,pModel_load Error: " << pModel.lastError().text().toStdString()); + } + + return responseJsonValue; + } + + /** 鏇存柊鏈湴鍥芥爣閰嶇疆 keyValuesToUpdate 闇�瑕佹洿鏂扮殑鍒楀悕鍜屽垪鍊煎锛� 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"; + 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.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange + pModel.select(); + + /*QSqlRecord rec = pModel.record(); + rec.setValue("dst_path",QString::fromStdString(dst_path)); + rec.setValue("total",total); + rec.setValue("finish_flag",1); + rec.setValue("update_time",QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss"));*/ + + int rowCount = pModel.rowCount(); + if (rowCount > 0) { + QSqlRecord rec = pModel.record(0); + for (auto keyValueToUpdate : keyValuesToUpdate) { + rec.setValue(keyValueToUpdate.first.c_str(), keyValueToUpdate.second.c_str()); + } +// rec.setValue("dst_path", QString::fromStdString(dst_path)); +// rec.setValue("total", total); +// rec.setValue("finish_flag", 1); + rec.setValue("UpdateTime", QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss")); + + pModel.setRecord(0, rec); + } else { + return responseJsonValue; + } + + m_db->transaction();//寮�濮嬩簨鍔℃搷浣� + + if (pModel.submitAll()) { + m_db->commit();//鎻愪氦 + responseJsonValue["success"] = "true"; + responseJsonValue["message"] = "鏇存柊鎴愬姛锛�"; + } else { + m_db->rollback();//鍥炴粴 + ERR("updateLDeviceTable ,pModel_load Error: " << pModel.lastError().text().toStdString()); + } + return responseJsonValue; + } + + /** 鏇存柊鎽勫儚澶磋澶� keyValuesToUpdate 闇�瑕佹洿鏂扮殑鍒楀悕鍜屽垪鍊煎锛� whereKeyValues 鍒楀悕鍜屽垪鍊兼潯浠� */ + Json::Value updateCamDev(std::map<std::string, std::string>& keyValuesToUpdate, + string whereKey, + string whereValue) { + std::map<std::string, std::string> whereKeyValues; + whereKeyValues[whereKey] = whereValue; + return updateCamDev(keyValuesToUpdate, whereKeyValues); + } + + /**鏌ヨ鎽勫儚澶磋澶囧垪琛� whereKeyValues 鍒楀悕鍜屽垪鍊煎鏉′欢 */ + Json::Value findCamDevList(std::map<std::string, std::string>& whereKeyValues) { + + Json::Value responseJsonValue; + responseJsonValue["message"] = "鏌ヨ澶辫触锛�"; + responseJsonValue["success"] = "false"; + responseJsonValue["data"] = Json::arrayValue; + + QMutexLocker mutexLocker(m_mutexVisit);//TODO + 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.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange + pModel.select(); + + int rowCount = pModel.rowCount(); + if (rowCount > 0) { + Json::Value rowDataList = Json::arrayValue; + for (int i = 0; i < rowCount; ++i) { + Json::Value rowData = Json::objectValue; + Record_Cut_Video_info lRec; + QSqlRecord rec = pModel.record(i); + for (int i = 0; i < rec.count(); i++) { + QSqlField field = rec.field(i); + rowData[field.name().toStdString()] = field.value().toString().toStdString(); + } + rowDataList.append(rowData); + } + responseJsonValue["data"] = rowDataList; + } + + responseJsonValue["message"] = "鏌ヨ鎴愬姛锛�"; + responseJsonValue["success"] = "true"; + return responseJsonValue; + } + + /**鏌ヨ鎵�鏈夋湰鍦板浗鏍囬厤缃垪琛� */ + Json::Value findAllCamDevList() { + std::map<std::string, std::string> whereKeyValues; + return findCamDevList(whereKeyValues); + } + +}; + + +#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 + diff --git a/QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.cpp b/QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.cpp index 8b8a3e1..42f22eb 100644 --- a/QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.cpp +++ b/QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.cpp @@ -2732,3 +2732,40 @@ return ruleMap; } + + +/** + * type 0 rtsp, 1 gb28181 + */ +std::list<Record_Cam_Dev> LDBTool::searchCamDevTableByType(int type) { + QMutexLocker mutexLocker(&m_mutexVisit);//TODO + std::list<Record_Cam_Dev> lst; + QSqlTableModel pModel(NULL, m_db); + pModel.setTable("cam_dev"); + pModel.setFilter(QObject::tr((string("cam_dev_id != '' and cam_dev_id is not null and type='")+to_string(type)+"'").c_str())); + pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange + pModel.select(); + + int rowCount = pModel.rowCount(); + if (rowCount > 0) { + for (int i = 0; i < rowCount; ++i) { + Record_Cam_Dev lChannelRec; + QSqlRecord rec = pModel.record(i); + lChannelRec.n_id = rec.value("id").toInt(); + lChannelRec.str_cam_dev_id = rec.value("cam_dev_id").toString(); + lChannelRec.str_name = rec.value("name").toString(); + lChannelRec.str_addr = rec.value("addr").toString(); + lChannelRec.str_longitude = rec.value("longitude").toString(); + lChannelRec.str_latitude = rec.value("latitude").toString(); + lChannelRec.str_ip = rec.value("ip").toString(); + lChannelRec.n_port = rec.value("port").toInt(); + lChannelRec.str_username = rec.value("username").toString(); + lChannelRec.str_password = rec.value("password").toString(); + lChannelRec.str_brand = rec.value("brand").toString(); + lChannelRec.str_reserved = rec.value("reserved").toString(); + lst.push_back(lChannelRec); + } + } + + return lst; +} \ No newline at end of file diff --git a/QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.h b/QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.h index d4c26bd..eb53d1c 100644 --- a/QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.h +++ b/QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.h @@ -50,6 +50,7 @@ bool deleteCamDevandSdkByCamID(QString strCamId); bool updateCamDevTable(Record_Cam_Dev camRec); std::list<Record_Cam_Dev> searchCamDevTableAll(void); + std::list<Record_Cam_Dev> searchCamDevTableByType(int type); int searchCamDevNumber(void); bool searchCamDevByCamId(QString strCamId); bool updateCamDevSnapshot(const QString& strIp ,const QString& imgUrl); diff --git a/QiaoJiaSystem/build/DataWebServer b/QiaoJiaSystem/build/DataWebServer index 0179432..d9d47cd 100755 --- a/QiaoJiaSystem/build/DataWebServer +++ b/QiaoJiaSystem/build/DataWebServer Binary files differ diff --git a/QiaoJiaSystem/build/config.db b/QiaoJiaSystem/build/config.db index 2366125..942ed4d 100755 --- a/QiaoJiaSystem/build/config.db +++ b/QiaoJiaSystem/build/config.db Binary files differ -- Gitblit v1.8.0