From cad6542d8ec383e90d2c7e525b4d0a2c1cefcea7 Mon Sep 17 00:00:00 2001 From: kejingfan Date: Thu, 1 Aug 2024 11:26:02 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=A7=BB=E8=B5=84=E5=AD=98=E5=9C=A8bug?= =?UTF-8?q?=EF=BC=8C=E5=B7=B2=E8=A7=A3=E5=86=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- newCardPage.cpp | 18 ++++++++++++++---- queryPage.cpp | 9 +++++++++ reportLossPage.cpp | 8 ++++++++ 3 files changed, 31 insertions(+), 4 deletions(-) diff --git a/newCardPage.cpp b/newCardPage.cpp index 0d1dc91..109df6a 100644 --- a/newCardPage.cpp +++ b/newCardPage.cpp @@ -137,7 +137,12 @@ void MainWindow::on_newCardButton_clicked() "where id = :userId"); query.bindValue(":userId", cardUserId); bool success = query.exec(); - if (!success || !query.next()) + if (!success) + { + QMessageBox::warning(this, "提示", QString("数据库异常。\n重开卡失败,请重试。")); + return; + } + if (!query.next()) { QMessageBox::warning(this, "提示", QString("数据库异常。\n重开卡失败,请重试。")); return; @@ -516,10 +521,15 @@ bool MainWindow::transferCard(int userId, QString newCardId, QString oldCardId, // 查询旧卡余额 query.finish(); query.prepare("select balance from card " - "where userId = :userId;"); - query.bindValue(":userId", oldCardId); + "where id = :cardId;"); + query.bindValue(":cardId", oldCardId); isExecuted = query.exec(); - if (!isExecuted || query.next()) + if (!isExecuted) + { + info = QString("数据库异常。"); + return false; + } + if (!query.next()) { info = QString("数据库异常。"); return false; diff --git a/queryPage.cpp b/queryPage.cpp index 73275c7..8b833dc 100644 --- a/queryPage.cpp +++ b/queryPage.cpp @@ -114,6 +114,11 @@ void MainWindow::on_userRecordQueryButton_clicked() { ui->queryCardStatusLabel->setText(QString("已被挂失")); } + if (cardStatus == 1) + { + ui->queryCardStatusLabel->setText(QString("启用中")); + } + userId = query.value("userId").toInt(); balance = query.value("balance").toDouble(); ui->queryBalanceShowEdit->setText(QString::number(balance, 'f', 2)); @@ -337,6 +342,10 @@ void MainWindow::on_cardRecordQueryButton_clicked() { ui->queryCardStatusLabel->setText(QString("已被挂失")); } + if (cardStatus == 1) + { + ui->queryCardStatusLabel->setText(QString("启用中")); + } balance = query.value("balance").toDouble(); ui->queryBalanceShowEdit->setText(QString::number(balance, 'f', 2)); } diff --git a/reportLossPage.cpp b/reportLossPage.cpp index ddee988..b4d5656 100644 --- a/reportLossPage.cpp +++ b/reportLossPage.cpp @@ -65,6 +65,14 @@ void MainWindow::on_reportLossButton_clicked() return; } + QString info, prompt = QString("如需挂失该学/工号绑定的卡,请输入密码。"); + success = verifyUser(userId, prompt, info); + if (!success) + { + QMessageBox::warning(this, "提示", info + QString("\n验证用户失败。挂失失败,请重试。")); + return; + } + // 将该学/工号的卡设置为挂失状态 query.prepare(QString("update card " "set `status` = -1 "