| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- #include "RunHttpGet_getCabinetHomePage.h"
- #include "../user/config.h"
- extern config *pconfig;
- RunHttpGet_getCabinetHomePage::RunHttpGet_getCabinetHomePage(InteractiveTask *task, QMutex *mutex)
- : RunAbstract(task, mutex)
- {
- }
- void RunHttpGet_getCabinetHomePage::run()
- {
- QByteArray outData = InteractiveHttp::http_get_getCabinetHomePage();
- InteractiveData *pSingletonData = SINGLETON_CREATE(InteractiveData)();
- // 进行数据写操作
- QWriteLocker locker(&pSingletonData->m_dataCacheLock);
- // 如果数据发生改变,缓存信息
- if (!outData.isEmpty())
- {
- pconfig->changeNumber = 0;
- pconfig->checkNumber = 0;
- pconfig->rarNumber = 0;
- pconfig->bottomTypeName.clear();
- pconfig->bottomTypeIcon.clear();
- pconfig->bottomTypeAll.clear();
- pconfig->bottomTypeBorrowable.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"))
- {
- if (jsonObjRoot.value("code").toInt() == 200)
- {
- QJsonObject jsonObjData = jsonObjRoot.value("data").toObject();
- QString changeNumber = QString::number(jsonObjData.value("changeNumber").toInt());
- QString checkNumber = QString::number(jsonObjData.value("checkNumber").toInt());
- QString rarNumber = QString::number(jsonObjData.value("rarNumber").toInt());
- pconfig->changeNumber = changeNumber;
- pconfig->checkNumber = checkNumber;
- pconfig->rarNumber = rarNumber;
- QJsonArray jsonArrList = jsonObjData.value("list").toArray();
- for (int i = 0; i < jsonArrList.size(); ++i)
- {
- QJsonObject jsonObjList = jsonArrList.at(i).toObject();
- QString materialsTypeId = jsonObjList.value("materialsTypeId").toString();
- QString materialsTypeName = jsonObjList.value("materialsTypeName").toString();
- QString materialsTypeIcon = jsonObjList.value("materialsTypeIcon").toString();
- QString allNumber = QString::number(jsonObjList.value("allNumber").toInt());
- QString borrowableNumber = QString::number(jsonObjList.value("borrowableNumber").toInt());
- pconfig->bottomTypeName.insert(materialsTypeId, materialsTypeName);
- pconfig->bottomTypeIcon.insert(materialsTypeId, materialsTypeIcon);
- pconfig->bottomTypeAll.insert(materialsTypeId, allNumber);
- pconfig->bottomTypeBorrowable.insert(materialsTypeId, borrowableNumber);
- }
- }
- }
- }
- }
- }
- }
|