Commit a0fce148 by wuyang.zou

fix bug: 修复部分重要bug

parent c424f3f8
...@@ -75,6 +75,7 @@ private: ...@@ -75,6 +75,7 @@ private:
QTimer *m_heartTimer; QTimer *m_heartTimer;
QTimer *m_pullTimer; QTimer *m_pullTimer;
QTimer *m_loginTimer; QTimer *m_loginTimer;
QTimer *m_notifySimPullTimer;
// 网络通信 // 网络通信
BillSocket *m_loginSocket; BillSocket *m_loginSocket;
BillSocket *m_pullOrderSocket; BillSocket *m_pullOrderSocket;
...@@ -99,7 +100,8 @@ private: ...@@ -99,7 +100,8 @@ private:
//记录当前订单操作 //记录当前订单操作
QMap<QString, int> m_orderOperatePair; QMap<QString, int> m_orderOperatePair;
//订单拉取记录 //订单拉取记录
QList<PullOrderInfo> m_orderPullList; QList<PullOrderInfo*> m_orderPullList;
QMutex m_PullOrderDataMutex;
//订单操作互斥信号 //订单操作互斥信号
//QSemaphore semaphore; //QSemaphore semaphore;
...@@ -202,7 +204,7 @@ private slots: ...@@ -202,7 +204,7 @@ private slots:
* 参数:[1]订单编号 * 参数:[1]订单编号
* 返回:是否成功 * 返回:是否成功
* */ * */
void _PullOrder(); void _PullOrderData();
/* 功能:拉取指定订单 /* 功能:拉取指定订单
* 参数:[1]订单编号 * 参数:[1]订单编号
* 返回:是否成功 * 返回:是否成功
...@@ -270,7 +272,7 @@ private slots: ...@@ -270,7 +272,7 @@ private slots:
*参数:1、请求json参数;2、准备返回请求数据的Buff;3、返回错误信息; *参数:1、请求json参数;2、准备返回请求数据的Buff;3、返回错误信息;
*返回:是否准备成功; *返回:是否准备成功;
**/ **/
//bool _ResponseSimphonyRequest(const QJsonObject &content, QJsonObject &data,QString &error); //bool _ResponseHttpRequest(const QJsonObject &content, QJsonObject &data,QString &error);
/** /**
*功能:FM外卖插件为响应Simphony请求[action:01 -> 拉取订单]准备返回数据 *功能:FM外卖插件为响应Simphony请求[action:01 -> 拉取订单]准备返回数据
...@@ -312,7 +314,7 @@ private slots: ...@@ -312,7 +314,7 @@ private slots:
*参数:1、请求json参数;2、准备返回请求数据的Buff;3、返回错误信息; *参数:1、请求json参数;2、准备返回请求数据的Buff;3、返回错误信息;
*返回:是否准备成功; *返回:是否准备成功;
**/ **/
//bool _ResponseSimphony11Request(const QJsonObject &content, QJsonObject &data,QString &error); //bool _ResponseOMS11Request(const QJsonObject &content, QJsonObject &data,QString &error);
/** /**
*功能:FM外卖插件为响应Simphony请求[action:12 -> Sim/POS推送门店营业状态]准备返回数据 *功能:FM外卖插件为响应Simphony请求[action:12 -> Sim/POS推送门店营业状态]准备返回数据
...@@ -340,10 +342,11 @@ private slots: ...@@ -340,10 +342,11 @@ private slots:
QString _GetIpAddress(); QString _GetIpAddress();
void _AddOrderPull(const QString& orderId=0,const QString& channel=0,const int& pageNumber=1,const int& pageSize=100); void _AddOrderPull(const QString& orderId=0,const QString& channel=0,const int& pageNumber=1,const int& pageSize=100);
void _GetOrder(const QString& orderId,const QString& channel); void _GetReadyForPullOrder(const QString& orderId,const QString& channel);
//点击屏幕指定区域 //点击屏幕指定区域
void _ClickOMSAssignArea(); void _ClickOMSAssignArea();
void _ClickToLogin(); void _ClickToLogin();
void _ClickToNotifySimPullOrder();
void _OrderAnalysis(const QJsonObject &jsonObject); void _OrderAnalysis(const QJsonObject &jsonObject);
...@@ -417,7 +420,7 @@ public slots: ...@@ -417,7 +420,7 @@ public slots:
*参数:1、请求json参数;2、准备返回请求数据的Buff;3、返回错误信息; *参数:1、请求json参数;2、准备返回请求数据的Buff;3、返回错误信息;
*返回:是否准备成功; *返回:是否准备成功;
**/ **/
bool _ResponseSimphonyRequest(const QJsonObject &content, QJsonObject &data,QString &error); bool _ResponseHttpRequest(const QJsonObject &content, QJsonObject &data,QString &error);
/** /**
*功能:FM外卖插件为响应Simphony请求[action:01 -> 拉取订单]准备返回数据 *功能:FM外卖插件为响应Simphony请求[action:01 -> 拉取订单]准备返回数据
...@@ -459,7 +462,7 @@ public slots: ...@@ -459,7 +462,7 @@ public slots:
*参数:1、请求json参数;2、准备返回请求数据的Buff;3、返回错误信息; *参数:1、请求json参数;2、准备返回请求数据的Buff;3、返回错误信息;
*返回:是否准备成功; *返回:是否准备成功;
**/ **/
bool _ResponseSimphony11Request(const QJsonObject &content, QJsonObject &data,QString &error); bool _ResponseOMS11Request(const QJsonObject &content, QJsonObject &data,QString &error);
/** /**
*功能:FM外卖插件为响应Simphony请求[action:12 -> Sim/POS推送门店营业状态]准备返回数据 *功能:FM外卖插件为响应Simphony请求[action:12 -> Sim/POS推送门店营业状态]准备返回数据
......
...@@ -12,17 +12,17 @@ LoaclHttpServer::LoaclHttpServer() ...@@ -12,17 +12,17 @@ LoaclHttpServer::LoaclHttpServer()
void LoaclHttpServer::run() void LoaclHttpServer::run()
{ {
/*** 启动Http服务:用来响应Simphony_Script获取订单的请求***/ /*** 启动Http服务:用来响应Http获取订单的请求***/
QLOG_INFO()<< "[<<<<---LoaclHttpServer::Receive Simphony_Script Request:m_tcpServerManage:--->>>>]" << m_tcpServerManage; QLOG_INFO()<< "[<<<<---LoaclHttpServer::Receive Http Request:m_tcpServerManage:--->>>>]" << m_tcpServerManage;
m_tcpServerManage->setHttpAcceptedCallback( [this]( const QPointer< JQHttpServer::Session > &session ) m_tcpServerManage->setHttpAcceptedCallback( [this]( const QPointer< JQHttpServer::Session > &session )
{ {
QLOG_INFO()<< "[<<<<---LoaclHttpServer::Receive Simphony_Script Request:currentThreadId:--->>>>]" << QThread::currentThreadId(); QLOG_INFO()<< "[<<<<---LoaclHttpServer::Receive Http Request:currentThreadId:--->>>>]" << QThread::currentThreadId();
// 回调发生在新的线程内; // 回调发生在新的线程内;
/***解析FM外卖插件HTTP服务与Simphony_Script请求的会话连接是否断开: 会话连接未断开***/ /***解析FM外卖插件HTTP服务与Http请求的会话连接是否断开: 会话连接未断开***/
if(!session.isNull()) if(!session.isNull())
{ {
QString recvData = QString::fromUtf8(session->requestRawData()); QString recvData = QString::fromUtf8(session->requestRawData());
QLOG_INFO() << QString::fromLocal8Bit("[<<<<---Receive Simphony_Script Request recvData: %1--->>>>]").arg(recvData); QLOG_INFO() << QString::fromLocal8Bit("[<<<<---Receive Http Request recvData: %1--->>>>]").arg(recvData);
QJsonParseError jsonError; QJsonParseError jsonError;
QJsonObject recvObject; QJsonObject recvObject;
QJsonObject replyObject; QJsonObject replyObject;
...@@ -31,37 +31,37 @@ void LoaclHttpServer::run() ...@@ -31,37 +31,37 @@ void LoaclHttpServer::run()
QJsonObject data; //回复的内容json QJsonObject data; //回复的内容json
int iscontinue =0; int iscontinue =0;
recvObject = QJsonDocument::fromJson(recvData.toUtf8(), &jsonError).object(); recvObject = QJsonDocument::fromJson(recvData.toUtf8(), &jsonError).object();
/***解析Simphony_Script Request json格式: 解析失败***/ /***解析Http Request json格式: 解析失败***/
if(jsonError.error != QJsonParseError::NoError) if(jsonError.error != QJsonParseError::NoError)
{ {
status = 0; status = 0;
msg = jsonError.errorString(); msg = jsonError.errorString();
} }
/***解析Simphony_Script Request json格式: 解析成功***/ /***解析Http Request json格式: 解析成功***/
else { else {
/***解析:FM外卖插件为响应Simphony请求准备返回数据:准备返回数据成功***/ /***解析:FM外卖插件为响应http 请求准备返回数据:准备返回数据成功***/
if(FlowControl::GetInstance()._ResponseSimphonyRequest(recvObject,data, msg)) if(FlowControl::GetInstance()._ResponseHttpRequest(recvObject,data, msg))
{ {
status = 100; status = 100;
} }
/***解析:FM外卖插件为响应Simphony请求准备返回数据:准备返回数据失败***/ /***解析:FM外卖插件为响应 Http 请求准备返回数据:准备返回数据失败***/
else{ else{
status = 0; status = 0;
} }
/***解析:等待Simphony获取的有效订单列表是否为空: sim有效订单列表不为空***/ /***解析:等待Http获取的有效订单列表是否为空: sim有效订单列表不为空***/
if(!FlowControl::GetInstance()._SimValidOrdersListIsEmpty()) if(!FlowControl::GetInstance()._SimValidOrdersListIsEmpty())
{ {
iscontinue=1; iscontinue=1;
} }
} }
/***将FM外卖插件中的合法有效数据返回给上面Simphony_Script发过来的请求***/ /***将FM外卖插件中的合法有效数据返回给上面Http发过来的请求***/
replyObject = FlowControl::GetInstance()._PackHttpReplyJson(status, msg, data,iscontinue); replyObject = FlowControl::GetInstance()._PackHttpReplyJson(status, msg, data,iscontinue);
QLOG_INFO() << QString::fromLocal8Bit("[<<<<---FM外卖插件回应Simphony_Script拉单请求后的返回结果:--->>>>]") << replyObject; QLOG_INFO() << QString::fromLocal8Bit("[<<<<---FM外卖插件回应Http拉单请求后的返回结果:--->>>>]") << replyObject;
session->replyJsonObject(replyObject); session->replyJsonObject(replyObject);
} }
/***解析FM外卖插件HTTP服务与Simphony_Script请求的会话连接是否断开: 会话连接断开***/ /***解析FM外卖插件HTTP服务与Http请求的会话连接是否断开: 会话连接断开***/
else{ else{
QLOG_INFO() << QString::fromLocal8Bit("[<<<<---FM外卖插件Http服务与Simphony_Script请求会话断开连接:--->>>>]"); QLOG_INFO() << QString::fromLocal8Bit("[<<<<---FM外卖插件Http服务与Http请求会话断开链接--->>>>]");
} }
} ); } );
......
...@@ -39,7 +39,7 @@ void DetailForm::InitData(OrderObject *orderObject) ...@@ -39,7 +39,7 @@ void DetailForm::InitData(OrderObject *orderObject)
ui->detailLab0->setText(QString("[%1 # %2][%3][%4]").arg(QString::number(orderObject->orderIndex),orderObject->getChannelName(), ui->detailLab0->setText(QString("[%1 # %2][%3][%4]").arg(QString::number(orderObject->orderIndex),orderObject->getChannelName(),
orderObject->getOrderStatusDec(), orderObject->getOrderStatusDec(),
orderObject->id)); orderObject->id));
ui->detailLab1->setText(QString("%1:%2").arg(orderObject->customerName,orderObject->phone)); ui->detailLab1->setText(QString("%1:%2").arg(orderObject->consigneeName,orderObject->consigneePhone));
ui->detailLab2->setText(orderObject->deliveryTime.isEmpty()? QString::fromLocal8Bit("立即送出") : orderObject->deliveryTime); ui->detailLab2->setText(orderObject->deliveryTime.isEmpty()? QString::fromLocal8Bit("立即送出") : orderObject->deliveryTime);
ui->detailLab3->setText(orderObject->riderName.isEmpty() ? QString::fromLocal8Bit("暂未指定") : QString::fromLocal8Bit("[姓名]%1 [电话]%2") ui->detailLab3->setText(orderObject->riderName.isEmpty() ? QString::fromLocal8Bit("暂未指定") : QString::fromLocal8Bit("[姓名]%1 [电话]%2")
.arg(orderObject->riderName, orderObject->riderPhone)); .arg(orderObject->riderName, orderObject->riderPhone));
......
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