From ed223aee5fe5f3b222488549597976f34c679c3d Mon Sep 17 00:00:00 2001 From: pansen <pansen626@sina.com> Date: 星期二, 05 三月 2019 14:00:47 +0800 Subject: [PATCH] 代码格式化及部分bug修改 --- QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.cpp | 286 +++++++++++++++++++++++++++++++++----------------------- 1 files changed, 168 insertions(+), 118 deletions(-) diff --git a/QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.cpp b/QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.cpp index 93ca3ab..8070b13 100644 --- a/QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.cpp +++ b/QiaoJiaSystem/VideoServer/QiaoJia/DB/LDBTool.cpp @@ -406,7 +406,7 @@ ERR("deleteLDeviceTable err ,Database Error: " \ << pModel_cam.lastError().text().toStdString() \ << pModel_sdk.lastError().text().toStdString() \ - << pModel_week.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; } @@ -450,6 +450,35 @@ m_db.rollback();//鍥炴粴 ERR("updateLDeviceTable err ,Database Error: " << pModel.lastError().text().toStdString()); // QMessageBox::warning(NULL,QObject::tr("updateLDeviceTable"),QObject::tr("Database Error: %1").arg(pModel.lastError().text())); + 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; } } @@ -498,8 +527,8 @@ return lst; } -bool LDBTool::searchCamDevByCamId(QString strCamId) -{ + +bool LDBTool::searchCamDevByCamId(QString strCamId) { QMutexLocker mutexLocker(&m_mutexVisit);//TODO std::list<Record_Cam_Dev> lst; QSqlTableModel pModel(NULL, m_db); @@ -2403,7 +2432,7 @@ //config 淇敼瑁佸壀瑙嗛鏃堕暱 -bool LDBTool::updateConfigTableByCutDuration(int n_cut_max_duration,int n_cut_min_duration) { +bool LDBTool::updateConfigTableByCutDuration(int n_cut_max_duration, int n_cut_min_duration) { QMutexLocker mutexLocker(&m_mutexVisit);//TODO QSqlTableModel pModel(NULL, m_db); pModel.setTable("config"); @@ -2460,17 +2489,14 @@ lRec.dev_name = rec.value("dev_name").toString(); } lRec.dev_id = QString::fromStdString(appConfig.getStringProperty("DEV_ID")); - if(lRec.n_cut_max_duration == 0) - { + if (lRec.n_cut_max_duration == 0) { lRec.n_cut_max_duration = 20; } - if(lRec.n_cut_min_duration == 0) - { + if (lRec.n_cut_min_duration == 0) { lRec.n_cut_min_duration = 4; } return lRec; } - bool LDBTool::insertRecordVedioPath(QString pathKey, QString filePath) { @@ -2548,76 +2574,68 @@ } +bool LDBTool::updateCameraWeekRule(const LActRuleWeekRecord &weekRule) { + QMutexLocker mutexLocker(&m_mutexVisit);//TODO + QSqlTableModel pModel(NULL, m_db); + pModel.setTable("rule_week"); + pModel.setFilter(QObject::tr("camera_id = '%1' and type='%2' and sdk_type='%3'").arg(weekRule.m_strCamId).arg( + weekRule.m_nType).arg(weekRule.m_nSdkType)); + pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange + pModel.select(); + QSqlRecord rec = pModel.record(0); + //rec.setGenerated("id", false); + rec.setValue("camera_id", weekRule.m_strCamId); + rec.setValue("sdk_type", weekRule.m_nSdkType); + rec.setValue("type", weekRule.m_nType); + rec.setValue("begin_time", weekRule.m_strBegin); + rec.setValue("end_time", weekRule.m_strEnd); + + int rowCount = pModel.rowCount(); + if (rowCount == 0) { + pModel.insertRecord(-1, rec); + } else if (rowCount > 0) { + pModel.setRecord(0, rec);//TODO + } + + m_db.transaction();//寮�濮嬩簨鍔℃搷浣� + + if (pModel.submitAll()) { + m_db.commit();//鎻愪氦 + return true; + } else { + m_db.rollback();//鍥炴粴 + ERR("updateCameraWeekRule ,pModel_load Error: " << pModel.lastError().text().toStdString()); + + return false; + } +} + +std::vector<LActRuleWeekRecord> LDBTool::searchCameraWeekRuleByCamId(const QString &camId, const int &sdkType) { + std::vector<LActRuleWeekRecord> vecWeek; + QMutexLocker mutexLocker(&m_mutexVisit);//TODO + QSqlTableModel pModel(NULL, m_db); + pModel.setTable("rule_week"); + pModel.setFilter(QObject::tr("camera_id = '%1' and sdk_type='%2'").arg(camId).arg(sdkType)); + pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange + pModel.select(); + + int rowCount = pModel.rowCount(); + for (int i = 0; i < rowCount; ++i) { + LActRuleWeekRecord lActRuleWeekRec; + QSqlRecord rec = pModel.record(i); + lActRuleWeekRec.m_nSdkType = rec.value("sdk_type").toInt(); + lActRuleWeekRec.m_nType = rec.value("type").toInt(); + lActRuleWeekRec.m_strBegin = rec.value("begin_time").toString(); + lActRuleWeekRec.m_strEnd = rec.value("end_time").toString(); + lActRuleWeekRec.m_strCamId = rec.value("camera_id").toString(); + vecWeek.push_back(lActRuleWeekRec); + } + + return vecWeek; +} - bool LDBTool::updateCameraWeekRule(const LActRuleWeekRecord& weekRule) - { - QMutexLocker mutexLocker(&m_mutexVisit);//TODO - QSqlTableModel pModel(NULL, m_db); - pModel.setTable("rule_week"); - pModel.setFilter(QObject::tr("camera_id = '%1' and type='%2' and sdk_type='%3'").arg(weekRule.m_strCamId).arg(weekRule.m_nType).arg(weekRule.m_nSdkType)); - pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange - pModel.select(); - QSqlRecord rec = pModel.record(0); - //rec.setGenerated("id", false); - rec.setValue("camera_id",weekRule.m_strCamId); - rec.setValue("sdk_type",weekRule.m_nSdkType); - rec.setValue("type", weekRule.m_nType); - rec.setValue("begin_time", weekRule.m_strBegin); - rec.setValue("end_time",weekRule.m_strEnd); - - int rowCount = pModel.rowCount(); - if (rowCount == 0) - { - pModel.insertRecord(-1, rec); - } - else if (rowCount > 0) - { - pModel.setRecord(0, rec);//TODO - } - - m_db.transaction();//寮�濮嬩簨鍔℃搷浣� - - if (pModel.submitAll()) { - m_db.commit();//鎻愪氦 - return true; - } else { - m_db.rollback();//鍥炴粴 - ERR("updateCameraWeekRule ,pModel_load Error: " << pModel.lastError().text().toStdString()); - - return false; - } - } - std::vector<LActRuleWeekRecord> LDBTool::searchCameraWeekRuleByCamId(const QString& camId,const int& sdkType) - { - std::vector<LActRuleWeekRecord> vecWeek; - QMutexLocker mutexLocker(&m_mutexVisit);//TODO - QSqlTableModel pModel(NULL, m_db); - pModel.setTable("rule_week"); - pModel.setFilter(QObject::tr("camera_id = '%1' and sdk_type='%2'").arg(camId).arg(sdkType)); - pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange - pModel.select(); - - int rowCount = pModel.rowCount(); - for(int i = 0;i < rowCount;++i) - { - LActRuleWeekRecord lActRuleWeekRec; - QSqlRecord rec = pModel.record(i); - lActRuleWeekRec.m_nSdkType = rec.value("sdk_type").toInt(); - lActRuleWeekRec.m_nType = rec.value("type").toInt(); - lActRuleWeekRec.m_strBegin = rec.value("begin_time").toString(); - lActRuleWeekRec.m_strEnd = rec.value("end_time").toString(); - lActRuleWeekRec.m_strCamId=rec.value("camera_id").toString(); - vecWeek.push_back(lActRuleWeekRec); - } - - return vecWeek; - } - - - -bool LDBTool::updateSdkRule(const SdkRule& sdkRule) -{ +bool LDBTool::updateSdkRule(const SdkRule &sdkRule) { QMutexLocker mutexLocker(&m_mutexVisit);//TODO QSqlTableModel pModel(NULL, m_db); pModel.setTable("sdk_rule"); @@ -2628,75 +2646,107 @@ rec.setValue("cam_id", sdkRule.strCamId); rec.setValue("sdk_type", sdkRule.nSdkType); rec.setValue("area", sdkRule.strAreas); - rec.setValue("ex_area",sdkRule.strExAreas); - rec.setValue("line",sdkRule.strLine); - rec.setValue("ex_line",sdkRule.strExLine); - rec.setValue("alarm_delay",sdkRule.nTriggerDelay); - rec.setValue("tolerance",sdkRule.nTriggerTolerance); - rec.setValue("alarm_num_upper",sdkRule.nAlarmNumUpperLimit); - rec.setValue("alarm_num_lower",sdkRule.nAlarmNumLowerLimit); - rec.setValue("broadcast_area",sdkRule.strBroadcast); - rec.setValue("is_run",sdkRule.nIsRun); - rec.setValue("img_threshold",sdkRule.nThreshold); - rec.setValue("img_quality",sdkRule.nQuality); + rec.setValue("ex_area", sdkRule.strExAreas); + rec.setValue("line", sdkRule.strLine); + rec.setValue("ex_line", sdkRule.strExLine); + rec.setValue("alarm_delay", sdkRule.nTriggerDelay); + rec.setValue("tolerance", sdkRule.nTriggerTolerance); + rec.setValue("alarm_num_upper", sdkRule.nAlarmNumUpperLimit); + rec.setValue("alarm_num_lower", sdkRule.nAlarmNumLowerLimit); + rec.setValue("broadcast_area", sdkRule.strBroadcast); + rec.setValue("is_run", sdkRule.nIsRun); + rec.setValue("img_threshold", sdkRule.nThreshold); + rec.setValue("img_quality", sdkRule.nQuality); int rowCount = pModel.rowCount(); - if (rowCount == 0) - { + if (rowCount == 0) { pModel.insertRecord(-1, rec); - } - else if (rowCount > 0) - { + } else if (rowCount > 0) { pModel.setRecord(0, rec);//TODO } m_db.transaction();//寮�濮嬩簨鍔℃搷浣� - if (pModel.submitAll()) - { + if (pModel.submitAll()) { m_db.commit();//鎻愪氦 return true; - } - else - { + } else { m_db.rollback();//鍥炴粴 ERR("updateSdkRule ,pModel_load Error: " << pModel.lastError().text().toStdString()); return false; } } -SdkRuleMap LDBTool::searchSdkRuleByCamId(const QString& camId) -{ + +SdkRuleMap LDBTool::searchSdkRuleByCamId(const QString &camId) { QMutexLocker mutexLocker(&m_mutexVisit);//TODO QSqlTableModel pModel(NULL, m_db); pModel.setTable("sdk_rule"); pModel.setFilter(QObject::tr("cam_id = '%1' ").arg(camId)); pModel.setEditStrategy(QSqlTableModel::OnManualSubmit);//OnManualSubmit OnFieldChange pModel.select(); - std::map<int,SdkRule> ruleMap; + std::map<int, SdkRule> ruleMap; //std::vector<SdkRule> ruleVec; int rowCount = pModel.rowCount(); - for(int i=0;i<rowCount;++i) - { + for (int i = 0; i < rowCount; ++i) { SdkRule rule; QSqlRecord rec = pModel.record(i); - rule.strCamId=rec.value("cam_id").toString(); - rule.strAreas=rec.value("area").toString(); - rule.strExAreas=rec.value("ex_area").toString(); - rule.strLine=rec.value("line").toString(); - rule.strExLine=rec.value("ex_line").toString(); - rule.nTriggerDelay=rec.value("alarm_delay").toInt(); - rule.nTriggerTolerance=rec.value("tolerance").toInt(); - rule.nQuality=rec.value("img_quality").toInt(); - rule.nThreshold=rec.value("img_threshold").toInt(); - rule.nAlarmNumUpperLimit=rec.value("alarm_num_upper").toInt(); - rule.nAlarmNumLowerLimit=rec.value("alarm_num_lower").toInt(); - rule.strBroadcast=rec.value("broadcast_area").toString(); - rule.nIsRun=rec.value("is_run").toInt(); - rule.nSdkType=rec.value("sdk_type").toInt(); - ruleMap[rule.nSdkType]=rule; + rule.strCamId = rec.value("cam_id").toString(); + rule.strAreas = rec.value("area").toString(); + rule.strExAreas = rec.value("ex_area").toString(); + rule.strLine = rec.value("line").toString(); + rule.strExLine = rec.value("ex_line").toString(); + rule.nTriggerDelay = rec.value("alarm_delay").toInt(); + rule.nTriggerTolerance = rec.value("tolerance").toInt(); + rule.nQuality = rec.value("img_quality").toInt(); + rule.nThreshold = rec.value("img_threshold").toInt(); + rule.nAlarmNumUpperLimit = rec.value("alarm_num_upper").toInt(); + rule.nAlarmNumLowerLimit = rec.value("alarm_num_lower").toInt(); + rule.strBroadcast = rec.value("broadcast_area").toString(); + rule.nIsRun = rec.value("is_run").toInt(); + rule.nSdkType = rec.value("sdk_type").toInt(); + ruleMap[rule.nSdkType] = rule; //ruleVec.push_back(rule); } 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(); + lChannelRec.n_type = rec.value("type").toInt(); + lst.push_back(lChannelRec); + } + } + + return lst; +} \ No newline at end of file -- Gitblit v1.8.0