Commit 8f3b33d8 by wuyang.zou

fix bug: 修正部分 cancel 枚举值判断,打包费+配送费:

parent e6c9f293
...@@ -217,27 +217,11 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject) ...@@ -217,27 +217,11 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject)
case OrderObject::Sendout: case OrderObject::Sendout:
case OrderObject::Finished: case OrderObject::Finished:
case OrderObject::RequestRefund: case OrderObject::RequestRefund:
/***case:新订单、确认订单、已配送订单、待配送订单、完成订单、请求退单: 订单还没push到POS[POS没有模拟点单或没有返回小票号]***/ /***case:已配送订单、待配送订单、完成订单、请求退单:***/
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:RequestRefund m_simValidOrdersList.num:%1 --->>>>]")<< m_simValidOrdersList.count();
QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:RequestRefund m_simValidOrdersList:%1 --->>>>]")<< m_simValidOrdersList;
QLOG_INFO() << QString("[<<<<---FmTakeout _OrderAnalysis:RequestRefund _ClickOMSAssignArea --->>>>]");
_ClickOMSAssignArea();
}
break; break;
case OrderObject::AgreeRefund: case OrderObject::AgreeRefund:
case OrderObject::Refunded: /*退单目前本佳那边不区分 OrderObject::Refunded=100*/
break; break;
case OrderObject::Cancled: case OrderObject::Refunded: /*退单目前本佳那边不区分 OrderObject::Refunded=6 && OrderObject::Cancled =6*/
/***case:同意退单、退单、取消订单: 此退单还没push到POS[POS没有确认退单或没有返回确认退单的小票号]***/ /***case:同意退单、退单、取消订单: 此退单还没push到POS[POS没有确认退单或没有返回确认退单的小票号]***/
if(!orderObject->isCancle) if(!orderObject->isCancle)
{ {
...@@ -352,7 +336,7 @@ bool FlowControl::_Login() ...@@ -352,7 +336,7 @@ 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*60*24*2); m_clearTimer->start(1000*60*60); // 一小时执行一次:清理两天前的插件订单;
m_heartTimer->start(1000*60*5); m_heartTimer->start(1000*60*5);
m_pullTimer->start(1000*10); m_pullTimer->start(1000*10);
emit doPullOrder(QString(),QString()); emit doPullOrder(QString(),QString());
...@@ -639,8 +623,8 @@ bool FlowControl::_RefuseOrder(const QString &orderId, int refuseCode,const QStr ...@@ -639,8 +623,8 @@ bool FlowControl::_RefuseOrder(const QString &orderId, int refuseCode,const QStr
orderObject->orderStatus = recvJson[JSON_STATUS].toInt(); orderObject->orderStatus = recvJson[JSON_STATUS].toInt();
emit changeOrderStatus(orderObject, oldStatus); emit changeOrderStatus(orderObject, oldStatus);
//取消订单后,将此订单加入到simphony 模拟点单列表中; //取消订单(星巴克只有退单)后,将此订单加入到simphony 模拟点单列表中;
if (OrderObject::Cancled == orderObject->orderStatus){ if (OrderObject::Refunded == orderObject->orderStatus){
if(!orderObject->isCancle) if(!orderObject->isCancle)
{ {
// 判断Simphony 队列中的订单是否已经存在:不存在(Simphony已经点单完成后会移除)则添加; 如果存在(说明此订单还没有模拟点单),则需要直接向现存在Sim有效队列中的记录移除; // 判断Simphony 队列中的订单是否已经存在:不存在(Simphony已经点单完成后会移除)则添加; 如果存在(说明此订单还没有模拟点单),则需要直接向现存在Sim有效队列中的记录移除;
...@@ -786,7 +770,7 @@ bool FlowControl::_RefuseRefund(const QString& orderId) ...@@ -786,7 +770,7 @@ bool FlowControl::_RefuseRefund(const QString& orderId)
int oldStatus = orderObject->orderStatus; int oldStatus = orderObject->orderStatus;
orderObject->orderStatus = recvJson[JSON_STATUS].toInt(); orderObject->orderStatus = recvJson[JSON_STATUS].toInt();
// TODO 服务器端现还未开发 // TODO 服务器端现还未开发
//orderObject->status_desc = recvJson[JSON_STATUSDESC].toString(); // orderObject->status_desc = recvJson[JSON_STATUSDESC].toString();
emit changeOrderStatus(orderObject, oldStatus); emit changeOrderStatus(orderObject, oldStatus);
} }
} }
...@@ -1317,7 +1301,7 @@ bool FlowControl::_ResponseSimphony05Request(const QJsonObject &content, QJsonOb ...@@ -1317,7 +1301,7 @@ bool FlowControl::_ResponseSimphony05Request(const QJsonObject &content, QJsonOb
QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---Simphony_Script请求[05:返回小票号,同时更新POS本地数据库打印] %1订单已经成功推送给simphony:--->>>>]").arg(orderId); QLOG_INFO()<<QString::fromLocal8Bit("[<<<<---Simphony_Script请求[05:返回小票号,同时更新POS本地数据库打印] %1订单已经成功推送给simphony:--->>>>]").arg(orderId);
m_orderIdToPosCheckNoMap.insert(orderId,posCheckNo); m_orderIdToPosCheckNoMap.insert(orderId,posCheckNo);
}else{ }else{
if(OrderObject::Refunded==order_p->orderStatus|| OrderObject::Cancled==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);
m_orderIdToPosCheckNoMap.insert(orderId,posCheckNo); m_orderIdToPosCheckNoMap.insert(orderId,posCheckNo);
...@@ -1405,6 +1389,8 @@ bool FlowControl::_ResponseSimphony05Request(const QJsonObject &content, QJsonOb ...@@ -1405,6 +1389,8 @@ bool FlowControl::_ResponseSimphony05Request(const QJsonObject &content, QJsonOb
cObj.insert("orderPayType", tempOrderPayType); cObj.insert("orderPayType", tempOrderPayType);
cObj.insert("sbkAppPayType", tempSbkAppPayType); cObj.insert("sbkAppPayType", tempSbkAppPayType);
cObj.insert("sbkAppPayValue", tempSbkAppPayValue); cObj.insert("sbkAppPayValue", tempSbkAppPayValue);
cObj.insert("packFree", order_p->packageFee);
cObj.insert("deliveryFree", order_p->deliveryPrice);
cObj.insert("retSyncOrderPrintInfo",retSyncOrderPrintInfo); //同步POS本地数据库打印信息结果:[1:同步成功;0:同步失败] cObj.insert("retSyncOrderPrintInfo",retSyncOrderPrintInfo); //同步POS本地数据库打印信息结果:[1:同步成功;0:同步失败]
cObj.insert("paid_trans_id",orderId); cObj.insert("paid_trans_id",orderId);
cObj.insert("pos_sale_id", posCheckNo); cObj.insert("pos_sale_id", posCheckNo);
...@@ -1597,6 +1583,8 @@ bool FlowControl::_ResponseSimReqFristOrderData(QJsonObject &data, QString &erro ...@@ -1597,6 +1583,8 @@ bool FlowControl::_ResponseSimReqFristOrderData(QJsonObject &data, QString &erro
cObj.insert("orderPayType", tempOrderPayType); cObj.insert("orderPayType", tempOrderPayType);
cObj.insert("sbkAppPayType", tempSbkAppPayType); cObj.insert("sbkAppPayType", tempSbkAppPayType);
cObj.insert("sbkAppPayValue", tempSbkAppPayValue); cObj.insert("sbkAppPayValue", tempSbkAppPayValue);
cObj.insert("packFree", orderObject->packageFee);
cObj.insert("deliveryFree", orderObject->deliveryPrice);
cObj.insert("pos_sale_id", orderObject->posCheckNo); cObj.insert("pos_sale_id", orderObject->posCheckNo);
cObj.insert("order_status",orderObject->orderStatus);//订单的状态 cObj.insert("order_status",orderObject->orderStatus);//订单的状态
cObj.insert("pay_ebcode", orderObject->channel); cObj.insert("pay_ebcode", orderObject->channel);
......
...@@ -52,6 +52,7 @@ class OrderObject : public QObject ...@@ -52,6 +52,7 @@ class OrderObject : public QObject
Q_PROPERTY (int updateTime READ getUpdateTime WRITE setUpdateTime) Q_PROPERTY (int updateTime READ getUpdateTime WRITE setUpdateTime)
Q_PROPERTY (int needInvoice READ getNeedInvoice WRITE setNeedInvoice) Q_PROPERTY (int needInvoice READ getNeedInvoice WRITE setNeedInvoice)
Q_PROPERTY (int deliveryPrice READ getDeliveryPrice WRITE setDeliveryPrice) Q_PROPERTY (int deliveryPrice READ getDeliveryPrice WRITE setDeliveryPrice)
Q_PROPERTY (int packageFee READ getPackageFee WRITE setPackageFee)
Q_PROPERTY (int productPrice READ getProductPrice WRITE setProductPrice) Q_PROPERTY (int productPrice READ getProductPrice WRITE setProductPrice)
Q_PROPERTY (int totalPrice READ getTotalPrice WRITE setTotalPrice) Q_PROPERTY (int totalPrice READ getTotalPrice WRITE setTotalPrice)
Q_PROPERTY (int orderStatus READ getOrderStatus WRITE setOrderStatus) Q_PROPERTY (int orderStatus READ getOrderStatus WRITE setOrderStatus)
...@@ -68,9 +69,8 @@ public: ...@@ -68,9 +69,8 @@ public:
OrderObject& operator =(const OrderObject& order); OrderObject& operator =(const OrderObject& order);
typedef enum { typedef enum {
NewOrder=2,Confirmed,Cancled,Sendout,Refunded, NewOrder=2,Confirmed,Sendout,Finished,Refunded,RequestRefund
Finished,Locked=-1,RequestRefund=20, ,Locked=-1,AgreeRefund=30,RefuseRefund=40 /*,Refunded=6 Cancled=6(订单状态是6时,是退单); 退单目前本佳那边不区分*/
AgreeRefund=30,RefuseRefund=40 /*,Refunded=100 ToSend=6(订单状态是6时,是退单); 退单目前本佳那边不区分:Refunded=100*/
}OrderStatus; }OrderStatus;
/* 功能:从Json对象初获取数据 /* 功能:从Json对象初获取数据
...@@ -127,7 +127,8 @@ public: ...@@ -127,7 +127,8 @@ public:
int updateTime; int updateTime;
QString customerSex; //用户性别 1- 男2- 女 QString customerSex; //用户性别 1- 男2- 女
int needInvoice; int needInvoice;
int deliveryPrice; int deliveryPrice; // 配送费
int packageFee; // 打包费
int productPrice; int productPrice;
int totalPrice; int totalPrice;
int orderStatus; int orderStatus;
...@@ -146,8 +147,8 @@ public: ...@@ -146,8 +147,8 @@ public:
inline QString getId()const{return id;} inline QString getId()const{return id;}
inline void setId(const QString& v){id = v;} inline void setId(const QString& v){id = v;}
inline QString getPayfmId()const{return id;} inline QString getPayfmId()const{return payfmId;}
inline void setPayfmId(const QString& v){id = v;} inline void setPayfmId(const QString& v){payfmId = v;}
inline int getOrderType()const{return orderType;} inline int getOrderType()const{return orderType;}
inline void setOrderType(const int& v){orderType = v;} inline void setOrderType(const int& v){orderType = v;}
...@@ -269,6 +270,9 @@ public: ...@@ -269,6 +270,9 @@ public:
inline int getDeliveryPrice()const{return deliveryPrice;} inline int getDeliveryPrice()const{return deliveryPrice;}
inline void setDeliveryPrice(const int& v){deliveryPrice = v;} inline void setDeliveryPrice(const int& v){deliveryPrice = v;}
inline int getPackageFee()const{return packageFee;}
inline void setPackageFee(const int& v){packageFee = v;}
inline int getProductPrice()const{return productPrice;} inline int getProductPrice()const{return productPrice;}
inline void setProductPrice(const int& v){productPrice = v;} inline void setProductPrice(const int& v){productPrice = v;}
......
...@@ -284,6 +284,11 @@ QPushButton *MainForm::_GetTabBtnByOrderStatus(int orderStatus) ...@@ -284,6 +284,11 @@ QPushButton *MainForm::_GetTabBtnByOrderStatus(int orderStatus)
case OrderObject::Confirmed: case OrderObject::Confirmed:
return ui->mainBtnMake; return ui->mainBtnMake;
break; break;
/*
case OrderObject::Cancled:
return ui->mainBtnUnusual;
break;
*/
case OrderObject::Refunded: case OrderObject::Refunded:
return ui->mainBtnUnusual; return ui->mainBtnUnusual;
break; break;
...@@ -400,7 +405,8 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus) ...@@ -400,7 +405,8 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus)
if(table != ui->mainTableFinsh) if(table != ui->mainTableFinsh)
{ {
// 订单已经支付待接单的订单 + 已经接单的订单 + 已经配送的订单; // 订单已经支付待接单的订单 + 已经接单的订单 + 已经配送的订单;
if(2==orderObject->orderStatus || 3==orderObject->orderStatus || 4==orderObject->orderStatus) if(OrderObject::NewOrder==orderObject->orderStatus || OrderObject::Confirmed==orderObject->orderStatus
|| OrderObject::Sendout==orderObject->orderStatus )
{ {
qDebug()<<table->objectName()<<"------"; qDebug()<<table->objectName()<<"------";
QWidget *pWdg = new QWidget(table); QWidget *pWdg = new QWidget(table);
...@@ -419,7 +425,7 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus) ...@@ -419,7 +425,7 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus)
connect(pBtn, &QPushButton::clicked, this, &MainForm::onMainProcBtnClicked); connect(pBtn, &QPushButton::clicked, this, &MainForm::onMainProcBtnClicked);
} }
// 已经取消的订单 + 商家已经退款的订单; // 已经取消的订单 + 商家已经退款的订单;
if(6==orderObject->orderStatus) if(OrderObject::Refunded == orderObject->orderStatus)
{ {
qDebug()<<table->objectName()<<"------"; qDebug()<<table->objectName()<<"------";
QWidget *pWdg = new QWidget(table); QWidget *pWdg = new QWidget(table);
...@@ -438,6 +444,26 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus) ...@@ -438,6 +444,26 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus)
table->setCellWidget(0, 6, pWdg); // 操作按钮 table->setCellWidget(0, 6, pWdg); // 操作按钮
//connect(pBtn, &QPushButton::clicked, this, &MainForm::onMainProcBtnClicked); //connect(pBtn, &QPushButton::clicked, this, &MainForm::onMainProcBtnClicked);
} }
// 商家拒绝退款的订单;
if(OrderObject::RefuseRefund == orderObject->orderStatus)
{
qDebug()<<table->objectName()<<"------";
QWidget *pWdg = new QWidget(table);
QHBoxLayout *hLayout = new QHBoxLayout(pWdg);
QPushButton * pBtn = new QPushButton(pWdg);
pBtn->setFixedSize(70, 30);
pBtn->setFocusPolicy(Qt::NoFocus);
pBtn->setObjectName("mainProcBtn");
pBtn->setProperty("orderId", orderObject->id);
//pBtn->setProperty("operation", table->property("operation").toString());
pBtn->setText(QString::fromLocal8Bit("拒绝退款"));
pBtn->setDisabled(true);
hLayout->addWidget(pBtn);
hLayout->setMargin(0);
pWdg->setLayout(hLayout);
table->setCellWidget(0, 6, pWdg); // 操作按钮
//connect(pBtn, &QPushButton::clicked, this, &MainForm::onMainProcBtnClicked);
}
// 已下单待支付; // 已下单待支付;
if(1==orderObject->orderStatus) if(1==orderObject->orderStatus)
{ {
......
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