#ifndef VSSUPPERSVRTBL_MANAGER_H #define VSSUPPERSVRTBL_MANAGER_H #include "../model/VssUpperSvrTbl.h" #include "BaseDao.h" #define VSSUpperSvrTbl_TABLE_NAME "VSSUpperSvrTbl" /** * 创建上级平台服务器表管理类 */ class VssUpperSvrTblDao : public BaseDao { private: /** 创建上级平台服务器表构造函数 */ VssUpperSvrTblDao() {} public: /** 创建上级平台服务器表单例模式 */ static VssUpperSvrTblDao* instance() { static VssUpperSvrTblDao instance; return &instance; } /** 添加创建上级平台服务器表 keyValuesToAdd 需要添加的列名和列值对map*/ mysqlpp::SimpleResult addVssUpperSvrTbl(std::map& keyValuesToAdd) { return add(keyValuesToAdd, VSSUpperSvrTbl_TABLE_NAME); } /** 删除创建上级平台服务器表 whereKey 列名;whereValue 列值 */ bool deleteByColumn(string whereKey, string whereValue) { std::map whereKeyValues; whereKeyValues[whereKey] = whereValue; return deleteVssUpperSvrTbl(whereKeyValues); } /** 删除创建上级平台服务器表 whereColumnNameValues 列名和列值对条件 */ bool deleteVssUpperSvrTbl(std::map& whereKeyValues) { return del(VSSUpperSvrTbl_TABLE_NAME, whereKeyValues); } /** 更新创建上级平台服务器表 keyValuesToUpdate 需要更新的列名和列值对; whereKeyValues 列名和列值条件 */ bool updateVssUpperSvrTbl(std::map& keyValuesToUpdate, std::map& whereKeyValues) { return update(keyValuesToUpdate, VSSUpperSvrTbl_TABLE_NAME, whereKeyValues); } /** 更新创建二级设备表 keyValuesToUpdate 需要更新的列名和列值对; whereKeyValues 列名和列值条件 */ bool updateVssUpperSvrTbl(std::map& keyValuesToUpdate, string whereKey, string whereValue) { std::map whereKeyValues; whereKeyValues[whereKey] = whereValue; return update(keyValuesToUpdate, VSSUpperSvrTbl_TABLE_NAME, whereKeyValues); } /** 查询创建上级平台服务器表列表 querySql 要查询的sql语句 */ vector findVssUpperSvrTblList(string querySql) { vector vssUpperSvrTblVec; vector> rowDatList = findList(querySql); vssUpperSvrTblVec.reserve(rowDatList.size()); for (auto rowData : rowDatList) { vssUpperSvrTblVec.emplace_back(mapToModel(rowData)); } return vssUpperSvrTblVec; } /**查询创建上级平台服务器表列表 whereKeyValues 列名和列值对条件 */ vector findVssUpperSvrTblList(std::map& whereKeyValues) { return findVssUpperSvrTblList(string("select * from ") + VSSUpperSvrTbl_TABLE_NAME + " where 1=1 " + getWhereColumnNameValuePair(whereKeyValues)); } /**查询所有创建上级平台服务器表列表 */ vector findAllVssUpperSvrTblList() { return findVssUpperSvrTblList(string("select * from ") + VSSUpperSvrTbl_TABLE_NAME + " where 1=1 "); } /** 查询map列表 querySql 要查询的sql语句 */ vector> findMapList(string querySql) { return findList(querySql); } /** 执行sql语句 */ bool execute(string sql) { return exec(move(sql)); } /** map转model类 */ VssUpperSvrTbl mapToModel(map& rowData) { VssUpperSvrTbl vssUpperSvrTbl; string IDValue = rowData[VssUpperSvrTbl_ID]; if (IDValue.length() != 0 && IDValue != "NULL") { vssUpperSvrTbl.ID = std::stoi(IDValue); } string NameValue = rowData[VssUpperSvrTbl_Name]; if (NameValue.length() != 0 && NameValue != "NULL") { vssUpperSvrTbl.Name = NameValue; } string PublicIDValue = rowData[VssUpperSvrTbl_PublicID]; if (PublicIDValue.length() != 0 && PublicIDValue != "NULL") { vssUpperSvrTbl.PublicID = PublicIDValue; } string AuthUsernameValue = rowData[VssUpperSvrTbl_AuthUsername]; if (AuthUsernameValue.length() != 0 && AuthUsernameValue != "NULL") { vssUpperSvrTbl.AuthUsername = AuthUsernameValue; } string AuthPasswdValue = rowData[VssUpperSvrTbl_AuthPasswd]; if (AuthPasswdValue.length() != 0 && AuthPasswdValue != "NULL") { vssUpperSvrTbl.AuthPasswd = AuthPasswdValue; } string DomainValue = rowData[VssUpperSvrTbl_Domain]; if (DomainValue.length() != 0 && DomainValue != "NULL") { vssUpperSvrTbl.Domain = DomainValue; } string IPValue = rowData[VssUpperSvrTbl_IP]; if (IPValue.length() != 0 && IPValue != "NULL") { vssUpperSvrTbl.IP = IPValue; } string PortValue = rowData[VssUpperSvrTbl_Port]; if (PortValue.length() != 0 && PortValue != "NULL") { vssUpperSvrTbl.Port = std::stoi(PortValue); } string RegisterTimeValue = rowData[VssUpperSvrTbl_RegisterTime]; if (RegisterTimeValue.length() != 0 && RegisterTimeValue != "NULL") { vssUpperSvrTbl.RegisterTime = std::stoi(RegisterTimeValue); } string KeepAliveTimeValue = rowData[VssUpperSvrTbl_KeepAliveTime]; if (KeepAliveTimeValue.length() != 0 && KeepAliveTimeValue != "NULL") { vssUpperSvrTbl.KeepAliveTime = std::stoi(KeepAliveTimeValue); } string AliveValue = rowData[VssUpperSvrTbl_Alive]; if (AliveValue.length() != 0 && AliveValue != "NULL") { vssUpperSvrTbl.Alive = std::stoi(AliveValue); } string IsSyncTimeValue = rowData[VssUpperSvrTbl_IsSyncTime]; if (IsSyncTimeValue.length() != 0 && IsSyncTimeValue != "NULL") { vssUpperSvrTbl.IsSyncTime = std::stoi(IsSyncTimeValue); } string PushProtocolValue = rowData[VssUpperSvrTbl_PushProtocol]; if (PushProtocolValue.length() != 0 && PushProtocolValue != "NULL") { vssUpperSvrTbl.PushProtocol = std::stoi(PushProtocolValue); } string PlatformInfoValue = rowData[VssUpperSvrTbl_PlatformInfo]; if (PlatformInfoValue.length() != 0 && PlatformInfoValue != "NULL") { vssUpperSvrTbl.PlatformInfo = std::stoi(PlatformInfoValue); } string IsEnableValue = rowData[VssUpperSvrTbl_IsEnable]; if (IsEnableValue.length() != 0 && IsEnableValue != "NULL") { vssUpperSvrTbl.IsEnable = std::stoi(IsEnableValue); } string UpdateTimeValue = rowData[VssUpperSvrTbl_UpdateTime]; if (UpdateTimeValue.length() != 0 && UpdateTimeValue != "NULL") { vssUpperSvrTbl.UpdateTime = UpdateTimeValue; } return vssUpperSvrTbl; } }; #endif //VSSUPPERSVRTBL_MANAGER_H