Commit b3cb2ebb by wuyang.zou

fix bug : 不记得了

parent e46a6f81
...@@ -242,7 +242,7 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject) ...@@ -242,7 +242,7 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject)
SimProcOrderDB::getInstance().insertSimProcOrder(orderObject->id,QDate::currentDate().toString("yyyy-MM-dd")); SimProcOrderDB::getInstance().insertSimProcOrder(orderObject->id,QDate::currentDate().toString("yyyy-MM-dd"));
if((OrderObject::NewOrder==orderObject->orderStatus||OrderObject::Confirmed==orderObject->orderStatus)) if((OrderObject::NewOrder==orderObject->orderStatus||OrderObject::Confirmed==orderObject->orderStatus))
{ {
emit startRemind(0); emit startRemind(REMIND_CONFIRMED_ORDER);
} }
} }
QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis-> changeOrderStatus--->>>>]"); QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis-> changeOrderStatus--->>>>]");
...@@ -253,8 +253,7 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject) ...@@ -253,8 +253,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 OldOrder Status[%1:%2]--->>>>].[data:%3]") QLOG_INFO() << QString("[<<<<---FmTakeout Valid Order Map:Update orderId:%1 OldStatus:%2: curStatus:%3]--->>>>]").arg(orderObject->id,oldStatus,orderObject->orderStatus);
.arg(orderObject->id,orderObject->getOrderStatusDec())<<jsonObject;
if(oldStatus != orderObject->orderStatus) if(oldStatus != orderObject->orderStatus)
{ {
emit changeOrderStatus(orderObject, oldStatus); emit changeOrderStatus(orderObject, oldStatus);
...@@ -264,19 +263,21 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject) ...@@ -264,19 +263,21 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject)
orderObject->updateTime=QDateTime::currentDateTime().toTime_t(); orderObject->updateTime=QDateTime::currentDateTime().toTime_t();
if(OrderObject::RequestRefund==orderObject->orderStatus) if(OrderObject::RequestRefund==orderObject->orderStatus)
{ {
emit startRemind(1); emit startRemind(REMIND_REQREFUND_ORDER);
} }
if(SimProcOrderDB::getInstance().isPushedOrder(orderObject->id)) if(SimProcOrderDB::getInstance().isPushedOrder(orderObject->id))
{ {
orderObject->isPush = true; orderObject->isPush = true;
} }
QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis-> orderObject->isPush--->>>>]")<< orderObject->isPush; QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis-> orderObject->isPush:(from SimProcOrderDB::getInstance().isPushedOrder)--->>>>]")<<orderObject->isPush;
// 初始化 退单数据:防止退单标志数据被异常改动;
if(SimProcOrderDB::getInstance().isRefundOrder(orderObject->id)) if(SimProcOrderDB::getInstance().isRefundOrder(orderObject->id))
{ {
orderObject->isCancle = true; orderObject->isCancle = true;
} }
QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis-> orderObject->isCancle--->>>>]")<< orderObject->isCancle; QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis-> orderObject->isCancle:(from SimProcOrderDB::getInstance().isRefundOrder)--->>>>]")<< orderObject->isCancle;
QString posOrderCheckNo = m_orderIdToPosCheckNoMap.value(orderObject->id); QString posOrderCheckNo = m_orderIdToPosCheckNoMap.value(orderObject->id);
...@@ -285,7 +286,7 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject) ...@@ -285,7 +286,7 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject)
SimProcOrderDB::getInstance().getPosOrderCheckNo(orderObject->id,posOrderCheckNo); SimProcOrderDB::getInstance().getPosOrderCheckNo(orderObject->id,posOrderCheckNo);
} }
orderObject->posCheckNo=posOrderCheckNo; orderObject->posCheckNo=posOrderCheckNo;
QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis-> orderObject->posCheckNo:--->>>>]")<<orderObject->posCheckNo; QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis-> orderObject->posCheckNo:(first:praram empty then getPosOrderCheckNo from databse)--->>>>]")<<orderObject->posCheckNo;
QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis-> orderObject->orderStatus:--->>>>]")<<orderObject->orderStatus; QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis-> orderObject->orderStatus:--->>>>]")<<orderObject->orderStatus;
switch (orderObject->orderStatus){ switch (orderObject->orderStatus){
case OrderObject::NewOrder: case OrderObject::NewOrder:
...@@ -333,23 +334,29 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject) ...@@ -333,23 +334,29 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject)
break; break;
case OrderObject::AgreeRefund: case OrderObject::AgreeRefund:
break; break;
case OrderObject::Refunded: /*退单目前本佳那边不区分 OrderObject::Refunded=6 && OrderObject::Cancled =6*/ case OrderObject::Refunded:{ /*退单目前本佳那边不区分 OrderObject::Refunded=6 && OrderObject::Cancled =6*/
/***case:同意退单、退单、取消订单: 此退单还没push到POS[POS没有确认退单或没有返回确认退单的小票号]***/ /***case:同意退单、退单、取消订单: 此退单还没push到POS[POS没有确认退单或没有返回确认退单的小票号]***/
if(!orderObject->isCancle) //m_OrderEntryMutex.lock(); // 扩大锁的范围;
//内存会出现BUG:现在改用数据库中标记来判断;
//if(!orderObject->isCancle)
bool bIsRefundOrder = SimProcOrderDB::getInstance().isRefundOrder(orderObject->id);
QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:Refunded orderObject->id:%1; bIsRefundOrder: --->>>>]").arg(orderObject->id)<<bIsRefundOrder;
if(!bIsRefundOrder)
{ {
/***case:校验此订单是否已经push到POS:订单还没push到POS[POS没有模拟点单或没有返回小票号]***/ /***case:校验此订单是否已经push到POS:订单还没push到POS[POS没有模拟点单或没有返回小票号]***/
if(!orderObject->isPush) //内存中处理存在BUG:现在改用 直接读数据库中的标志;
//if(!orderObject->isPush)
if(!SimProcOrderDB::getInstance().isPushedOrder(orderObject->id))
{ {
m_OrderEntryMutex.lock(); m_OrderEntryMutex.lock();
m_simValidOrdersList.removeOne(orderObject->id); m_simValidOrdersList.removeOne(orderObject->id);
m_OrderEntryMutex.unlock(); m_OrderEntryMutex.unlock();
} } /***case:校验此订单是否已经push到POS:订单已经push到POS***/
/***case:校验此订单是否已经push到POS:订单已经push到POS***/ else{ /***case:校验此订单push到POS后的小票号是否空:[POS已模拟点单且返回小票号]***/
else{
/***case:校验此订单push到POS后的小票号是否空:[POS已模拟点单且返回小票号]***/
if(!posOrderCheckNo.isEmpty()) if(!posOrderCheckNo.isEmpty())
{ {
orderObject->pushOrderType = 0; orderObject->isCancle =true; // 和orderObject->pushOrderType 来联合标记传出数据;
orderObject->pushOrderType = 0; //标记准备退单动作;
orderObject->pushOrderTimes = 0; orderObject->pushOrderTimes = 0;
m_OrderEntryMutex.lock(); m_OrderEntryMutex.lock();
if(!m_simValidOrdersList.contains(orderObject->id)) if(!m_simValidOrdersList.contains(orderObject->id))
...@@ -360,13 +367,15 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject) ...@@ -360,13 +367,15 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject)
QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:Cancled m_simValidOrdersList.num:%1 --->>>>]")<< m_simValidOrdersList.count(); QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:Cancled m_simValidOrdersList.num:%1 --->>>>]")<< m_simValidOrdersList.count();
QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:Cancled m_simValidOrdersList:%1 --->>>>]")<< m_simValidOrdersList; QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:Cancled m_simValidOrdersList:%1 --->>>>]")<< m_simValidOrdersList;
QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:Cancled _ClickOMSAssignArea --->>>>]"); QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:Cancled _ClickOMSAssignArea --->>>>]");
_ClickOMSAssignArea(); //_ClickOMSAssignArea();
} }
/***case:校验此订单push到POS后的小票号是否空:[POS已模拟点单但未返回小票号]***/ /***case:校验此订单push到POS后的小票号是否空:[POS已模拟点单但未返回小票号]***/
//else{未处理} //else{未处理}
} }
} }
//m_OrderEntryMutex.unlock(); //扩大解锁范围; //退单的先不处理;
break; break;
}
default: default:
break; break;
} }
...@@ -434,8 +443,8 @@ bool FlowControl::_Login() ...@@ -434,8 +443,8 @@ bool FlowControl::_Login()
emit showAlert(AlertForm::MSGERROR, QString::fromLocal8Bit("登录失败![网络错误]")); emit showAlert(AlertForm::MSGERROR, QString::fromLocal8Bit("登录失败![网络错误]"));
}else }else
{ {
//if(JSON_STATUSCODE_OK != recvJson[JSON_STATUSCODE].toInt()) if(JSON_STATUSCODE_OK != recvJson[JSON_STATUSCODE].toInt())
if(JSON_STATUSCODE_OK != recvJson[JSON_LOGINCODE].toInt()) //if(JSON_STATUSCODE_OK != recvJson[JSON_LOGINCODE].toInt())
{ {
result = false; result = false;
emit showAlert(AlertForm::MSGERROR, QString::fromLocal8Bit("登录失败![%1]").arg(recvJson[JSON_MESSAGE].toString())); emit showAlert(AlertForm::MSGERROR, QString::fromLocal8Bit("登录失败![%1]").arg(recvJson[JSON_MESSAGE].toString()));
...@@ -450,9 +459,9 @@ bool FlowControl::_Login() ...@@ -450,9 +459,9 @@ bool FlowControl::_Login()
emit setStoreInfo(m_storeId); emit setStoreInfo(m_storeId);
emit setCashierInfo(m_cashierId); emit setCashierInfo(m_cashierId);
m_bLoginResult= true; m_bLoginResult= true;
m_clearTimer->start(1000*60*20); // 二十分钟执行一次清理任务 m_clearTimer->start(1000*60*60*2); // 5分钟执行一次清理任务:正式上线需要两小时清理一次
m_heartTimer->start(1000*60*5); m_heartTimer->start(1000*60*5);
m_pullTimer->start(1000*2); m_pullTimer->start(1000*5);
m_notifySimPullTimer->start(10*1000); m_notifySimPullTimer->start(10*1000);
emit doPullOrder(QString(),QString()); emit doPullOrder(QString(),QString());
} }
...@@ -516,10 +525,10 @@ bool FlowControl::_PullOrderDetail(const QString& orderId) ...@@ -516,10 +525,10 @@ bool FlowControl::_PullOrderDetail(const QString& orderId)
if(ConfigManger::GetInstance().GetOrderSslConfig()) if(ConfigManger::GetInstance().GetOrderSslConfig())
{ {
m_pullOrderSocket->SetSslConfig(); m_pullOrderSocket->SetSslConfig();
QLOG_INFO()<<"FlowControl::_PullOrderDetai load ssl"; QLOG_INFO()<<"FlowControl::_PullOrderDetail load ssl";
} }
else{ else{
QLOG_INFO()<<"FlowControl::_PullOrderDetai load not ssl"; QLOG_INFO()<<"FlowControl::_PullOrderDetail load not ssl";
} }
QString url = ConfigManger::GetInstance().GetOrderServerUrl()+ QString url = ConfigManger::GetInstance().GetOrderServerUrl()+
ConfigManger::GetInstance().GetInterfaceName(INI_INTERFACE_PULLORDER); ConfigManger::GetInstance().GetInterfaceName(INI_INTERFACE_PULLORDER);
...@@ -658,8 +667,7 @@ bool FlowControl::_SendHeart() ...@@ -658,8 +667,7 @@ bool FlowControl::_SendHeart()
emit setNetStatus(QString::fromLocal8Bit("<font color='#ff0000'>网络不稳定,正在重试</font>")); emit setNetStatus(QString::fromLocal8Bit("<font color='#ff0000'>网络不稳定,正在重试</font>"));
}else }else
{ {
//QLOG_INFO() << QString("[<<<<---Send Heart Finish: code:%1--->>>>]").arg(recvJson[JSON_STATUSCODE].toInt()); /*
//if(JSON_STATUSCODE_OK != recvJson[JSON_STATUSCODE].toInt())
QLOG_INFO() << QString("[<<<<---Send Heart Finish: code:%1--->>>>]").arg(recvJson[JSON_LOGINCODE].toInt()); QLOG_INFO() << QString("[<<<<---Send Heart Finish: code:%1--->>>>]").arg(recvJson[JSON_LOGINCODE].toInt());
if(JSON_STATUSCODE_OK != recvJson[JSON_LOGINCODE].toInt()) if(JSON_STATUSCODE_OK != recvJson[JSON_LOGINCODE].toInt())
{ {
...@@ -667,6 +675,8 @@ bool FlowControl::_SendHeart() ...@@ -667,6 +675,8 @@ bool FlowControl::_SendHeart()
//emit showAlert(AlertForm::MSGERROR, QString::fromLocal8Bit("发送心跳失败![%1]").arg(recvJson[JSON_MESSAGE].toString())); //emit showAlert(AlertForm::MSGERROR, QString::fromLocal8Bit("发送心跳失败![%1]").arg(recvJson[JSON_MESSAGE].toString()));
emit setNetStatus(QString::fromLocal8Bit("<font color='#ff0000'>网络不稳定,正在重试</font>")); emit setNetStatus(QString::fromLocal8Bit("<font color='#ff0000'>网络不稳定,正在重试</font>"));
} }
*/
emit setNetStatus(QString::fromLocal8Bit("<font color='#f5f5f5'>正常</font>"));
} }
return result; return result;
} }
...@@ -776,7 +786,8 @@ bool FlowControl::_RefuseOrder(const QString &orderId, int refuseCode,const QStr ...@@ -776,7 +786,8 @@ bool FlowControl::_RefuseOrder(const QString &orderId, int refuseCode,const QStr
//取消订单(星巴克只有退单)后,将此订单加入到simphony 模拟点单列表中; //取消订单(星巴克只有退单)后,将此订单加入到simphony 模拟点单列表中;
if (OrderObject::Refunded == orderObject->orderStatus){ if (OrderObject::Refunded == orderObject->orderStatus){
if(!orderObject->isCancle) //if(!orderObject->isCancle) //内存中数据存在BUG:需要中数据库中读取准确标识;
if(!SimProcOrderDB::getInstance().isRefundOrder(orderObject->id))
{ {
// 判断Simphony 队列中的订单是否已经存在:不存在(Simphony已经点单完成后会移除)则添加; 如果存在(说明此订单还没有模拟点单),则需要直接向现存在Sim有效队列中的记录移除; // 判断Simphony 队列中的订单是否已经存在:不存在(Simphony已经点单完成后会移除)则添加; 如果存在(说明此订单还没有模拟点单),则需要直接向现存在Sim有效队列中的记录移除;
m_OrderEntryMutex.lock(); m_OrderEntryMutex.lock();
...@@ -899,9 +910,9 @@ bool FlowControl::_RefuseRefund(const QString& orderId) ...@@ -899,9 +910,9 @@ bool FlowControl::_RefuseRefund(const QString& orderId)
emit showAlert(AlertForm::LOADING, QString::fromLocal8Bit("正在通信......")); emit showAlert(AlertForm::LOADING, QString::fromLocal8Bit("正在通信......"));
QLOG_INFO() << QString("[<<<<---RefuseRefund Order Begin--->>>>][requestData:%1]")<<sendJson; QLOG_INFO() << QString("[<<<<---RefuseRefund Order Begin--->>>>][requestData:]")<<sendJson;
result = m_procOrderSocket->PostRequest(sendJson, recvJson, error); result = m_procOrderSocket->PostRequest(sendJson, recvJson, error);
QLOG_INFO() << QString("[<<<<---RefuseRefund Order Finish--->>>>][result:%1][msg:%2][recvData:%3]") QLOG_INFO() << QString("[<<<<---RefuseRefund Order Finish--->>>>][result:%1][msg:%2][recvData:]")
.arg(result).arg(error)<<recvJson; .arg(result).arg(error)<<recvJson;
if(!result) if(!result)
{ {
...@@ -931,7 +942,7 @@ bool FlowControl::_RefuseRefund(const QString& orderId) ...@@ -931,7 +942,7 @@ bool FlowControl::_RefuseRefund(const QString& orderId)
bool FlowControl::_RefundOrder(const QString &orderId,int reasonCode,const QString& reason,const QString& dishesListString) bool FlowControl::_RefundOrder(const QString &orderId,int reasonCode,const QString& reason,const QString& dishesListString)
{ {
QLOG_INFO() << QString("[<<<<---FlowControl::_RefundOrder--->>>>][orderId:%1 reasonCode:%2 reason:%3 dishesListString:]")<<orderId<<reasonCode<<reason<<dishesListString; QLOG_INFO() << QString("[<<<<---FlowControl::_RefundOrder--->>>>][orderId:%1 reasonCode:%2 reason:%3 dishesListString:]").arg(orderId).arg(reasonCode).arg(reason).arg(dishesListString);
QString error; QString error;
bool result; bool result;
QJsonObject sendJson; QJsonObject sendJson;
...@@ -947,11 +958,10 @@ bool FlowControl::_RefundOrder(const QString &orderId,int reasonCode,const QStri ...@@ -947,11 +958,10 @@ bool FlowControl::_RefundOrder(const QString &orderId,int reasonCode,const QStri
QLOG_INFO()<<"load not ssl"; QLOG_INFO()<<"load not ssl";
} }
// 如果退款原因:商品已售完,使用下面接口; // 如果退款原因:商品已售完,使用下面接口;
if(3 == reasonCode){ if(3 == reasonCode) {
m_procOrderSocket->SetUrl(QUrl(ConfigManger::GetInstance().GetOrderServerUrl()+ m_procOrderSocket->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()+ m_procOrderSocket->SetUrl(QUrl(ConfigManger::GetInstance().GetOrderServerUrl()+
ConfigManger::GetInstance().GetInterfaceName(INI_INTERFACE_CANCLE))); ConfigManger::GetInstance().GetInterfaceName(INI_INTERFACE_CANCLE)));
...@@ -973,15 +983,19 @@ bool FlowControl::_RefundOrder(const QString &orderId,int reasonCode,const QStri ...@@ -973,15 +983,19 @@ bool FlowControl::_RefundOrder(const QString &orderId,int reasonCode,const QStri
QJsonObject data = recvJson[JSON_DATA].toObject(); QJsonObject data = recvJson[JSON_DATA].toObject();
int status = data[JSON_RECEIVINGSTATUS].toInt(); int status = data[JSON_RECEIVINGSTATUS].toInt();
if(1==status) { if(1==status) {
emit showAlert(AlertForm::SUCCESS, QString::fromLocal8Bit("退单成功"));
//m_OrderEntryMutex.lock(); //必须提前加锁,否则后期订单ID会变更;
int orderStatus = data[JSON_ORDERSTATUS].toInt(); int orderStatus = data[JSON_ORDERSTATUS].toInt();
OrderObject* orderObject = m_FmOrdersMap.value(orderId); OrderObject* orderObject = m_FmOrdersMap.value(orderId);
int oldOrderStatus = orderObject->orderStatus; int oldOrderStatus = orderObject->orderStatus;
orderObject->orderStatus = orderStatus; orderObject->orderStatus = orderStatus;
emit changeOrderStatus(orderObject, oldOrderStatus); emit changeOrderStatus(orderObject, oldOrderStatus);
//退货订单,将此订单添加到simphony 模拟点单列表中; //退货订单,将此订单添加到simphony 模拟点单列表中;
QLOG_INFO() << QString("[<<<<---FmTakeout _RefundOrder: orderObject->id:%1 , orderObject->orderStatus:%2 --->>>>]").arg(orderObject->id).arg(orderObject->orderStatus);
QLOG_INFO() << QString("[<<<<---FmTakeout _RefundOrder: orderObject->id:%1 , orderObject->isCancle:%2 --->>>>]").arg(orderObject->id).arg(orderObject->isCancle);
if (OrderObject::Refunded == orderObject->orderStatus){ if (OrderObject::Refunded == orderObject->orderStatus){
if(!orderObject->isCancle) /*
if( !SimProcOrderDB::getInstance().isRefundOrder(orderObject->id) ) //发现BUG:存在两种case:①订单还没有录退单到POS;就已经将内存中订单的退单标识置True了,所以必须根据数据库中的数据来判断;
{ {
// 判断Simphony 队列中的订单是否已经存在:不存在(Simphony已经点单完成后会移除)则添加; 如果存在(说明此订单还没有模拟点单),则需要直接向现存在Sim有效队列中的记录移除; // 判断Simphony 队列中的订单是否已经存在:不存在(Simphony已经点单完成后会移除)则添加; 如果存在(说明此订单还没有模拟点单),则需要直接向现存在Sim有效队列中的记录移除;
m_OrderEntryMutex.lock(); m_OrderEntryMutex.lock();
...@@ -1000,8 +1014,30 @@ bool FlowControl::_RefundOrder(const QString &orderId,int reasonCode,const QStri ...@@ -1000,8 +1014,30 @@ bool FlowControl::_RefundOrder(const QString &orderId,int reasonCode,const QStri
QLOG_INFO() << QString("[<<<<---FmTakeout _RefundOrder: m_simValidOrdersList:%1 --->>>>]")<< m_simValidOrdersList; QLOG_INFO() << QString("[<<<<---FmTakeout _RefundOrder: m_simValidOrdersList:%1 --->>>>]")<< m_simValidOrdersList;
QLOG_INFO() << QString("[<<<<---FmTakeout _RefundOrder: _ClickOMSAssignArea --->>>>]"); QLOG_INFO() << QString("[<<<<---FmTakeout _RefundOrder: _ClickOMSAssignArea --->>>>]");
_ClickOMSAssignArea(); _ClickOMSAssignArea();
}*/
//能退单成功就肯定能断言,此订单是没有录过退货的
// 判断Simphony 队列中的订单是否已经存在:不存在(Simphony已经点单完成后会移除)则添加; 如果存在(说明此订单还拟点单),则需要直接向现存在Sim有效队列中的记录移除;没有模
m_OrderEntryMutex.lock();
if(!m_simValidOrdersList.contains(orderObject->id)) //不存在队列中,则将其加入到队列中;
{
QLOG_INFO() << QString("[<<<<---FmTakeout _RefundOrder: orderId:%1 ;(SimProcOrderDB::getInstance().isRefundOrder:--->>>>]").arg(orderObject->id)<<SimProcOrderDB::getInstance().isRefundOrder(orderObject->id);
//m_simValidOrdersList.append(orderObject->id); //insert(0,orderObject->id) //POS容易遗漏录入退货订单
m_simValidOrdersList.insert(0,orderObject->id);
orderObject->pushOrderType = 0;
orderObject->pushOrderTimes = 0;
}else{ //如果已经存在队列中,就是POS还没有录入销售订单成功;
//if(!PrintSumBillPosDB::getInstance().isOrderSumBillExist(orderObject->id)){
m_simValidOrdersList.removeOne(orderObject->id);
//}
} }
QLOG_INFO() << QString("[<<<<---FmTakeout _RefundOrder: m_simValidOrdersList.num:%1 --->>>>]")<< m_simValidOrdersList.count();
QLOG_INFO() << QString("[<<<<---FmTakeout _RefundOrder: m_simValidOrdersList:%1 --->>>>]")<< m_simValidOrdersList;
QLOG_INFO() << QString("[<<<<---FmTakeout _RefundOrder: _ClickOMSAssignArea --->>>>]");
m_OrderEntryMutex.unlock();
_ClickOMSAssignArea(); //必须执行,否则退货,点击取消后,就不会再提醒了;
} }
//m_OrderEntryMutex.unlock(); //必须放开锁的范围;否则会出错;
} else { } else {
emit showAlert(AlertForm::MSGERROR, QString::fromLocal8Bit("退单失败![%1]").arg(recvJson[JSON_ERRMSG].toString())); emit showAlert(AlertForm::MSGERROR, QString::fromLocal8Bit("退单失败![%1]").arg(recvJson[JSON_ERRMSG].toString()));
return false; return false;
...@@ -1245,24 +1281,30 @@ void FlowControl::onDailyReport() ...@@ -1245,24 +1281,30 @@ void FlowControl::onDailyReport()
void FlowControl::_CrondClearExpireOrder() void FlowControl::_CrondClearExpireOrder()
{ {
QDateTime currentDateTime= QDateTime::currentDateTime(); //QDateTime currentDateTime= QDateTime::currentDateTime(); //--按秒数来验证ok--
// QDate currentDate = QDate::currentDate(); QDate currentDate= QDate::currentDate();
//QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---_CrondClearExpireOrder: 清理内存中订单数据的清理日期:%1 --->>>>]").arg(currentDateTime.toString("yyyy-MM-dd hh:mm:ss")); //--按秒数来验证OK--
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---_CrondClearExpireOrder: 清理内存中订单数据的清理日期:%1 --->>>>]").arg(currentDate.toString("yyyy-MM-dd"));
OrderObject *order=NULL; OrderObject *order=NULL;
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---_CrondClearExpireOrder: 清理内存中订单数据的清理日期:%1 --->>>>]").arg(currentDateTime.toString("yyyyMMdd hh:mm:ss"));
m_OrderEntryMutex.lock(); m_OrderEntryMutex.lock();
foreach (order, m_FmOrdersMap.values()) { foreach (order, m_FmOrdersMap.values()) {
QDateTime createDateTime = QDateTime::fromString(order->createTime,"yyyyMMdd hh:mm:ss"); //QDateTime createDateTime = QDateTime::fromString(order->createTime,"yyyy-MM-dd hh:mm:ss"); //--按秒数来验证ok--
//QDate createDate = QDate::fromString(order->createTime,"yyyyMMdd"); QDate createDate = QDate::fromString( (order->createTime).mid(0,10),"yyyy-MM-dd");
//qint64 days=createDate.daysTo(currentDate); //QLOG_INFO()<<QString("[<<<<---_CrondClearExpireOrder-> order->createTime:%1--->>>>]").arg(order->createTime); //--按秒数来验证ok--
qint64 seconds = createDateTime.secsTo(currentDateTime); QLOG_INFO()<<QString("[<<<<---_CrondClearExpireOrder-> order createDate:%1--->>>>]").arg(createDate.toString("yyyy-MM-dd"));
//qint64 seconds = createDateTime.secsTo(currentDateTime); //--按秒数来验证ok--
qint64 days = createDate.daysTo(currentDate);
//QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---_CrondClearExpireOrder: ClearExpireOrder: 相差多少秒:%1--->>>>]").arg(seconds); //--按秒数来验证ok--
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---_CrondClearExpireOrder: ClearExpireOrder: 相差多少天:%1--->>>>]").arg(days);
//创建订单时间,超过当前时间 三十分就进行清理; //创建订单时间,超过当前时间 三十分就进行清理;
qint64 minutes = seconds/(60*30); //if(seconds>=60*5) //--按秒数来验证ok--
if(minutes>=1) if(days>=1)
{ {
QLOG_INFO()<<QString("[<<<<---_CrondClearExpireOrder: ClearExpireOrder: orderID:%1--->>>>]").arg(order->id); QLOG_INFO()<<QString("[<<<<---_CrondClearExpireOrder: ClearExpireOrder: Emit Signal:Clear Order orderID:%1--->>>>]").arg(order->id);
emit clearorder(order->id,order->orderStatus); emit clearorder(order->id,order->orderStatus);
m_FmOrdersMap.value(order->id)->deleteLater(); m_FmOrdersMap.value(order->id)->deleteLater();
m_simValidOrdersList.removeOne(order->id); // 任何情况情况下都不能清理 Simphony获取的有效队列【除非已经被simphony处理过的数据】;
// m_simValidOrdersList.removeOne(order->id);
delete m_FmOrdersMap.take(order->id); delete m_FmOrdersMap.take(order->id);
} }
} }
...@@ -1276,19 +1318,15 @@ bool FlowControl::_ResponseHttpRequest(const QJsonObject &content,QJsonObject &d ...@@ -1276,19 +1318,15 @@ bool FlowControl::_ResponseHttpRequest(const QJsonObject &content,QJsonObject &d
QLOG_INFO()<<__FUNCTION__; QLOG_INFO()<<__FUNCTION__;
bool result = true; bool result = true;
/****校验Http请求参数有效性: 校验参数->actionId不存在****/ /****校验Http请求参数有效性: 校验参数->actionId不存在****/
if(!content.contains("actionId")) if(!content.contains("actionId")) {
{
error =QString::fromLocal8Bit("解析Http请求参数:参数中没有actionId"); error =QString::fromLocal8Bit("解析Http请求参数:参数中没有actionId");
result = false; result = false;
} }/****校验Http请求参数有效性: 校验参数->actionId存在****/
/****校验Http请求参数有效性: 校验参数->actionId存在****/ else {
else{
int actionId; int actionId;
if(content["actionId"].isString()) if(content["actionId"].isString()){
{
actionId=content["actionId"].toString().toInt(); actionId=content["actionId"].toString().toInt();
} } else {
else{
actionId=content["actionId"].toInt(); actionId=content["actionId"].toInt();
} }
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---Http请求[action:%1] --->>>>]").arg(actionId); QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---Http请求[action:%1] --->>>>]").arg(actionId);
...@@ -1328,22 +1366,21 @@ bool FlowControl::_ResponseSimphony01Request(const QJsonObject &content, QJsonOb ...@@ -1328,22 +1366,21 @@ bool FlowControl::_ResponseSimphony01Request(const QJsonObject &content, QJsonOb
{ {
QLOG_INFO()<<__FUNCTION__; QLOG_INFO()<<__FUNCTION__;
bool result=true; bool result=true;
if(!m_bLoginResult&&content.contains("storeId")) if(!m_bLoginResult&&content.contains("storeId")) {
{
result=_ResponseSimReqTryLogin(content,error); result=_ResponseSimReqTryLogin(content,error);
} }
if(result/*&&content.contains("orderId")*/){ if(result/*&&content.contains("orderId")*/){
result=_ResponseSimReqFristOrderData(data,error,content["orderId"].toString()); result=_ResponseSimReqFristOrderData(data,error,content["orderId"].toString());
} } else {
else{
result = false; result = false;
if(error.isEmpty()) if(error.isEmpty()) {
{
error=QString::fromLocal8Bit("准备响应Simphony_Script请求前登陆门店失败"); error=QString::fromLocal8Bit("准备响应Simphony_Script请求前登陆门店失败");
} }
} }
return result; return result;
} }
bool FlowControl::_ResponseSimphony02Request(const QJsonObject &content, QJsonObject &data, QString &error) bool FlowControl::_ResponseSimphony02Request(const QJsonObject &content, QJsonObject &data, QString &error)
{ {
return true; return true;
...@@ -1359,39 +1396,33 @@ bool FlowControl::_ResponseSimphony04Request(const QJsonObject &content, QJsonOb ...@@ -1359,39 +1396,33 @@ bool FlowControl::_ResponseSimphony04Request(const QJsonObject &content, QJsonOb
if(m_bLoginResult&&content.contains("orderId")){ if(m_bLoginResult&&content.contains("orderId")){
QString orderId=content["orderId"].toString(); QString orderId=content["orderId"].toString();
QString posCheckNo=content["posSaleId"].toString(); QString posCheckNo=content["posSaleId"].toString();
if(posCheckNo.isEmpty()) if(posCheckNo.isEmpty()) {
{
posCheckNo=m_orderIdToPosCheckNoMap.value(orderId); posCheckNo=m_orderIdToPosCheckNoMap.value(orderId);
} }
if(!posCheckNo.isEmpty()&&!orderId.isEmpty()) if(!posCheckNo.isEmpty()&&!orderId.isEmpty()) {
{ if(!m_orderIdToPosCheckNoMap.contains(orderId)) {
if(!m_orderIdToPosCheckNoMap.contains(orderId)) QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---Simphony_Script请求[ACTION:04:汇报小票号] 订单:%1 , 汇报小票号:%2:--->>>>]").arg(orderId,posCheckNo);
{
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---Simphony_Script请求[04:返回小票号] %1订单已经成功推送给simphony:--->>>>]").arg(orderId);
m_orderIdToPosCheckNoMap.insert(orderId,posCheckNo); m_orderIdToPosCheckNoMap.insert(orderId,posCheckNo);
} }
OrderObject* order_p = m_FmOrdersMap.value(orderId); OrderObject* order_p = m_FmOrdersMap.value(orderId);
if (!order_p){ if (!order_p) {
QLOG_ERROR()<<QString::fromLocal8Bit("[<<<<---%1订单并不存在m_FmOrdersMap[键值对]中;m_FmOrdersMap.size()=%2--->>>>]").arg(orderId).arg(m_FmOrdersMap.size()); QLOG_ERROR()<<QString::fromLocal8Bit("[<<<<---%1订单并不存在m_FmOrdersMap[键值对]中;m_FmOrdersMap.size()=%2--->>>>]").arg(orderId).arg(m_FmOrdersMap.size());
error=QString::fromLocal8Bit("%1订单并不存在m_FmOrdersMap[键值对]中;m_FmOrdersMap.size()=%2").arg(orderId).arg(m_FmOrdersMap.size()); error=QString::fromLocal8Bit("%1订单并不存在m_FmOrdersMap[键值对]中;m_FmOrdersMap.size()=%2").arg(orderId).arg(m_FmOrdersMap.size());
return false; return false;
} }
if(m_simValidOrdersList.contains(orderId)) if(m_simValidOrdersList.contains(orderId)) {
{
/***** 汇报POS小票号是否成功;begin:*********/ /***** 汇报POS小票号是否成功;begin:*********/
bool bRetReportCheckNo = false; bool bRetReportCheckNo = false;
if(order_p->pushOrderType==1) if(order_p->pushOrderType==1) {
{
order_p->isPush== true;
SimProcOrderDB::getInstance().updatePushOrderStatus(orderId,1); SimProcOrderDB::getInstance().updatePushOrderStatus(orderId,1);
} else { order_p->isPush== true;
order_p->isCancle== true; } else if(0 == order_p->pushOrderType) {
SimProcOrderDB::getInstance().updateRefundOrderStatus(orderId,1); SimProcOrderDB::getInstance().updateRefundOrderStatus(orderId,1);
order_p->isCancle = true;
} }
bRetReportCheckNo = SimProcOrderDB::getInstance().updatePosOrderCheckNo(orderId,posCheckNo); bRetReportCheckNo = SimProcOrderDB::getInstance().updatePosOrderCheckNo(orderId,posCheckNo);
/***** 解析 汇报POS小票号是否成功:bRetReportCheckNo:true->成功********/ /***** 解析 汇报POS小票号是否成功:bRetReportCheckNo:true->成功********/
QJsonObject rObj, cObj; QJsonObject rObj, cObj;
rObj.insert("fm_cmd", ""); rObj.insert("fm_cmd", "");
...@@ -1399,40 +1430,28 @@ bool FlowControl::_ResponseSimphony04Request(const QJsonObject &content, QJsonOb ...@@ -1399,40 +1430,28 @@ bool FlowControl::_ResponseSimphony04Request(const QJsonObject &content, QJsonOb
cObj.insert("pay_id", "002"); cObj.insert("pay_id", "002");
cObj.insert("pay_str", QString::fromLocal8Bit("非码外卖")); cObj.insert("pay_str", QString::fromLocal8Bit("非码外卖"));
cObj.insert("paid_trans_id",orderId); cObj.insert("paid_trans_id",orderId);
if(bRetReportCheckNo){ //已经汇报完小票号,因此必须从 m_simValidOrdersList 列表中移除;
if(bRetReportCheckNo){
// 已经汇报完小票号,因此必须从 m_simValidOrdersList 列表中移除;
m_OrderEntryMutex.lock();
m_simValidOrdersList.removeOne(orderId);
m_OrderEntryMutex.unlock();
cObj.insert("reqResult",1); // 汇报POS小票号结果:[1:成功;0:失败] cObj.insert("reqResult",1); // 汇报POS小票号结果:[1:成功;0:失败]
rObj.insert("pay_id", cObj); rObj.insert("pay_id", cObj);
data = rObj; data = rObj;
} /***** 解析 汇报POS小票号是否成功:bRetReportCheckNo:true->成功*****/
else{
result=false;
error=QString::fromLocal8Bit("汇报POS小票号结果失败");
// 即使汇报小票号失败,同样也必须将此订单从 m_simValidOrdersList 列表中移除;
m_OrderEntryMutex.lock(); m_OrderEntryMutex.lock();
m_simValidOrdersList.removeOne(orderId); m_simValidOrdersList.removeOne(orderId);
m_OrderEntryMutex.unlock(); m_OrderEntryMutex.unlock();
} /***** 解析 汇报POS小票号是否成功:bRetReportCheckNo:true->成功*****/
else{
result=false;
error=QString::fromLocal8Bit("汇报POS小票号结果失败");
// 即使汇报小票号失败,同样也必须将此订单从 m_simValidOrdersList 列表中移除:【汇报小票号的前提条件就是:POS已经结单完成】;
cObj.insert("reqResult",0); // 汇报POS小票号结果:[1:成功;0:失败] cObj.insert("reqResult",0); // 汇报POS小票号结果:[1:成功;0:失败]
rObj.insert("pay_id", cObj); rObj.insert("pay_id", cObj);
data = rObj; data = rObj;
m_OrderEntryMutex.lock();
m_simValidOrdersList.removeOne(orderId);
m_OrderEntryMutex.unlock();
} }
} }
/* 汇报完小票号后,就必须将其从 m_simValidOrdersList 列表中移除; /* 汇报完小票号后,就必须将其从 m_simValidOrdersList 列表中移除;
else { else {
//????????????????????????????????????????
order_p->isCancle = false;
order_p->isPush = true;
order_p->pushOrderType = 0;
order_p->pushOrderTimes=0;
m_OrderEntryMutex.lock();
if(!m_simValidOrdersList.contains(orderId)) {
m_simValidOrdersList.append(orderId);
}
m_OrderEntryMutex.unlock();
} */ } */
} else { } else {
result=false; result=false;
...@@ -1469,9 +1488,9 @@ bool FlowControl::_ResponseSimphony05Request(const QJsonObject &content, QJsonOb ...@@ -1469,9 +1488,9 @@ bool FlowControl::_ResponseSimphony05Request(const QJsonObject &content, QJsonOb
//更新小票号; //更新小票号;
if(!m_orderIdToPosCheckNoMap.contains(orderId)) if(!m_orderIdToPosCheckNoMap.contains(orderId))
{ {
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---Simphony_Script请求[05:返回小票号,同时更新POS本地数据库打印] %1订单已经成功推送给simphony:--->>>>]").arg(orderId); QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---Simphony_Script请求[ACTION:05: 更新POS本地数据库打印信息] %1订单已经成功推送给simphony:--->>>>]").arg(orderId);
m_orderIdToPosCheckNoMap.insert(orderId,posCheckNo); m_orderIdToPosCheckNoMap.insert(orderId,posCheckNo);
}else{ } else {
if(OrderObject::Refunded==order_p->orderStatus){ if(OrderObject::Refunded==order_p->orderStatus){
if(posCheckNo != m_orderIdToPosCheckNoMap.value(order_p->id)){ if(posCheckNo != m_orderIdToPosCheckNoMap.value(order_p->id)){
m_orderIdToPosCheckNoMap.remove(order_p->id); m_orderIdToPosCheckNoMap.remove(order_p->id);
...@@ -1574,8 +1593,7 @@ bool FlowControl::_ResponseSimReqTryLogin(const QJsonObject &content,QString &er ...@@ -1574,8 +1593,7 @@ bool FlowControl::_ResponseSimReqTryLogin(const QJsonObject &content,QString &er
m_storeId=content["storeId"].toString(); m_storeId=content["storeId"].toString();
m_posId=content["posId"].toString(); m_posId=content["posId"].toString();
m_cashierId=content["operatorId"].toString(); m_cashierId=content["operatorId"].toString();
if(m_bFirstRecvInfo) if(m_bFirstRecvInfo) {
{
error = QString::fromLocal8Bit("FMOMS正在登录"); error = QString::fromLocal8Bit("FMOMS正在登录");
emit doLogin(); emit doLogin();
} }
...@@ -1585,36 +1603,46 @@ bool FlowControl::_ResponseSimReqTryLogin(const QJsonObject &content,QString &er ...@@ -1585,36 +1603,46 @@ bool FlowControl::_ResponseSimReqTryLogin(const QJsonObject &content,QString &er
bool FlowControl::_ResponseSimReqFristOrderData(QJsonObject &data, QString &error, const QString &orderId) bool FlowControl::_ResponseSimReqFristOrderData(QJsonObject &data, QString &error, const QString &orderId)
{ {
QLOG_INFO()<<__FUNCTION__<<error<<orderId; QLOG_INFO()<<__FUNCTION__<<error<<orderId;
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---Simphony_Script请求[ACTION:01: 获取订单数据] 开始获取 OrderId:%1 给simphony:--->>>>>]").arg(orderId);
bool result=true; bool result=true;
if(!m_bLoginResult) if(!m_bLoginResult) {
{
error = QString::fromLocal8Bit("FMOMS 未登录"); error = QString::fromLocal8Bit("FMOMS 未登录");
return false; return false;
} }
if(m_simValidOrdersList.isEmpty())
{ if(m_simValidOrdersList.isEmpty()) {
error = QString::fromLocal8Bit("没有新订单待拉取"); error = QString::fromLocal8Bit("没有新订单待拉取");
result = true; result = true;
} } else {
else
{
error.clear(); error.clear();
QString orderId=m_simValidOrdersList.first(); QString orderId=m_simValidOrdersList.first();
/*
int pullNum=MAXPUTTIMES; int pullNum=MAXPUTTIMES;
foreach (auto value, m_simValidOrdersList) { foreach (auto value, m_simValidOrdersList) {
int num = m_FmOrdersMap.value(value)->pushOrderTimes; int num = m_FmOrdersMap.value(value)->pushOrderTimes;
if(pullNum>num) if(pullNum>num) {
{
pullNum=num; pullNum=num;
orderId=value; orderId=value;
} }
} }
*/
OrderObject* orderObject = m_FmOrdersMap.value(orderId); OrderObject* orderObject = m_FmOrdersMap.value(orderId);
if(MAXPUTTIMES==orderObject->pushOrderTimes) if(MAXPUTTIMES==orderObject->pushOrderTimes)
{ {
orderObject->pushOrderTimes = 0; orderObject->pushOrderTimes = 0;
} else {
orderObject->pushOrderTimes=orderObject->pushOrderTimes+1;
} }
orderObject->pushOrderTimes=orderObject->pushOrderTimes+1;
//防止POS出现多次录单:退货单(销售单应该不会);
if(SimProcOrderDB::getInstance().isPushedOrder(orderObject->id) && SimProcOrderDB::getInstance().isRefundOrder(orderObject->id)){
error = QString::fromLocal8Bit("该订单已经被POS系统录入完成");
m_OrderEntryMutex.lock();
m_simValidOrdersList.removeOne(orderObject->id);
m_OrderEntryMutex.lock();
return true;
}
QJsonObject rObj, cObj; QJsonObject rObj, cObj;
if(orderObject->pushOrderType==1) if(orderObject->pushOrderType==1)
{ {
...@@ -1666,8 +1694,7 @@ bool FlowControl::_ResponseSimReqFristOrderData(QJsonObject &data, QString &erro ...@@ -1666,8 +1694,7 @@ bool FlowControl::_ResponseSimReqFristOrderData(QJsonObject &data, QString &erro
tempOrderPayType = 83; tempOrderPayType = 83;
} }
// 如果是退单,更新订单的来源类型; // 如果是退单,更新订单的来源类型;
if(orderObject->isCancle) if (orderObject->pushOrderType == 0) {
{
tempOrderType = 13; tempOrderType = 13;
} }
cObj.insert("orderOriginType", tempOrderType); cObj.insert("orderOriginType", tempOrderType);
...@@ -1704,7 +1731,7 @@ bool FlowControl::_ResponseSimReqFristOrderData(QJsonObject &data, QString &erro ...@@ -1704,7 +1731,7 @@ bool FlowControl::_ResponseSimReqFristOrderData(QJsonObject &data, QString &erro
temp_MSR_NO = "-1"; temp_MSR_NO = "-1";
} }
cObj.insert("msr_card_no", temp_MSR_NO); // MSR卡号 cObj.insert("msr_card_no", temp_MSR_NO); // MSR卡号
cObj.insert("retSyncOrderPrintInfo",0); // 同步POS本地数据库打印信息结果:[1:同步成功;0:同步失败; 默认:0] //cObj.insert("retSyncOrderPrintInfo",0); // 同步POS本地数据库打印信息结果:[1:同步成功;0:同步失败; 默认:0]
cObj.insert("dis_platform_fee", /*orderObject->dis_platform_fee*/0); // 平台承担优惠金额 cObj.insert("dis_platform_fee", /*orderObject->dis_platform_fee*/0); // 平台承担优惠金额
cObj.insert("send_fee", orderObject->deliveryPrice); // 配送费 cObj.insert("send_fee", orderObject->deliveryPrice); // 配送费
cObj.insert("shop_fee", /*orderObject->total_fee-orderObject->send_fee-orderObject->service_fee-orderObject->dis_shop_fee*/0); // 商户能够拿到的钱(去除平台佣金) cObj.insert("shop_fee", /*orderObject->total_fee-orderObject->send_fee-orderObject->service_fee-orderObject->dis_shop_fee*/0); // 商户能够拿到的钱(去除平台佣金)
......
...@@ -151,7 +151,7 @@ QJsonObject DataManger::GetRefundOrderData(int reasonCode,const QString &reason, ...@@ -151,7 +151,7 @@ QJsonObject DataManger::GetRefundOrderData(int reasonCode,const QString &reason,
} }
rObj.insert(JSON_ORDERID, orderId); rObj.insert(JSON_ORDERID, orderId);
rObj.insert("productIds", productIds); rObj.insert("productIds", productIds);
rObj.insert("canceledCause", reason); rObj.insert("canceledCause", reasonCode);
rObj.insert(JSON_POSIPADDRESS,QString("http://") + m_posIpAddress); rObj.insert(JSON_POSIPADDRESS,QString("http://") + m_posIpAddress);
} }
// 其他退单原因; // 其他退单原因;
......
...@@ -87,7 +87,7 @@ bool SimProcOrderDB::updatePushOrderStatus(const QString &orderId, const int &pu ...@@ -87,7 +87,7 @@ bool SimProcOrderDB::updatePushOrderStatus(const QString &orderId, const int &pu
result= false; result= false;
} }
else{ else{
QLOG_INFO()<<QString("[<<<<---Sqlite Database:Update OrderId %1 pushOrderStatus success--->>>>]").arg(orderId); QLOG_INFO()<<QString("[<<<<---Sqlite Database:Update OrderId %1 pushOrderStatus success;pushOrderStatus:%2--->>>>]").arg(orderId).arg(pushOrderStatus);
result = true; result = true;
} }
db.close(); db.close();
...@@ -114,6 +114,7 @@ bool SimProcOrderDB::isPushedOrder(const QString &orderId) ...@@ -114,6 +114,7 @@ bool SimProcOrderDB::isPushedOrder(const QString &orderId)
while(query.next()) while(query.next())
{ {
result= query.value(0).toBool(); result= query.value(0).toBool();
QLOG_INFO()<<QString("[<<<<---Sqlite Database:isPushedOrder orderId:%1 isPushedOrder:%2 --->>>>]").arg(orderId).arg(result);
} }
db.close(); db.close();
m_mutex.unlock(); m_mutex.unlock();
...@@ -138,7 +139,7 @@ bool SimProcOrderDB::updateRefundOrderStatus(const QString &orderId, const int & ...@@ -138,7 +139,7 @@ bool SimProcOrderDB::updateRefundOrderStatus(const QString &orderId, const int &
result= false; result= false;
} }
else{ else{
QLOG_INFO()<<QString("[<<<<---Sqlite Database:Update OrderId %1 refundOrderStatus Successd--->>>>]").arg(orderId); QLOG_INFO()<<QString("[<<<<---Sqlite Database:Update OrderId %1 refundOrderStatus Successd; refundOrderStatus:%2 --->>>>]").arg(orderId).arg(refundOrderStatus);
result = true; result = true;
} }
db.close(); db.close();
...@@ -165,6 +166,7 @@ bool SimProcOrderDB::isRefundOrder(const QString &orderId) ...@@ -165,6 +166,7 @@ bool SimProcOrderDB::isRefundOrder(const QString &orderId)
while(query.next()) while(query.next())
{ {
result= query.value(0).toBool(); result= query.value(0).toBool();
QLOG_INFO()<<QString("[<<<<---SimProcOrderDB::isRefundOrder: orderId:%1, isRefundOrder:%2--->>>>]").arg(orderId).arg(result);
} }
db.close(); db.close();
m_mutex.unlock(); m_mutex.unlock();
...@@ -318,7 +320,7 @@ bool SimProcOrderDB::updatePosOrderCheckNo(const QString &orderId, const QString ...@@ -318,7 +320,7 @@ bool SimProcOrderDB::updatePosOrderCheckNo(const QString &orderId, const QString
result= false; result= false;
} }
else{ else{
QLOG_INFO()<<QString("[<<<<---Sqlite Database:Update OrderId %1 posCheckNo Success--->>>>]").arg(orderId); QLOG_INFO()<<QString("[<<<<---Sqlite Database:Action4: Report CheckNo : Update OrderId:%1 posCheckNo:%2 Success--->>>>]").arg(orderId,posOrderCheckNo);
result = true; result = true;
} }
db.close(); db.close();
......
...@@ -147,21 +147,21 @@ void FloatForm::onStartRemind(int type) ...@@ -147,21 +147,21 @@ void FloatForm::onStartRemind(int type)
{ {
switch(type) switch(type)
{ {
case 0: case REMIND_CONFIRMED_ORDER:
m_remindWav = QString("%1/wav/msg.wav").arg(QApplication::applicationDirPath()); m_remindWav = QString("%1/wav/msg.wav").arg(QApplication::applicationDirPath());
// 加上音频的时长 // 加上音频的时长
m_wavPlayInterval = ConfigManger::GetInstance().GetSoundInterval() + VALUE_NEWORDERTIME; m_wavPlayInterval = ConfigManger::GetInstance().GetSoundInterval() + VALUE_NEWORDERTIME;
break; break;
case 1: case REMIND_REQREFUND_ORDER:
m_remindWav = QString("%1/wav/msg1.wav").arg(QApplication::applicationDirPath()); m_remindWav = QString("%1/wav/msg1.wav").arg(QApplication::applicationDirPath());
m_wavPlayInterval = ConfigManger::GetInstance().GetSoundInterval() + VALUE_REFUNDORDERTIME; m_wavPlayInterval = ConfigManger::GetInstance().GetSoundInterval() + VALUE_REFUNDORDERTIME;
break; break;
} }
if(m_bReminding) if(m_bReminding)
{ {
return; return;
}else } else {
{
m_bReminding = true; m_bReminding = true;
} }
m_remindTimer.start(1000*30); m_remindTimer.start(1000*30);
......
...@@ -97,7 +97,7 @@ void MainForm::MyShow() ...@@ -97,7 +97,7 @@ void MainForm::MyShow()
m_resultForm = new QListWidget(this); m_resultForm = new QListWidget(this);
m_resultForm->setObjectName("mainListWdg0"); m_resultForm->setObjectName("mainListWdg0");
m_resultForm->setFixedSize(400, 200); m_resultForm->setFixedSize(420, 200);
m_resultForm->move(70, ui->mainFrmSearch->pos().y()-190); m_resultForm->move(70, ui->mainFrmSearch->pos().y()-190);
m_resultForm->hide(); m_resultForm->hide();
connect(m_resultForm, &QListWidget::itemClicked, this, &MainForm::onSearchResultItemClicked); connect(m_resultForm, &QListWidget::itemClicked, this, &MainForm::onSearchResultItemClicked);
......
...@@ -149,6 +149,19 @@ ...@@ -149,6 +149,19 @@
#define PROPERTY_SHIFTID "shiftId" // 班次编号 #define PROPERTY_SHIFTID "shiftId" // 班次编号
#define PROPERTY_SHIFTNAME "shiftName" // 班次名称 #define PROPERTY_SHIFTNAME "shiftName" // 班次名称
// 悬浮框: 提醒订单的类型
#define REMIND_NEW_ORDER 2 // 新订单: 目前不存在case
#define REMIND_CONFIRMED_ORDER 3 // 已确认的订单(制作中): 最多的case
#define REMIND_SENDOUT_ORDER 4 // 已配送订单: 不应该提示
#define REMIND_FINISHED_ORDER 5 // 已完成订单: 不应该提示
#define REMIND_REFUNDED_ORDER 6 // 已退款订单: 最多且重要的case;
#define REMIND_REQREFUND_ORDER 7 // 请求退单的订单: 目前如果有请求退单;POS会自动发起退单请求,完成退单动作;
#define REMIND_AGRREFUND_ORDER 30
#define REMIND_COMPLAINT_ORDER 12 // 客诉单:最多且重要的case;
// 服务器返回正确值 // 服务器返回正确值
#define JSON_STATUSCODE_OK 100 #define JSON_STATUSCODE_OK 100
// 默认拉取订单的间隔时间 // 默认拉取订单的间隔时间
......
...@@ -98,6 +98,7 @@ void refDishesForm::_Init() ...@@ -98,6 +98,7 @@ void refDishesForm::_Init()
ui->refDishesTable->removeRow(i); ui->refDishesTable->removeRow(i);
} }
ui->refDishesTable->clear(); ui->refDishesTable->clear();
ui->refDishesTable->clearContents();
m_dishesMap.clear(); m_dishesMap.clear();
} }
......
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