Commit 7d27352c by wuyang.zou

fix bug

parent 3bd036b1
...@@ -35,6 +35,7 @@ FlowControl::FlowControl() ...@@ -35,6 +35,7 @@ FlowControl::FlowControl()
m_loginSocket = NULL; m_loginSocket = NULL;
m_pullOrderSocket = NULL; m_pullOrderSocket = NULL;
m_procOrderSocket = NULL; m_procOrderSocket = NULL;
m_refundOrderSocket = NULL;
m_pullDishesSocket = NULL; m_pullDishesSocket = NULL;
m_pullOrderListSocket = NULL; m_pullOrderListSocket = NULL;
...@@ -253,7 +254,7 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject) ...@@ -253,7 +254,7 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject)
{ {
int oldStatus = orderObject->orderStatus; int oldStatus = orderObject->orderStatus;
orderObject->FromJson(jsonObject); orderObject->FromJson(jsonObject);
QLOG_INFO() << QString("[<<<<---FmTakeout Valid Order Map:Update orderId:%1 OldStatus:%2: curStatus:%3]--->>>>]").arg(orderObject->id,oldStatus,orderObject->orderStatus); QLOG_INFO() << QString("[<<<<---FmTakeout Valid Order Map:Update orderId:%1 OldStatus:%2: curStatus:%3]--->>>>]").arg(orderObject->id).arg(oldStatus).arg(orderObject->orderStatus);
if(oldStatus != orderObject->orderStatus) if(oldStatus != orderObject->orderStatus)
{ {
emit changeOrderStatus(orderObject, oldStatus); emit changeOrderStatus(orderObject, oldStatus);
...@@ -328,6 +329,23 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject) ...@@ -328,6 +329,23 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject)
} }
break; break;
case OrderObject::Sendout: case OrderObject::Sendout:
if(!orderObject->isPush)
{
orderObject->pushOrderType = 1;
orderObject->pushOrderTimes = 0;
m_OrderEntryMutex.lock();
if(!m_simValidOrdersList.contains(orderObject->id))
{
m_simValidOrdersList.append(orderObject->id);
}
m_OrderEntryMutex.unlock();
QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:Sendout m_simValidOrdersList.num:%1 --->>>>]")<< m_simValidOrdersList.count();
QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:Sendout m_simValidOrdersList:%1 --->>>>]")<< m_simValidOrdersList;
QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:Sendout _ClickOMSAssignArea --->>>>]");
emit doHideMainShowFloatFrom();
_ClickOMSAssignArea();
}
break;
case OrderObject::Finished: case OrderObject::Finished:
break; break;
case OrderObject::RequestRefund: case OrderObject::RequestRefund:
...@@ -388,6 +406,7 @@ void FlowControl::onGetNewStoreInfo() ...@@ -388,6 +406,7 @@ void FlowControl::onGetNewStoreInfo()
m_loginSocket = new BillSocket(this); m_loginSocket = new BillSocket(this);
m_pullOrderSocket = new BillSocket(this); m_pullOrderSocket = new BillSocket(this);
m_procOrderSocket = new BillSocket(this); m_procOrderSocket = new BillSocket(this);
m_refundOrderSocket = new BillSocket(this);
m_pullDishesSocket = new BillSocket(this); m_pullDishesSocket = new BillSocket(this);
m_pullOrderListSocket = new BillSocket(this); m_pullOrderListSocket = new BillSocket(this);
_GetStoreInfo(); _GetStoreInfo();
...@@ -431,14 +450,37 @@ bool FlowControl::_Login() ...@@ -431,14 +450,37 @@ bool FlowControl::_Login()
if(ConfigManger::GetInstance().GetLoginSslConfig()) if(ConfigManger::GetInstance().GetLoginSslConfig())
{ {
m_loginSocket->SetSslConfig(); m_loginSocket->SetSslConfig();
QLOG_INFO() << QString("[<<<<---_Login Set ssl Config--->>>>]");
} }
// 测试oms服务down后,退单时会导致插件程序退出;
/*if(1){
QJsonObject sendJsontemp;
sendJsontemp.insert(JSON_ORDERID, "123456789");
sendJsontemp.insert("canceledCause", -1);
sendJsontemp.insert(JSON_POSIPADDRESS,QString("http://10.222.221.163:8080"));
QLOG_INFO() << QString("[<<<<---_Login Test:--->>>>][requestData:%1]")<<sendJsontemp;
if(ConfigManger::GetInstance().GetOrderSslConfig()) {
m_procOrderSocket->SetSslConfig();
QLOG_INFO()<<"_Login load ssl";
} else {
QLOG_INFO()<<"_Login load not ssl";
}
m_procOrderSocket->SetUrl(QUrl(ConfigManger::GetInstance().GetOrderServerUrl() + ConfigManger::GetInstance().GetInterfaceName(INI_INTERFACE_CANCLE)));
QLOG_INFO() << QString("[<<<<---_Login Refund Order Request: --->>>>]")<< m_procOrderSocket->GetUrl();
result = m_procOrderSocket->PostRequest(sendJsontemp, recvJson, error);
QLOG_INFO() << QString("[<<<<---_Login Refund Order response:result:%1 --->>>>]")<<result;
return true;
}*/
// 测试oms服务down后,退单时会导致插件程序退出;
qDebug()<<ConfigManger::GetInstance().GetLoginServerUrl()+ qDebug()<<ConfigManger::GetInstance().GetLoginServerUrl()+
ConfigManger::GetInstance().GetInterfaceName(INI_INTERFACE_ILOGIN); ConfigManger::GetInstance().GetInterfaceName(INI_INTERFACE_ILOGIN);
m_loginSocket->SetUrl(QUrl(ConfigManger::GetInstance().GetLoginServerUrl()+ m_loginSocket->SetUrl(QUrl(ConfigManger::GetInstance().GetLoginServerUrl()+
ConfigManger::GetInstance().GetInterfaceName(INI_INTERFACE_ILOGIN))); ConfigManger::GetInstance().GetInterfaceName(INI_INTERFACE_ILOGIN)));
QLOG_INFO() << QString("[<<<<---_Login Qurl: --->>>>]")<<m_loginSocket->GetUrl();
result = m_loginSocket->PostRequest(sendJson, recvJson, error); result = m_loginSocket->PostRequest(sendJson, recvJson, error);
QLOG_INFO() << QString("[<<<<---Login Finshed--->>>>][result:%1][msg:%2][recvData:") QLOG_INFO() << QString("[<<<<---Login Finshed--->>>>][result:%1][msg:%2][recvData:").arg(result).arg(error)<<recvJson;
.arg(result).arg(error)<<recvJson;
if(!result) if(!result)
{ {
emit showAlert(AlertForm::MSGERROR, QString::fromLocal8Bit("登录失败![网络错误]")); emit showAlert(AlertForm::MSGERROR, QString::fromLocal8Bit("登录失败![网络错误]"));
...@@ -563,14 +605,14 @@ bool FlowControl::_PullOrderDetail(const QString& orderId) ...@@ -563,14 +605,14 @@ bool FlowControl::_PullOrderDetail(const QString& orderId)
_OrderAnalysis(order); _OrderAnalysis(order);
} }
} }
/*解析json数据失败则10秒后重新拉单*/ /*解析json数据失败则20秒后重新拉单*/
/*
if(!result) if(!result)
{ {
m_pullTimer->start(1000*10); m_pullTimer->start(1000*20);
_AddOrderPull(orderId); _AddOrderPull(orderId);
}else{
m_pullTimer->start(1000*5);
} }
*/
qDebug()<<"[<<<<---Pull Order Detail Result--->>>>]"<<result; qDebug()<<"[<<<<---Pull Order Detail Result--->>>>]"<<result;
return result; return result;
} }
...@@ -637,13 +679,12 @@ bool FlowControl::_PullOrderList(const int &pageSize, const int &pageNo) ...@@ -637,13 +679,12 @@ bool FlowControl::_PullOrderList(const int &pageSize, const int &pageNo)
} }
} }
} }
/* // 如果出现拉取订单列表失败,触发下一次拉门店有效订单的时间间隔变更为15(如果一开始就获取订单列表成功:时间间隔为5s)
if(!result) if(!result)
{ {
m_pullTimer->start(1000*10); m_pullTimer->start(1000*20);
_AddOrderPull(QString(),QString(),pageNo,pageSize); _AddOrderPull(QString(),QString(),pageNo,pageSize);
} }
*/
qDebug()<<"[<<<<---Pull Order List Result--->>>>]"<<result; qDebug()<<"[<<<<---Pull Order List Result--->>>>]"<<result;
return result; return result;
} }
...@@ -763,7 +804,7 @@ bool FlowControl::_RefuseOrder(const QString &orderId, int refuseCode,const QStr ...@@ -763,7 +804,7 @@ bool FlowControl::_RefuseOrder(const QString &orderId, int refuseCode,const QStr
emit showAlert(AlertForm::LOADING, QString::fromLocal8Bit("正在通信......")); emit showAlert(AlertForm::LOADING, QString::fromLocal8Bit("正在通信......"));
QLOG_INFO() << QString("[<<<<---Refuse Order Begin--->>>>][requestData:%1]")<<sendJson; QLOG_INFO() << QString("[<<<<---Refuse Order Begin--->>>>][requestData:%1]")<<sendJson;
result = m_procOrderSocket->PostRequest(sendJson, recvJson, error); result = m_refundOrderSocket->PostRequest(sendJson, recvJson, error);
QLOG_INFO() << QString("[<<<<---Refuse Order Finish--->>>>][result:%1][msg:%2][recvData:%3]") QLOG_INFO() << QString("[<<<<---Refuse Order Finish--->>>>][result:%1][msg:%2][recvData:%3]")
.arg(result).arg(error)<<recvJson; .arg(result).arg(error)<<recvJson;
if(!result) if(!result)
...@@ -953,21 +994,22 @@ bool FlowControl::_RefundOrder(const QString &orderId,int reasonCode,const QStri ...@@ -953,21 +994,22 @@ bool FlowControl::_RefundOrder(const QString &orderId,int reasonCode,const QStri
QLOG_INFO() << QString("[<<<<---Refund Order Begin--->>>>][requestData:%1]")<<sendJson; QLOG_INFO() << QString("[<<<<---Refund Order Begin--->>>>][requestData:%1]")<<sendJson;
if(ConfigManger::GetInstance().GetOrderSslConfig()) { if(ConfigManger::GetInstance().GetOrderSslConfig()) {
m_procOrderSocket->SetSslConfig(); m_refundOrderSocket->SetSslConfig();
QLOG_INFO()<<"load ssl"; QLOG_INFO()<<"load ssl";
} else { } else {
QLOG_INFO()<<"load not ssl"; QLOG_INFO()<<"load not ssl";
} }
// 如果退款原因:商品已售完,使用下面接口; // 如果退款原因:商品已售完,使用下面接口;
if(3 == reasonCode) { if(3 == reasonCode) {
m_procOrderSocket->SetUrl(QUrl(ConfigManger::GetInstance().GetOrderServerUrl()+ m_refundOrderSocket->SetUrl(QUrl(ConfigManger::GetInstance().GetOrderServerUrl()+
ConfigManger::GetInstance().GetInterfaceName(INI_INTERFACE_REFUND))); ConfigManger::GetInstance().GetInterfaceName(INI_INTERFACE_REFUND)));
} // 如果退款原因:其他,使用下面接口 } // 如果退款原因:其他,使用下面接口
else { else {
m_procOrderSocket->SetUrl(QUrl(ConfigManger::GetInstance().GetOrderServerUrl() + ConfigManger::GetInstance().GetInterfaceName(INI_INTERFACE_CANCLE))); m_refundOrderSocket->SetUrl(QUrl(ConfigManger::GetInstance().GetOrderServerUrl() + ConfigManger::GetInstance().GetInterfaceName(INI_INTERFACE_CANCLE)));
} }
result = m_procOrderSocket->PostRequest(sendJson, recvJson, error); QLOG_INFO() << QString("[<<<<---Refund Order Request: --->>>>]")<< m_refundOrderSocket->GetUrl();
QLOG_INFO() << QString("[<<<<---Refund Order Finish--->>>>][result:%1][msg:%2][recvData:%3]") result = m_refundOrderSocket->PostRequest(sendJson, recvJson, error);
QLOG_INFO() << QString("[<<<<---Refund Order Finish--->>>>][result:%1][msg:%2][recvData:]")
.arg(result).arg(error)<<recvJson; .arg(result).arg(error)<<recvJson;
if(!result) if(!result)
{ {
......
...@@ -81,6 +81,7 @@ private: ...@@ -81,6 +81,7 @@ private:
BillSocket *m_pullOrderSocket; BillSocket *m_pullOrderSocket;
BillSocket *m_pullOrderListSocket; BillSocket *m_pullOrderListSocket;
BillSocket *m_procOrderSocket; BillSocket *m_procOrderSocket;
BillSocket *m_refundOrderSocket;
BillSocket *m_pullDishesSocket; BillSocket *m_pullDishesSocket;
// FM外卖插件维护的有效订单容器 // FM外卖插件维护的有效订单容器
QMap<QString, OrderObject*> m_FmOrdersMap; QMap<QString, OrderObject*> m_FmOrdersMap;
......
...@@ -72,15 +72,17 @@ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj,const QString& ...@@ -72,15 +72,17 @@ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj,const QString&
query.addBindValue(orderObj->addressDetail); // --收货者 query.addBindValue(orderObj->addressDetail); // --收货者
query.addBindValue(orderObj->consigneePhone); // --收货者-电话 query.addBindValue(orderObj->consigneePhone); // --收货者-电话
query.addBindValue(orderObj->id); // --订单编号 query.addBindValue(orderObj->id); // --订单编号
query.addBindValue(orderObj->waybillId); // --物流编号 query.addBindValue((orderObj->waybillId).length()?orderObj->waybillId:0); // --物流编号
query.addBindValue(orderObj->pickupCode.length()==0?0:orderObj->pickupCode.toInt()); // --取餐号; query.addBindValue((orderObj->pickupCode).length()?orderObj->pickupCode.toInt():0); // --取餐号;
query.addBindValue(orderObj->riderPhone); // --配送者电话 query.addBindValue(orderObj->riderPhone); // --配送者电话
query.addBindValue(orderObj->riderName); // -配送者名称 query.addBindValue(orderObj->riderName); // -配送者名称
QLOG_INFO()<<QString("waybillId:%1").arg((orderObj->waybillId).length()?orderObj->waybillId:0);
if(!query.exec()) if(!query.exec())
{ {
QLOG_ERROR()<<"[<<<<---SqlServer Database:customer_info Error--->>>>]"<<query.lastError().text()<<QString::number(query.lastError().type()); QLOG_ERROR()<<"[<<<<---SqlServer Database:customer_info Error--->>>>]"<<query.lastError().text()<<QString::number(query.lastError().type());
result = false;
QLOG_INFO()<<QString("INSERT INTO tb_msr_customer_info(chk_num, last_name, full_name, gender, " QLOG_INFO()<<QString("INSERT INTO tb_msr_customer_info(chk_num, last_name, full_name, gender, "
"is_birthday, create_datetime, created_by, modify_datetime, modified_by, " "is_birthday, create_datetime, created_by, modify_datetime, modified_by, "
"accept_name, accept_address, accept_phone, order_id, " "accept_name, accept_address, accept_phone, order_id, "
...@@ -89,8 +91,7 @@ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj,const QString& ...@@ -89,8 +91,7 @@ bool PrintSumBillPosDB::insertOrderSumBill(OrderObject* orderObj,const QString&
.arg(orderObj->lastName).arg(orderObj->customerName).arg(temp_customerSex) .arg(orderObj->lastName).arg(orderObj->customerName).arg(temp_customerSex)
.arg(0).arg(qdaTi.addSecs(60*60*8).toString("yyyy-MM-dd hh:mm:ss")).arg(FlowControl::GetInstance()._GetCashierId()).arg("").arg("") .arg(0).arg(qdaTi.addSecs(60*60*8).toString("yyyy-MM-dd hh:mm:ss")).arg(FlowControl::GetInstance()._GetCashierId()).arg("").arg("")
.arg(orderObj->consigneeName).arg(orderObj->addressDetail).arg(orderObj->consigneePhone).arg(orderObj->id) .arg(orderObj->consigneeName).arg(orderObj->addressDetail).arg(orderObj->consigneePhone).arg(orderObj->id)
.arg(orderObj->waybillId).arg(orderObj->pickupCode.length()==0?0:orderObj->pickupCode.toInt()).arg(orderObj->riderPhone).arg(orderObj->riderName); .arg((orderObj->waybillId).length()?orderObj->waybillId:0).arg(orderObj->pickupCode.length()==0?0:orderObj->pickupCode.toInt()).arg(orderObj->riderPhone).arg(orderObj->riderName);
result = false;
} else { } else {
QLOG_INFO()<<QString("[<<<<---SqlServer Database:Insert OrderId %1 Into customer_info Success--->>>>]").arg(orderObj->id); QLOG_INFO()<<QString("[<<<<---SqlServer Database:Insert OrderId %1 Into customer_info Success--->>>>]").arg(orderObj->id);
result = true; result = true;
......
...@@ -36,21 +36,16 @@ void LoaclHttpServer::run() ...@@ -36,21 +36,16 @@ void LoaclHttpServer::run()
{ {
status = 0; status = 0;
msg = jsonError.errorString(); msg = jsonError.errorString();
} } /***解析Http Request json格式: 解析成功***/
/***解析Http Request json格式: 解析成功***/
else { else {
/***解析:FM外卖插件为响应http 请求准备返回数据:准备返回数据成功***/ /***解析:FM外卖插件为响应http 请求准备返回数据:准备返回数据成功***/
if(FlowControl::GetInstance()._ResponseHttpRequest(recvObject,data, msg)) if(FlowControl::GetInstance()._ResponseHttpRequest(recvObject,data, msg)) {
{
status = 100; status = 100;
} } /***解析:FM外卖插件为响应 Http 请求准备返回数据:准备返回数据失败***/
/***解析:FM外卖插件为响应 Http 请求准备返回数据:准备返回数据失败***/ else {
else{
status = 0; status = 0;
} } /***解析:等待Http获取的有效订单列表是否为空: sim有效订单列表不为空***/
/***解析:等待Http获取的有效订单列表是否为空: sim有效订单列表不为空***/ if(!FlowControl::GetInstance()._SimValidOrdersListIsEmpty()) {
if(!FlowControl::GetInstance()._SimValidOrdersListIsEmpty())
{
iscontinue=1; iscontinue=1;
} }
} }
......
...@@ -94,9 +94,14 @@ void BillSocket::SetUrl(QUrl &url) ...@@ -94,9 +94,14 @@ void BillSocket::SetUrl(QUrl &url)
m_networkRequest.setUrl(url); m_networkRequest.setUrl(url);
} }
QUrl BillSocket::GetUrl() const{
return m_networkRequest.url();
}
void BillSocket::SetSslConfig() void BillSocket::SetSslConfig()
{ {
QSslConfiguration m_sslConfig = QSslConfiguration::defaultConfiguration(); QSslConfiguration m_sslConfig = QSslConfiguration::defaultConfiguration();
//QSslConfiguration m_sslConfig = m_networkRequest.setSslConfiguration();
m_sslConfig.setPeerVerifyMode(QSslSocket::VerifyNone); m_sslConfig.setPeerVerifyMode(QSslSocket::VerifyNone);
m_sslConfig.setProtocol(QSsl::AnyProtocol); m_sslConfig.setProtocol(QSsl::AnyProtocol);
m_networkRequest.setSslConfiguration(m_sslConfig); m_networkRequest.setSslConfiguration(m_sslConfig);
......
...@@ -35,6 +35,11 @@ public: ...@@ -35,6 +35,11 @@ public:
* */ * */
void SetUrl(QUrl& url); void SetUrl(QUrl& url);
/* 功能:获取Http请求的 URL地址:
* 返回:URL地址;
* */
QUrl GetUrl() const;
/* 功能:设置Http请求的 ssl配置: /* 功能:设置Http请求的 ssl配置:
* 参数:void; * 参数:void;
* 返回:void; * 返回:void;
......
...@@ -6,8 +6,8 @@ ...@@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>100</width> <width>240</width>
<height>100</height> <height>120</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
......
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