Commit 3d462c58 by 刘帅

修改 trans_id类型不是字串解析出错 的问题

parent ec88357c
......@@ -389,6 +389,30 @@ int QFmClient::ProcessPosReqData(QJsonObject& object)
object = doc.object();
if(object.contains("trans_id") && (!object["trans_id"].isString()))
{
QString sRecvData(_recvbuf);
QString trans_id;
char sep = ',';
QStringList listItem;
listItem = sRecvData.split(sep,QString::SkipEmptyParts);
foreach (auto var, listItem)
{
if(var.contains("trans_id",Qt::CaseSensitive))
{
sep = ':';
QStringList slist = var.split(sep,QString::SkipEmptyParts);
qDebug()<<slist[1];
trans_id = slist[1].trimmed();
break;
}
}
object["trans_id"] = trans_id;
}
qDebug()<<object;
do
{
_sockTimeOut = _longTimeOut;
......@@ -830,6 +854,7 @@ void QFmClient::run()
memset(_sendbuf, 0, MAX_BUF_LEN);
QString temp = QString(QJsonDocument(object).toJson());
temp = temp.simplified();
strcpy(_sendbuf, temp.toStdString().c_str());
QLOG_INFO()<<"send to ZhProxy:\n"<<_sendbuf;
......@@ -984,6 +1009,7 @@ void QFmClient::CheckRollBackData()
memset(_sendbuf, 0, MAX_BUF_LEN);
QString temp = QString(QJsonDocument(json).toJson());
temp = temp.simplified();
strcpy(_sendbuf, temp.toStdString().c_str());
qDebug() << "rollback data:" << _sendbuf;
......
......@@ -7,7 +7,7 @@
#define MAX_CODE_KEY 32
#define MAX_CTRL_INFO_LEN 16
#define MAX_BUF_LEN 4096
#define MAX_BUF_LEN 25600
#define MAX_REQ_COUNT 25600
#define ROLL_BACK_FILE_NAME "fmclient.rbk"
......
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