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/VideoServer/QiaoJia/DB/LDBTool.cpp | 110 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 106 insertions(+), 4 deletions(-) diff --git a/QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.cpp b/QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.cpp index dd8ba1c..42f22eb 100644 --- a/QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.cpp +++ b/QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.cpp @@ -356,11 +356,23 @@ pModel_cam.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange pModel_cam.select(); +// QSqlTableModel pModel_sdk(NULL, m_db); +// pModel_sdk.setTable("cam_sdk"); +// pModel_sdk.setFilter(QObject::tr("cam_dev_id = '%1'").arg(strCamId)); +// pModel_sdk.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange +// pModel_sdk.select(); + QSqlTableModel pModel_sdk(NULL, m_db); - pModel_sdk.setTable("cam_sdk"); - pModel_sdk.setFilter(QObject::tr("cam_dev_id = '%1'").arg(strCamId)); + pModel_sdk.setTable("sdk_rule"); + pModel_sdk.setFilter(QObject::tr("cam_id = '%1'").arg(strCamId)); pModel_sdk.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange pModel_sdk.select(); + + QSqlTableModel pModel_week(NULL, m_db); + pModel_week.setTable("rule_week"); + pModel_week.setFilter(QObject::tr("camera_id = '%1'").arg(strCamId)); + pModel_week.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange + pModel_week.select(); int rowCount_cam = pModel_cam.rowCount(); if (rowCount_cam >= 1) { @@ -376,17 +388,25 @@ } } + int rowCount_week = pModel_week.rowCount(); + if (rowCount_week >= 1) { + for (int i = 0; i < rowCount_week; i++) { + pModel_week.removeRow(i);//TODO + } + } + m_db.transaction();//寮�濮嬩簨鍔℃搷浣� if (pModel_cam.submitAll() && \ - pModel_sdk.submitAll()) { + pModel_sdk.submitAll() && pModel_week.submitAll()) { m_db.commit();//鎻愪氦 return true; } else { m_db.rollback();//鍥炴粴 ERR("deleteLDeviceTable err ,Database Error: " \ << pModel_cam.lastError().text().toStdString() \ - << pModel_sdk.lastError().text().toStdString()); + << pModel_sdk.lastError().text().toStdString() \ + << pModel_week.lastError().text().toStdString() ); // QMessageBox::warning(NULL,QObject::tr("deleteLDeviceTable"),QObject::tr("Database Error: %1").arg(pModel.lastError().text())); return false; } @@ -433,7 +453,39 @@ return false; } } +bool LDBTool::updateCamDevSnapshot(const QString& strIp,const QString& imgUrl) +{ + QMutexLocker mutexLocker(&m_mutexVisit);//TODO + QSqlTableModel pModel(NULL, m_db); + pModel.setTable("cam_dev"); + pModel.setFilter( + QObject::tr("ip = '%1'").arg(strIp)); + pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange + pModel.select(); + QSqlRecord rec = pModel.record(0); + rec.setValue("reserved", imgUrl); + + int rowCount = pModel.rowCount(); + if (rowCount > 0) + { + pModel.setRecord(0, rec);//TODO + } + + m_db.transaction();//寮�濮嬩簨鍔℃搷浣� + + if (pModel.submitAll()) + { + m_db.commit();//鎻愪氦 + return true; + } + else + { + m_db.rollback();//鍥炴粴 + ERR("updateCamDevSnapshot err ,Database Error: " << pModel.lastError().text().toStdString()); + return false; + } +} int LDBTool::searchCamDevNumber(void) { QSqlTableModel pModel(NULL, m_db); pModel.setTable("cam_dev"); @@ -478,7 +530,20 @@ return lst; } +bool LDBTool::searchCamDevByCamId(QString strCamId) +{ + QMutexLocker mutexLocker(&m_mutexVisit);//TODO + std::list<Record_Cam_Dev> lst; + QSqlTableModel pModel(NULL, m_db); + pModel.setTable("cam_dev"); + pModel.setFilter(QObject::tr("cam_dev_id ='%1' and cam_dev_id != '' and cam_dev_id is not null").arg(strCamId)); + pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange + pModel.select(); + int rowCount = pModel.rowCount(); + + return rowCount > 0; +} //chn========================== /// @@ -2667,3 +2732,40 @@ return ruleMap; } + + +/** + * type 0 rtsp, 1 gb28181 + */ +std::list<Record_Cam_Dev> LDBTool::searchCamDevTableByType(int type) { + QMutexLocker mutexLocker(&m_mutexVisit);//TODO + std::list<Record_Cam_Dev> lst; + QSqlTableModel pModel(NULL, m_db); + pModel.setTable("cam_dev"); + pModel.setFilter(QObject::tr((string("cam_dev_id != '' and cam_dev_id is not null and type='")+to_string(type)+"'").c_str())); + pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange + pModel.select(); + + int rowCount = pModel.rowCount(); + if (rowCount > 0) { + for (int i = 0; i < rowCount; ++i) { + Record_Cam_Dev lChannelRec; + QSqlRecord rec = pModel.record(i); + lChannelRec.n_id = rec.value("id").toInt(); + lChannelRec.str_cam_dev_id = rec.value("cam_dev_id").toString(); + lChannelRec.str_name = rec.value("name").toString(); + lChannelRec.str_addr = rec.value("addr").toString(); + lChannelRec.str_longitude = rec.value("longitude").toString(); + lChannelRec.str_latitude = rec.value("latitude").toString(); + lChannelRec.str_ip = rec.value("ip").toString(); + lChannelRec.n_port = rec.value("port").toInt(); + lChannelRec.str_username = rec.value("username").toString(); + lChannelRec.str_password = rec.value("password").toString(); + lChannelRec.str_brand = rec.value("brand").toString(); + lChannelRec.str_reserved = rec.value("reserved").toString(); + lst.push_back(lChannelRec); + } + } + + return lst; +} \ No newline at end of file -- Gitblit v1.8.0