Commit 1ac81a9b by 李定达

1.移植70%

parent c8dd9d79
......@@ -17,12 +17,12 @@ FMNetWork::FMNetWork(QObject *parent) : QObject(parent)
}
bool FMNetWork::HttpPost(QByteArray array, QString content, QString accept, int timeout)
bool FMNetWork::HttpPost(QString url, QByteArray outdata, const ByteArray &indata, QString content, QString accept, int timeout)
{
QString path;
ToolS::GetPath(path);
QString url = QSettings(path + "\\" + USERCONFIG_NAME, QSettings::IniFormat).value(VALUE_URL).toString();
//QString url = QSettings(path + "\\" + USERCONFIG_NAME, QSettings::IniFormat).value(VALUE_URL).toString();
QString host = QSettings(path + "\\" + USERCONFIG_NAME, QSettings::IniFormat).value(VALUE_HOST).toString();
QEventLoop loop;
......@@ -43,7 +43,7 @@ bool FMNetWork::HttpPost(QByteArray array, QString content, QString accept, int
request.setRawHeader("Authorization", "Basic dXBzLWNsaWVudDo2VGk4TjBXNzRyb1A=");
QNetworkReply* reply = manger.post(request, QJsonDocument(json).toJson(QJsonDocument::Compact));
QNetworkReply* reply = manger.post(request, indata);
connect(&timer, &QTimer::timeout, &loop, &QEventLoop::quit);
connect(&manger, &QNetworkAccessManager::finished, &loop, &QEventLoop::quit);
......@@ -60,9 +60,15 @@ bool FMNetWork::HttpPost(QByteArray array, QString content, QString accept, int
return false;
}
array = reply->readAll();
outdata = reply->readAll();
QLOG_INFO() << array;
if(outdata.isEmpty())
{
error = QString::fromLocal8Bit("返回数据为空");
return false;
}
QLOG_INFO() << outdata;
return true;
}
......@@ -9,7 +9,7 @@ class FMNetWork : public QObject
public:
explicit FMNetWork(QObject *parent = 0);
static bool HttpPost(QByteArray array, QString content, QString accept, int timeout = 60);
static bool HttpPost(QString url, QByteArray outdata, const ByteArray &indata, QString content, QString accept, int timeout = 60);
};
......
......@@ -9,10 +9,13 @@
#include "tools.h"
#include "QsLog.h"
#include "cretopt.h"
#include "fmnetwork.h"
#include <QtConcurrent>
RollBack::RollBack(QObject *parent) : QThread(parent)
{
_db = new FMPDataBase(DB_ORDER, QString("rollback"));
_spr.release(10);
}
RollBack::~RollBack()
......@@ -53,8 +56,33 @@ void RollBack::RollWiteQuery(QSqlQuery &query)
continue;
}
QLOG_INFO() << json;
QByteArray data = QJsonDocument(json).toJson(QJsonDocument::Compact);
_spr.acquire();
QtConcurrent::run( [this, parnetid, data]()
{
QByteArray array;
QString path;
ToolS::GetPath(path);
QString url = QSettings(path + "\\" + USERCONFIG_NAME, QSettings::IniFormat).value(VALUE_URL).toString();
if(FMNetWork::HttpPost(url, array, data, "application/json;charset=utf-8","application/json", 25))
{
FMPDataBase db(DB_ORDER, QString("curr") + QString::number(QThread::currentThreadId()));
db.dlt(DB_TABLE_NAME, QString("%1='%2'").arg(SQL_KEY_ORDERID).arg(parnetid));
}
QLOG_WARN() << QThread::currentThreadId() << ":" << array;
this->_spr.release();
});
}
}
......
......@@ -3,6 +3,7 @@
#include <QThread>
#include <QPointer>
#include <QSemaphore>
#include "fmp_database.h"
......@@ -20,6 +21,7 @@ public:
private:
FMPDataBase *_db;
QSemaphore _spr;
};
#endif // ROLLBACK_H
......@@ -264,16 +264,14 @@ bool Control::GetJson(ReqType type,QJsonObject &json, const QByteArray array, QS
if(type == againprint)
json.insert(JSON_KEY_FMID, _fmId);
if(type == refund && json.contains(JSON_KEY_STATUSCODE) && json[JSON_KEY_STATUSCODE].toInt() == 100)
json.insert(JSON_KET_CLIENTREF, FMTool::GetString(_request.Amount, 12));
RspFactory::GetResPonseJson(type, _response, json);
if(json.contains(JSON_KEY_MESSAGE))
error = json[JSON_KEY_MESSAGE].toString();
if(type == refund && json.contains(JSON_KEY_STATUSCODE) && json[JSON_KEY_STATUSCODE].toInt() == 100)
json.insert(JSON_KET_CLIENTREF, FMTool::GetString(_request.Amount, 12));
if(json.contains(JSON_KEY_STATUSCODE) && json[JSON_KEY_STATUSCODE].toInt() == 100)
return true;
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 3.5.1, 2017-08-25T14:34:56. -->
<!-- Written by QtCreator 3.5.1, 2017-08-25T18:48:34. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment