Commit 7d27352c by wuyang.zou

fix bug

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