diff --git a/android/black/GetCardInfoScript.cpp b/android/black/GetCardInfoScript.cpp index df6007d..181a9d4 100644 --- a/android/black/GetCardInfoScript.cpp +++ b/android/black/GetCardInfoScript.cpp @@ -119,7 +119,7 @@ void GetCardInfoScript::doStart() { account.amount = balance; account.currency = "ARS"; account.description = "CVU"; - account.status = MaterialStatus::Active; + account.status = MaterialStatus::Off; account.updateTime = QDateTime::currentDateTimeUtc(); if (!MaterialDAO::upsertAccount(account)) { diff --git a/android/dushanbe/GetCardInfoScript.cpp b/android/dushanbe/GetCardInfoScript.cpp index 688af30..39b806a 100644 --- a/android/dushanbe/GetCardInfoScript.cpp +++ b/android/dushanbe/GetCardInfoScript.cpp @@ -248,7 +248,7 @@ void GetCardInfoScript::doStart() { account.amount = cardBalance; account.currency = "TJS"; account.description = cards[i].description.isEmpty() ? holder : cards[i].description; - account.status = MaterialStatus::Active; + account.status = MaterialStatus::Off; account.updateTime = QDateTime::currentDateTimeUtc(); qDebug() << "[Dushanbe::GetCardInfo] Saving card:" << "lastNumbers=" << lastNumbers diff --git a/android/ozon/GetCardInfoScript.cpp b/android/ozon/GetCardInfoScript.cpp index 1d26051..016d613 100644 --- a/android/ozon/GetCardInfoScript.cpp +++ b/android/ozon/GetCardInfoScript.cpp @@ -157,7 +157,7 @@ void GetCardInfoScript::doStart() { card.deviceId = device.id; card.appCode = m_appCode; card.updateTime = QDateTime::currentDateTimeUtc(); - card.status = MaterialStatus::Active; + card.status = MaterialStatus::Off; if (!MaterialDAO::upsertAccount(card)) { qWarning() << "[GetCardInfo] Failed to upsert account for card" << card.lastNumbers; } else { diff --git a/services/net/NetworkService.cpp b/services/net/NetworkService.cpp index 5f76a4c..eadf3e8 100644 --- a/services/net/NetworkService.cpp +++ b/services/net/NetworkService.cpp @@ -1126,6 +1126,23 @@ void NetworkService::postMaterial() { MaterialDAO::updateMaterialId(accountId, materialId); } qDebug() << "[NetworkService] postMaterial ok, card:" << body["card_number"].toString() << "material_id:" << materialId; + + // Сервер не применяет поле state при POST — отдельный PATCH //. + if (!materialId.isEmpty()) { + const QString state = body.value("state").toString(); + if (!state.isEmpty()) { + const QString enableStr = (state == "enabled") ? "true" : "false"; + const QString togglePath = m_apiBase + m_pathMaterial + "/" + materialId + "/" + enableStr; + const QJsonValue toggleResult = patchJson(togglePath, QJsonObject(), true); + if (toggleResult.isNull() || toggleResult.isUndefined()) { + qWarning() << "[NetworkService] postMaterial: state enforcement failed for" + << materialId << "state=" << state; + } else { + qDebug() << "[NetworkService] postMaterial: state enforced for" + << materialId << "state=" << state; + } + } + } } emit finished();