| | |
| | | |
| | | #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 列名;whereValue 列值 */ |
| | | 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转model类 */ |
| | | 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 列名;whereValue 列值 */
|
| | | 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转model类 */
|
| | | 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
|
| | |
|
| | |
|