From 17675f1c6447b6e014b520608ce6d5f1f2e9707a Mon Sep 17 00:00:00 2001 From: xuxiuxi <554325746@qq.com> Date: 星期一, 04 三月 2019 16:28:42 +0800 Subject: [PATCH] add models, daos and controllers for tables. --- QiaoJiaSystem/DataManagerServer/vss/dao/VssLocalSettingTblSqliteDao.h | 121 ++++++++-------------------------------- 1 files changed, 24 insertions(+), 97 deletions(-) diff --git a/QiaoJiaSystem/DataManagerServer/vss/dao/VssLocalSettingTblSqliteDao.h b/QiaoJiaSystem/DataManagerServer/vss/dao/VssLocalSettingTblSqliteDao.h index dd74143..4096fa0 100755 --- a/QiaoJiaSystem/DataManagerServer/vss/dao/VssLocalSettingTblSqliteDao.h +++ b/QiaoJiaSystem/DataManagerServer/vss/dao/VssLocalSettingTblSqliteDao.h @@ -3,30 +3,19 @@ #define VSSLOCALSETTINGTBL_Sqlite_MANAGER_H #include "../model/VssLocalSettingTbl.h" -#include "BaseDao.h" +#include "BaseSqliteDao.h" #define VSSLocalSettingTbl_Sqlite_TABLE_NAME "VSSLocalSettingTbl" +#include <qsqlfield.h> /** * 鏈湴鍥芥爣閰嶇疆绠$悊绫� */ -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() { @@ -118,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); @@ -156,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()); @@ -165,121 +154,59 @@ } /** 鏇存柊鍒涘缓浜岀骇璁惧琛� 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璇彞 */ - Json::Value findVssLocalSettingTblList(string querySql) { + Json::Value findVssLocalSettingTblList(std::map<std::string, std::string>& whereKeyValues) { Json::Value responseJsonValue; - responseJsonValue["message"] = "鍒犻櫎澶辫触锛�"; + responseJsonValue["message"] = "鏌ヨ澶辫触锛�"; responseJsonValue["success"] = "false"; - responseJsonValue["data"] = "[]"; + responseJsonValue["data"] = Json::arrayValue; QMutexLocker mutexLocker(m_mutexVisit);//TODO std::list<Record_Cut_Video_info> lst; QSqlTableModel pModel(NULL, *m_db); - pModel.setTable(VSSLocalSettingTbl_Sqlite_TABLE_NAME); + pModel.setTable(VSSLocalSettingTbl_Sqlite_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::Value rowDataList = Json::arrayValue; for (int i = 0; i < rowCount; ++i) { - Json::Value rowData; + Json::Value rowData = Json::objectValue; Record_Cut_Video_info lRec; QSqlRecord rec = pModel.record(i); -// if (!rec.value("finish_flag").toBool()) { -// lRec.n_id = rec.value("id").toInt(); -// lRec.str_storage_dev_id = rec.value("storage_dev_id").toString(); -// lRec.n_chn = rec.value("chn").toInt(); -// lRec.str_src_path = rec.value("src_path").toString(); -// lRec.str_dst_path = rec.value("dst_path").toString(); -// lRec.n_total = rec.value("total").toInt(); -// lRec.b_finish_flag = rec.value("finish_flag").toBool(); -// lRec.tim_update_time = QDateTime::fromString(rec.value("update_time").toString(), -// "yyyy-MM-dd hh:mm:ss"); -// lRec.str_reserved = rec.value("reserved").toString(); -// lst.push_back(lRec); -// } + 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; - - - - -// vector<VssLocalSettingTbl> vssLocalSettingTblVec; -// vector<map<string, string>> rowDatList = findList(querySql); -// vssLocalSettingTblVec.reserve(rowDatList.size()); -// for (auto rowData : rowDatList) { -// vssLocalSettingTblVec.emplace_back(mapToModel(rowData)); -// } -// return vssLocalSettingTblVec; } - - /**鏌ヨ鏈湴鍥芥爣閰嶇疆鍒楄〃 whereKeyValues 鍒楀悕鍜屽垪鍊煎鏉′欢 */ - Json::Value findVssLocalSettingTblList(std::map<std::string, std::string>& whereKeyValues) { - return findVssLocalSettingTblList(string("select * from ") + VSSLocalSettingTbl_TABLE_NAME + " where 1=1 " + getWhereColumnNameValuePair(whereKeyValues)); - } /**鏌ヨ鎵�鏈夋湰鍦板浗鏍囬厤缃垪琛� */ Json::Value findAllVssLocalSettingTblList() { - return findVssLocalSettingTblList(string("select * from ") + VSSLocalSettingTbl_TABLE_NAME + " where 1=1 "); + std::map<std::string, std::string> whereKeyValues; + 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; - } }; -- Gitblit v1.8.0