Yao před 1 měsícem
rodič
revize
ca82c7d27e

+ 32 - 20
blastProject/hprojectdao.cpp

@@ -41,7 +41,6 @@ bool HProjectDao::addHProject(const HProject &project) {
     query.bindValue(":deletedAt", project.getDeletedAt().toString(Qt::ISODateWithMs));
     query.bindValue(":createBy", project.getCreateBy());
     query.bindValue(":updateBy", project.getUpdateBy());
-    qDebug() << "Executing SQL query:" << query.lastQuery();
     if (!query.exec()) {
         return false;
     }
@@ -181,23 +180,40 @@ QList<QSharedPointer<HProject>> HProjectDao::getRegistedProjectByAddressUuid(
     QList<QString> addressUuids) {
     QList<QSharedPointer<HProject>> projects;
     QSqlQuery query(database);
-    QString placeholders = QString(",").repeated(addressUuids.size() - 1).prepend(":addressUuid");
-    query.prepare("SELECT * FROM h_project WHERE address_uuid IN (" + placeholders +
-                  ") "
-                  "AND blast_status = " +
-                  BlastStatus::Registered + " ORDER BY created_at");
 
-    for (const QString &addressUuid : addressUuids) {
-        query.bindValue(":addressUuid", addressUuid);
-        if (!query.exec()) {
-            QMessageBox::critical(
-                nullptr, "数据搜索异常",
-                QString("通过地址查询注册工程数据异常: %1").arg(query.lastError().text()));
-            return projects;
-        }
-        while (query.next()) {
-            projects.append(recordToProject(query.record()));
+    if (addressUuids.isEmpty()) {
+        return projects;
+    }
+
+    QString placeholders;
+    for (int i = 0; i < addressUuids.size(); i++) {
+        if (i > 0) {
+            placeholders += ", ";
         }
+        placeholders += QString(":addressUuid%1").arg(i);
+    }
+
+    QString queryStr = QString(
+                           "SELECT * FROM h_project WHERE address_uuid IN (%1) "
+                           "AND blast_status = %2 ORDER BY created_at")
+                           .arg(placeholders)
+                           .arg(BlastStatus::Registered);
+
+    query.prepare(queryStr);
+
+    // Bind each address UUID separately
+    for (int i = 0; i < addressUuids.size(); i++) {
+        query.bindValue(QString(":addressUuid%1").arg(i), addressUuids.at(i));
+    }
+
+    if (!query.exec()) {
+        QMessageBox::critical(
+            nullptr, "数据搜索异常",
+            QString("通过地址查询注册工程数据异常: %1").arg(query.lastError().text()));
+        return projects;
+    }
+    while (query.next()) {
+        projects.append(recordToProject(query.record()));
     }
     return projects;
 }
@@ -227,14 +243,10 @@ bool HProjectDao::updateBlastStatusByUuid(const QString &uuid, const QString &bl
     query.bindValue(":uuid", uuid);
     query.bindValue(":blastStatus", blastStatus);
 
-    qDebug() << "Executing SQL query to update blast_status:" << query.lastQuery();
     if (!query.exec()) {
         qCritical() << "Failed to update blast_status for HProject:" << query.lastError().text();
         return false;
     }
-
-    qDebug() << "Executing SQL query to update blast_status completed successfully.";
-    ;
     return true;
 }
 

+ 3 - 4
blastProject/projectdialog.cpp

@@ -227,15 +227,15 @@ void ProjectDialog::setFormData(const HProject &Project) {
         if (indexBlast != -1) {
             ui->comboBoxBlast->setCurrentIndex(indexBlast);
         } else {
-            qDebug() << "未找到选项 " << "。";
+            qDebug() << "indexBlast 未找到选项 " << indexBlast << "。";
         }
         int indexOper = ui->comboBoxOperator->findText(Project.getOperatorName());
         if (indexOper != -1) {
             ui->comboBoxOperator->setCurrentIndex(indexOper);
         } else {
-            qDebug() << "未找到选项 " << "。";
+            qDebug() << "operator 未找到选项 " << Project.getOperatorName() << "。";
         }
-        QStringList addressParts = Project.getAddressUuid().split("/");
+        QStringList addressParts = Project.getAddressPath().split("/");
         int numAddresses = addressParts.size();
         qDebug() << "numAddresses " << numAddresses;
         QVector<QString> addressVariables;
@@ -245,7 +245,6 @@ void ProjectDialog::setFormData(const HProject &Project) {
         }
         // 查找目标文本对应的索引
         int indexAddr = ui->comboBoxAddr->findText(addressVariables[0]);
-
         if (indexAddr != -1) {
             // 如果找到了对应的索引,设置为当前索引
             ui->comboBoxAddr->setCurrentIndex(indexAddr);

+ 6 - 7
blastopepage.cpp

@@ -20,7 +20,7 @@ BlastOpePage::BlastOpePage(QWidget *parent)
     initPagination();
 }
 
-void BlastOpePage::showDownWidget(QString uuid, const QString &topic, const QString &message) {
+void BlastOpePage::showCountDownWidget(QString uuid, const QString &topic, const QString &message) {
     CountdownWidget *countdownWidget = new CountdownWidget(this);
     countdownWidget->resize(200, 200);
     int x = (this->width() - countdownWidget->width()) / 2;
@@ -437,7 +437,7 @@ void BlastOpePage::loadDataFromSource(int currentPage, int pageSize) {
         if (index.isValid()) {
             ui->tableView->setIndexWidget(index, widget);
             connect(button, &QPushButton::clicked,
-                    [this, row, button]() { handleButtonClick(row, button); });
+                    [this, row, button]() { handleRowOperateButtonClick(row, button); });
         }
     }
 }
@@ -530,7 +530,6 @@ void BlastOpePage::onUpdateBlastStatus(int status, int row) {
                 customColor = QColor("#404185");
                 model->setData(index, customColor, Qt::ForegroundRole);
                 break;
-
             case 3:
                 model->setData(index, "充 电 中 ...");
                 customColor = QColor("#31688e");
@@ -554,7 +553,7 @@ void BlastOpePage::onUpdateBlastStatus(int status, int row) {
             // case 0:
             //     model->setData(index, "已 注 册");
             //     customColor = QColor("#8e620");
-            //     model->setData(index, customColor, Qt::ForegroundRole);
+            //     model->setData(index, customColor, Qt::ForeroundRole);
             //     break;
             case 10:
                 model->setData(index, "按 下 双 建 起 爆 ...");
@@ -567,7 +566,7 @@ void BlastOpePage::onUpdateBlastStatus(int status, int row) {
     }
 }
 
-void BlastOpePage::handleButtonClick(int row, QPushButton *button) {
+void BlastOpePage::handleRowOperateButtonClick(int row, QPushButton *button) {
     QStandardItem *uuidItem = model->item(row, 10);
     QString uuid;
     if (uuidItem) {
@@ -578,13 +577,13 @@ void BlastOpePage::handleButtonClick(int row, QPushButton *button) {
     }
 
     if (button->text() == startBlastButtonTxt) {
-        button->setMinimumWidth(120);
+        button->setMinimumWidth(100);
         button->setText(stopBlastButtonTxt);
         firingWidget *widget = new firingWidget(row, false, uuid);
         connect(widget, &firingWidget::progressChanged, this, &BlastOpePage::updateProgressBar);
         connect(widget, &firingWidget::updateBlastStatus, this, &BlastOpePage::onUpdateBlastStatus);
         connect(widget, &firingWidget::updateButton, this, &BlastOpePage::changeButByMqtt);
-        connect(widget, &firingWidget::countdown, this, &BlastOpePage::showDownWidget);
+        connect(widget, &firingWidget::countdown, this, &BlastOpePage::showCountDownWidget);
         connect(widget, &firingWidget::updateProjectStatus, this, &BlastOpePage::updateProject);
         connect(widget, &firingWidget::closeFiring, this, &BlastOpePage::destroyFiringWidget);
         if (isShowTriggeringWidget) {

+ 5 - 5
blastopepage.h

@@ -48,7 +48,7 @@ class BlastOpePage : public QWidget {
     void updateProgressBar(int value, int row);
     void onUpdateBlastStatus(int status, int row);
     void changeButByMqtt(int status, int row);
-    void showDownWidget(QString uuid, const QString &topic, const QString &message);
+    void showCountDownWidget(QString uuid, const QString &topic, const QString &message);
     void updateProject(QString uuid);
     void destroyFiringWidget(const QString &uuid);
     void on_btnSelect_clicked();
@@ -70,7 +70,7 @@ class BlastOpePage : public QWidget {
     void initPagination();
     QJsonObject sendPostRequest(const QUrl &url, const QJsonObject &data);
     QJsonObject getMetaInfo();
-    void handleButtonClick(int row, QPushButton *button);
+    void handleRowOperateButtonClick(int row, QPushButton *button);
     bool checkUuidsSame();
 
    private:
@@ -93,8 +93,8 @@ class BlastOpePage : public QWidget {
     int pageSize;     // 每页显示的记录数量
     int currentPage;  // 当前页面
     int totalCount;
-    QString stopBlastButtonTxt = "中止起爆流程";
-    QString startBlastButtonTxt = "开启起爆流程";
-};
+    QString stopBlastButtonTxt = "中止起爆";
+    QString startBlastButtonTxt = "开启起爆";
+}
 
 #endif  // BLASTOPEPAGE_H

+ 36 - 19
fireWidget/firingwidget.cpp

@@ -62,11 +62,33 @@ void firingWidget::sendMqttMessage(const QString &topic, const QByteArray &messa
 }
 
 void firingWidget::startBlasting() {
-    // TODO 检测起爆器是否在线
     QTimer::singleShot(1000, this, [this]() {
         lastStage = 0;
         emit lastStageChanged(0);
     });
+
+    // 3s内如果没有收到mqtt响应,则报错
+    QTimer *connectionCheckTimer = new QTimer(this);
+    connectionCheckTimer->setSingleShot(true);
+    bool isReceivedMessage = false;
+    connect(mqttThread, &MqttThread::projectMqttMessageReceived, this,
+            [connectionCheckTimer](const QByteArray &message) {
+                qDebug() << ANSI_COLOR_GREEN
+                         << "Received connection confirmation message from MQTT server."
+                         << ANSI_COLOR_RESET;
+                connectionCheckTimer->stop();
+            });
+    connect(connectionCheckTimer, &QTimer::timeout, this, [this]() {
+        if (m_isMqttConnected) {
+            QMessageBox::critical(nullptr, "起爆错误",
+                                  "未收到爆破器的连接确认消息,请检查爆破器是否在线");
+            Logger::getInstance().error("启动爆破后,未收到爆破器的连接确认消息");
+            cancelBlasting();
+        } else {
+            QMessageBox::critical(this, "连接mqtt错误", "MQTT连接失败,请尝试重新登录");
+        }
+    });
+    connectionCheckTimer->start(2000);
 }
 
 void firingWidget::on_pushButton_2_clicked() { emit countdown(m_uuid, topic, "message"); }
@@ -186,17 +208,18 @@ void firingWidget::handleProjectFiringMqttMessage(const QByteArray &message,
                             ui->pushButton_2->setEnabled(false);
                             emit progressChanged(3, m_row);
                             emit updateBlastStatus(3, m_row);
-                            ui->pushButton_2->setText("待确认");
+                            ui->pushButton_2->setText("充电");
                             navProgress->setState(3);
                             break;
                         case 4:
-                            ui->pushButton_2->setEnabled(false);
-                            ui->pushButton_2->setText("待确认");
-                            navProgress->setState(4);
+                            ui->pushButton_2->setEnabled(true);
+                            emit progressChanged(4, m_row);
                             emit updateBlastStatus(4, m_row);
+                            ui->pushButton_2->setText("起爆");
+                            navProgress->setState(4);
                             break;
                         case 5:
-                            ui->pushButton_2->setEnabled(true);
+                            ui->pushButton_2->setEnabled(false);
                             emit progressChanged(5, m_row);
                             emit updateBlastStatus(5, m_row);
                             emit updateButton(5, m_row);
@@ -222,6 +245,7 @@ void firingWidget::handleProjectFiringMqttMessage(const QByteArray &message,
                         default:
                             break;
                     }
+
                     emit lastStageChanged(lastStage);
                 }
             }
@@ -237,6 +261,7 @@ void firingWidget::handleProjectFiringMqttMessage(const QByteArray &message,
 }
 
 void firingWidget::onCountdownFinished(const QString &topic, const QString &message) {
+    qDebug() << "Countdown finished for topic:" << topic << ", message:" << message;
     sendMqttMessage(topic, message.toUtf8());
 }
 
@@ -277,17 +302,13 @@ void firingWidget::onLastStageChanged(int newStage) {
             buttonText = "立即测试";
             sendMqttMessage(topic, message.toUtf8());
             break;
-        case 2:  // 进入充电
+        case 2:
             message = "开始充电";
             buttonText = "充电";
             sendMqttMessage(topic, message.toUtf8());
             break;
-        case 3:  // 充电完成
-            message = "待安全确认";
-            // buttonText = "起爆";
-            break;
-        case 4:  // 充电完成
-            message = "待起爆";
+        case 4:
+            message = "起爆";
             buttonText = "起爆";
             break;
         case 5:
@@ -311,18 +332,14 @@ void firingWidget::onLastStageChanged(int newStage) {
             return;
     }
 
-    Logger::getInstance().info(
-        QString("Stage changed to: %1, sending message: %2").arg(newStage).arg(message));
     if (!message.isEmpty()) {
-        if (lastStage == 3 && !m_select) {
+        if (lastStage == 4 && !m_select) {
             bool success2;
             serialTool = SerialTool::getInstance(nullptr, &success2);
             if (serialTool) {
                 QByteArray data = "\r\nENABLE_BUTTON\r\n";
                 bool success = serialTool->sendData(data);
                 if (success) {
-                    Logger::getInstance().info(
-                        QString("Data sent successfully to serial tool: %1").arg(data));
                     qDebug() << "Data sent successfully";
                 } else {
                     qDebug() << "Failed to send data";
@@ -332,8 +349,8 @@ void firingWidget::onLastStageChanged(int newStage) {
                 connectionPress = connect(
                     serialTool, &SerialTool::buttonPressedReceived,
                     [this, topic, message]() { this->onButtonPressedReceived(topic, message); });
+
             } else {
-                Logger::getInstance().error("SerialTool instance not found.");
                 qDebug() << "serialTool Not fond.";
                 // 在准备起爆状态下 但是没有获取串口
                 lastStage = 10;

+ 2 - 2
global.cpp

@@ -4,9 +4,9 @@ QUrl apiBackendUrl("http://localhost:8000/api/v1/");  // 定义并初始化全
 QString labLat("未知");
 QString labLon("未知");
 QString globalAuthority;
-QString firewidgetPort("COM1");
+QString firewidgetPort("COM4");  // 4 for dev; 1: 爆破装
 QString gpsPort("COM3");
 QString databaseHost("192.168.0.241");
 QString mqttClientId("mqttclient_OnDevPC");
 QString MQTT_TOPIC_CAMPANY_PROJECTS("hxgc/companycode/pro/P");
-bool isShowTriggeringWidget = true;
+bool isShowTriggeringWidget = false;

+ 1 - 1
global.h

@@ -22,7 +22,7 @@ extern bool isShowTriggeringWidget;          // 是否显示点火装置触发
 namespace BlastStatus {
 const QString Created = "1";
 const QString Registered = "2";
-const QString Blasted = "4";
+const QString Blasted = "3";
 const QString SafeChecked = "5";
 }  // namespace BlastStatus
 

+ 47 - 46
hprojectdao.cpp

@@ -1,16 +1,17 @@
 #include "HProjectDao.h"
 
+HProjectDao::HProjectDao(QSqlDatabase db) : database(db) {}
 
-HProjectDao::HProjectDao(QSqlDatabase db):database(db)
-{
-}
-
-bool HProjectDao::addHProject(const HProject &project)
-{
-
+bool HProjectDao::addHProject(const HProject &project) {
     QSqlQuery query;
-    query.prepare("INSERT INTO h_project (uuid, name, company_code, htid, xmbh, operator_name, operator_identity, blaster_name, blaster_identity, address_uuid, pc_sn, det_sum, file_name, file_url, blast_status, created_at, updated_at, deleted_at, create_by, update_by) "
-                  "VALUES (:uuid, :name, :companyCode, :htid, :xmbh, :operatorName, :operatorIdentity, :blasterName, :blasterIdentity, :addressUuid, :pcSn, :detSum, :fileName, :fileUrl, :blastStatus, :createdAt, :updatedAt, :deletedAt, :createBy, :updateBy)");
+    query.prepare(
+        "INSERT INTO h_project (uuid, name, company_code, htid, xmbh, operator_name, "
+        "operator_identity, blaster_name, blaster_identity, address_uuid, pc_sn, det_sum, "
+        "file_name, file_url, blast_status, created_at, updated_at, deleted_at, create_by, "
+        "update_by) "
+        "VALUES (:uuid, :name, :companyCode, :htid, :xmbh, :operatorName, :operatorIdentity, "
+        ":blasterName, :blasterIdentity, :addressUuid, :pcSn, :detSum, :fileName, :fileUrl, "
+        ":blastStatus, :createdAt, :updatedAt, :deletedAt, :createBy, :updateBy)");
 
     query.bindValue(":uuid", project.getUuid());
     query.bindValue(":name", project.getName());
@@ -33,7 +34,6 @@ bool HProjectDao::addHProject(const HProject &project)
     query.bindValue(":createBy", project.getCreateBy());
     query.bindValue(":updateBy", project.getUpdateBy());
 
-
     qDebug() << "Executing SQL query:" << query.lastQuery();
     if (!query.exec()) {
         qCritical() << "Failed to save HProject:" << query.lastError().text();
@@ -43,31 +43,31 @@ bool HProjectDao::addHProject(const HProject &project)
     return true;
 }
 
-bool HProjectDao::updateHProject(const HProject &project)
-{
+bool HProjectDao::updateHProject(const HProject &project) {
     QSqlQuery query;
-    query.prepare("UPDATE h_project SET "
-                  "uuid = :uuid, "
-                  "name = :name, "
-                  "company_code = :companyCode, "
-                  "htid = :htid, "
-                  "xmbh = :xmbh, "
-                  "operator_name = :operatorName, "
-                  "operator_identity = :operatorIdentity, "
-                  "blaster_name = :blasterName, "
-                  "blaster_identity = :blasterIdentity, "
-                  "address_uuid = :addressUuid, "
-                  "pc_sn = :pcSn, "
-                  "det_sum = :detSum, "
-                  "file_name = :fileName, "
-                  "file_url = :fileUrl, "
-                  "blast_status = :blastStatus, "
-                  "created_at = :createdAt, "
-                  "updated_at = :updatedAt, "
-                  "deleted_at = :deletedAt, "
-                  "create_by = :createBy, "
-                  "update_by = :updateBy "
-                  "WHERE id = :id");
+    query.prepare(
+        "UPDATE h_project SET "
+        "uuid = :uuid, "
+        "name = :name, "
+        "company_code = :companyCode, "
+        "htid = :htid, "
+        "xmbh = :xmbh, "
+        "operator_name = :operatorName, "
+        "operator_identity = :operatorIdentity, "
+        "blaster_name = :blasterName, "
+        "blaster_identity = :blasterIdentity, "
+        "address_uuid = :addressUuid, "
+        "pc_sn = :pcSn, "
+        "det_sum = :detSum, "
+        "file_name = :fileName, "
+        "file_url = :fileUrl, "
+        "blast_status = :blastStatus, "
+        "created_at = :createdAt, "
+        "updated_at = :updatedAt, "
+        "deleted_at = :deletedAt, "
+        "create_by = :createBy, "
+        "update_by = :updateBy "
+        "WHERE id = :id");
 
     query.bindValue(":id", project.getId());
     query.bindValue(":uuid", project.getUuid());
@@ -100,10 +100,9 @@ bool HProjectDao::updateHProject(const HProject &project)
     return true;
 }
 
-bool HProjectDao::deleteHProject(const HProject &project)
-{
+bool HProjectDao::deleteHProject(const HProject &project) {
     QSqlQuery query;
-    qDebug()<<"Id"<<project.getId();
+    qDebug() << "Id" << project.getId();
     query.prepare("DELETE FROM h_project WHERE id = :id");
     query.bindValue(":id", project.getId());
     if (!query.exec()) {
@@ -124,12 +123,12 @@ bool HProjectDao::deleteHProject(const HProject &project)
 //     return HProject();
 // }
 
-PaginatedHProjectResult HProjectDao::getAllHProjects(int page, int pageSize)
-{
+PaginatedHProjectResult HProjectDao::getAllHProjects(int page, int pageSize) {
     QList<QSharedPointer<HProject>> projects;
     QSqlQuery query(database);
     int offset = (page - 1) * pageSize;
-    query.prepare("SELECT * FROM h_project ORDER BY created_at LIMIT :pageSize OFFSET :offset");
+    query.prepare(
+        "SELECT * FROM h_project ORDER BY created_at desc LIMIT :pageSize OFFSET :offset");
     query.bindValue(":pageSize", pageSize);
     query.bindValue(":offset", offset);
     // while (query.next()) {
@@ -151,11 +150,10 @@ PaginatedHProjectResult HProjectDao::getAllHProjects(int page, int pageSize)
     if (query.exec() && query.next()) {
         totalCount = query.value(0).toInt();
     }
-    return { projects, totalCount };
+    return {projects, totalCount};
 }
 
-QSharedPointer<HProject> HProjectDao::recordToProject(const QSqlRecord &record)
-{
+QSharedPointer<HProject> HProjectDao::recordToProject(const QSqlRecord &record) {
     QSharedPointer<HProject> project = QSharedPointer<HProject>::create();
     project->setId(record.value("id").toInt());
     project->setUuid(record.value("uuid").toString());
@@ -173,9 +171,12 @@ QSharedPointer<HProject> HProjectDao::recordToProject(const QSqlRecord &record)
     project->setFileName(record.value("file_name").toString());
     project->setFileUrl(record.value("file_url").toString());
     project->setBlastStatus(record.value("blast_status").toString());
-    project->setCreatedAt(QDateTime::fromString(record.value("created_at").toString(), Qt::ISODateWithMs));
-    project->setUpdatedAt(QDateTime::fromString(record.value("updated_at").toString(), Qt::ISODateWithMs));
-    project->setDeletedAt(QDateTime::fromString(record.value("deleted_at").toString(), Qt::ISODateWithMs));
+    project->setCreatedAt(
+        QDateTime::fromString(record.value("created_at").toString(), Qt::ISODateWithMs));
+    project->setUpdatedAt(
+        QDateTime::fromString(record.value("updated_at").toString(), Qt::ISODateWithMs));
+    project->setDeletedAt(
+        QDateTime::fromString(record.value("deleted_at").toString(), Qt::ISODateWithMs));
     project->setCreateBy(record.value("create_by").toInt());
     project->setUpdateBy(record.value("update_by").toInt());
     return project;

+ 17 - 2
mainwindow.cpp

@@ -141,6 +141,8 @@ void MainWindow::initialMqttService() {
 }
 
 void MainWindow::handleMqttProjectsMessage(const QByteArray &message, const QMqttTopicName &topic) {
+    Logger::getInstance().info("Received Mqtt message on topic: " + topic.name() +
+                               ", message: " + QString::fromUtf8(message));
     QJsonDocument jsonDoc = QJsonDocument::fromJson(message);
     if (!jsonDoc.isNull() && jsonDoc.isObject()) {
         QJsonObject jsonObj = jsonDoc.object();
@@ -169,13 +171,26 @@ void MainWindow::handleMqttProjectsMessage(const QByteArray &message, const QMqt
             QJsonArray addressList = backendAPIManager::getHAddresses();
 
             QList<QString> subAddressUuids = findAllChildUuids(addressList, addressUuid);
+            subAddressUuids.append(addressUuid);  // 添加当前地址的 UUID
+            qDebug() << "子地址 UUIDs: " << subAddressUuids << "-----" << addressUuid;
+            if (subAddressUuids.isEmpty()) {
+                QMessageBox::information(nullptr, "安全验证失败",
+                                         QString("未找到子地址,练习安全员确认"));
+                return;
+            }
             HProjectDao dao = HProjectDao(DatabaseManager::getInstance().getDatabase());
 
-            QList<QSharedPointer<HProject>> projects =
+            QList<QSharedPointer<HProject>> pendingCheckProjects =
                 dao.getRegistedProjectByAddressUuid(subAddressUuids);
-            for (const auto &project : projects) {
+            for (const auto &project : pendingCheckProjects) {
                 dao.updateBlastStatusByUuid(project->getUuid(), BlastStatus::SafeChecked);
             }
+            if (!pendingCheckProjects.isEmpty()) {
+                QMessageBox::information(nullptr, "安全员确认信息",
+                                         QString("收到工程被安全员确认,请查看爆破列表"));
+                return;
+            }
+            // TODO: refresh the project list page
         }
     }
 }

+ 1 - 1
mqtt/mqttclient.cpp

@@ -102,7 +102,7 @@ void MqttClient::onMessageReceived(const QByteArray &message, const QMqttTopicNa
     if (topic.name() == MQTT_TOPIC_CAMPANY_PROJECTS) {
         emit proMessageReceived(message, topic);
     } else {
-        emit messageAndTopicReceived(message, topic);
+        emit messageReceived(message, topic);
     }
 }
 

+ 1 - 1
mqtt/mqttclient.h

@@ -24,7 +24,7 @@ class MqttClient : public QObject {
     void connectToMqttBroker();
    signals:
     void connected();
-    void messageAndTopicReceived(const QByteArray &message, const QMqttTopicName &topic);
+    void messageReceived(const QByteArray &message, const QMqttTopicName &topic);
     void proMessageReceived(const QByteArray &message, const QMqttTopicName &topic);
    private slots:
 

+ 2 - 2
mqttthread.cpp

@@ -1,6 +1,6 @@
 #include "mqttthread.h"
 
-#include "./mqtt/mqttclient.h"  // 假设 MqttClient 类的头文件是 mqttclient.h
+#include "./mqtt/mqttclient.h"
 #include "logger.h"
 
 MqttThread::MqttThread(QObject *parent) : QThread(parent) {}
@@ -39,7 +39,7 @@ void MqttThread::run() {
                                     m_topicsToSubscribe);
 
     connect(mqttClient, &MqttClient::connected, this, &MqttThread::mqttConnected);
-    connect(mqttClient, &MqttClient::messageAndTopicReceived, this,
+    connect(mqttClient, &MqttClient::messageReceived, this,
             &MqttThread::projectMqttMessageReceived);
     connect(this, &MqttThread::sendMessageRequested, mqttClient, &MqttClient::sendMessage);
     while (!m_stopFlag) {