| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- #include "RunHttpGet_getIsMaterialsPage.h"
- RunHttpGet_getIsMaterialsPage::RunHttpGet_getIsMaterialsPage(InteractiveTask *task, QMutex *mutex)
- : RunAbstract(task, mutex)
- {
- }
- void RunHttpGet_getIsMaterialsPage::run()
- {
- QByteArray outData = InteractiveHttp::http_get_getIsMaterialsPage();
- InteractiveData *pSingletonData = SINGLETON_CREATE(InteractiveData)();
- // 进行数据写操作
- QWriteLocker locker(&pSingletonData->m_dataCacheLock);
- if (pSingletonData->m_jsonCacheMaterialInfo != outData)
- {
- // 清理缓存数据
- pSingletonData->m_dataCacheMaterialInfoId.clear();
- pSingletonData->m_dataCacheMaterialInfoName.clear();
- pSingletonData->m_dataCacheMaterialInfoRfid.clear();
- pSingletonData->m_dataCacheMaterialInfoLoan.clear();
- pSingletonData->m_dataCacheMaterialInfoStat.clear();
- pSingletonData->m_dataCacheMaterialInfoDate.clear();
- pSingletonData->m_dataCacheMaterialInfoTypeId.clear();
- pSingletonData->m_dataCacheMaterialInfoPropId.clear();
- pSingletonData->m_dataCacheMaterialInfoCabinetId.clear();
- QJsonParseError error;
- QJsonDocument jsonDoc = QJsonDocument::fromJson(outData, &error);
- if (error.error == QJsonParseError::NoError)
- {
- if(!(jsonDoc.isNull() || jsonDoc.isEmpty()))
- {
- QJsonObject jsonObjRoot = jsonDoc.object();
- if(jsonObjRoot.contains("code") && jsonObjRoot.contains("data"))
- {
- QJsonObject jsonObjData = jsonObjRoot.value("data").toObject();
- if(jsonObjRoot.value("code").toInt() == 200 && jsonObjData.contains("records"))
- {
- QJsonArray jsonArrRecords = jsonObjData.value("records").toArray();
- for (int i = 0; i < jsonArrRecords.count(); ++i)
- {
- if (!jsonArrRecords.at(i).isObject())
- {
- continue;
- }
- QJsonObject jsonObjRecord = jsonArrRecords.at(i).toObject();
- QString materialsId = jsonObjRecord.value("materialsId").toString();
- QString materialsName = jsonObjRecord.value("materialsName").toString();
- QString materialsRfid = jsonObjRecord.value("materialsRfid").toString();
- QString loanState = jsonObjRecord.value("loanState").toString();
- QString status = jsonObjRecord.value("status").toString();
- QString expirationDate = jsonObjRecord.value("expirationDate").toString();
- QString materialsTypeId = jsonObjRecord.value("materialsTypeId").toString();
- QString propertiesValueId = jsonObjRecord.value("propertiesValueId").toString();
- QString materialsCabinetId = jsonObjRecord.value("materialsCabinetId").toString();
- if (!pSingletonData->m_dataCacheMaterialInfoId.contains(materialsId))
- {
- pSingletonData->m_dataCacheMaterialInfoId.append(materialsId);
- pSingletonData->m_dataCacheMaterialInfoName.insert(materialsId, materialsName);
- pSingletonData->m_dataCacheMaterialInfoRfid.insert(materialsId, materialsRfid);
- pSingletonData->m_dataCacheMaterialInfoLoan.insert(materialsId, loanState);
- pSingletonData->m_dataCacheMaterialInfoStat.insert(materialsId, status);
- pSingletonData->m_dataCacheMaterialInfoDate.insert(materialsId, expirationDate);
- pSingletonData->m_dataCacheMaterialInfoTypeId.insert(materialsId, materialsTypeId);
- pSingletonData->m_dataCacheMaterialInfoPropId.insert(materialsId, propertiesValueId);
- pSingletonData->m_dataCacheMaterialInfoCabinetId.insert(materialsId, materialsCabinetId);
- }
- }
- }
- }
- }
- }
- }
- }
|