|
#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) {
|
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);
|
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
|
|
|