#ifndef VSSDOMAINUNITTBL_MANAGER_H #define VSSDOMAINUNITTBL_MANAGER_H #include "../model/VssDomainUnitTbl.h" #include "BaseDao.h" #define VSSDomainUnitTbl_TABLE_NAME "VSSDomainUnitTbl" /** * 创建一级设备表管理类 */ class VssDomainUnitTblDao : public BaseDao { private: /** 创建一级设备表构造函数 */ VssDomainUnitTblDao() {} public: /** 创建一级设备表单例模式 */ static VssDomainUnitTblDao* instance() { static VssDomainUnitTblDao instance; return &instance; } /** 添加创建一级设备表 keyValuesToAdd 需要添加的列名和列值对map*/ mysqlpp::SimpleResult addVssDomainUnitTbl(std::map& keyValuesToAdd) { return add(keyValuesToAdd, VSSDomainUnitTbl_TABLE_NAME); } /** 删除创建一级设备表 whereKey 列名;whereValue 列值 */ bool deleteByColumn(string whereKey, string whereValue) { std::map whereKeyValues; whereKeyValues[whereKey] = whereValue; return deleteVssDomainUnitTbl(whereKeyValues); } /** 删除创建一级设备表 whereColumnNameValues 列名和列值对条件 */ bool deleteVssDomainUnitTbl(std::map& whereKeyValues) { return del(VSSDomainUnitTbl_TABLE_NAME, whereKeyValues); } /** 更新创建一级设备表 keyValuesToUpdate 需要更新的列名和列值对; whereKeyValues 列名和列值条件 */ bool updateVssDomainUnitTbl(std::map& keyValuesToUpdate, std::map& whereKeyValues) { return update(keyValuesToUpdate, VSSDomainUnitTbl_TABLE_NAME, whereKeyValues); } /** 更新创建二级设备表 keyValuesToUpdate 需要更新的列名和列值对; whereKeyValues 列名和列值条件 */ bool updateVssDomainUnitTbl(std::map& keyValuesToUpdate, string whereKey, string whereValue) { std::map whereKeyValues; whereKeyValues[whereKey] = whereValue; return update(keyValuesToUpdate, VSSDomainUnitTbl_TABLE_NAME, whereKeyValues); } /** 查询创建一级设备表列表 querySql 要查询的sql语句 */ vector findVssDomainUnitTblList(string querySql) { vector vssDomainUnitTblVec; vector> rowDatList = findList(querySql); vssDomainUnitTblVec.reserve(rowDatList.size()); for (auto rowData : rowDatList) { vssDomainUnitTblVec.emplace_back(mapToModel(rowData)); } return vssDomainUnitTblVec; } /**查询创建一级设备表列表 whereKeyValues 列名和列值对条件 */ vector findVssDomainUnitTblList(std::map& whereKeyValues) { return findVssDomainUnitTblList(string("select * from ") + VSSDomainUnitTbl_TABLE_NAME + " where 1=1 " + getWhereColumnNameValuePair(whereKeyValues)); } /**查询所有创建一级设备表列表 */ vector findAllVssDomainUnitTblList() { return findVssDomainUnitTblList(string("select * from ") + VSSDomainUnitTbl_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类 */ VssDomainUnitTbl mapToModel(map& rowData) { VssDomainUnitTbl vssDomainUnitTbl; string IDValue = rowData[VssDomainUnitTbl_ID]; if (IDValue.length() != 0 && IDValue != "NULL") { vssDomainUnitTbl.ID = std::stoi(IDValue); } string DevPubIDValue = rowData[VssDomainUnitTbl_DevPubID]; if (DevPubIDValue.length() != 0 && DevPubIDValue != "NULL") { vssDomainUnitTbl.DevPubID = DevPubIDValue; } string DomainPubIDValue = rowData[VssDomainUnitTbl_DomainPubID]; if (DomainPubIDValue.length() != 0 && DomainPubIDValue != "NULL") { vssDomainUnitTbl.DomainPubID = DomainPubIDValue; } string NameValue = rowData[VssDomainUnitTbl_Name]; if (NameValue.length() != 0 && NameValue != "NULL") { vssDomainUnitTbl.Name = NameValue; } string BusinessGroupIDValue = rowData[VssDomainUnitTbl_BusinessGroupID]; if (BusinessGroupIDValue.length() != 0 && BusinessGroupIDValue != "NULL") { vssDomainUnitTbl.BusinessGroupID = BusinessGroupIDValue; } string ParentIdValue = rowData[VssDomainUnitTbl_ParentId]; if (ParentIdValue.length() != 0 && ParentIdValue != "NULL") { vssDomainUnitTbl.ParentId = ParentIdValue; } string DomainTypeValue = rowData[VssDomainUnitTbl_DomainType]; if (DomainTypeValue.length() != 0 && DomainTypeValue != "NULL") { vssDomainUnitTbl.DomainType = std::stoi(DomainTypeValue); } string UpdateTimeValue = rowData[VssDomainUnitTbl_UpdateTime]; if (UpdateTimeValue.length() != 0 && UpdateTimeValue != "NULL") { vssDomainUnitTbl.UpdateTime = UpdateTimeValue; } return vssDomainUnitTbl; } }; #endif //VSSDOMAINUNITTBL_MANAGER_H