Commit f887c445 by ss.dai

1:上线美团8家转送

parent b8851cb2
...@@ -111,6 +111,25 @@ bool FmPlugin::GetOnDutyCashiers(QList<CashierObject> &cashiersList, QString &er ...@@ -111,6 +111,25 @@ bool FmPlugin::GetOnDutyCashiers(QList<CashierObject> &cashiersList, QString &er
return true; return true;
} }
bool FmPlugin::_Check_bill_bWrited(const QString &orderId)
{
QSqlQuery query = QSqlQuery(m_db);
QString queryStock = QString("select * from d_t_food_bill0 where sRemark='%1';").arg(orderId);
query.prepare(queryStock);
if (!query.exec())
{
m_db.close();
return true;
}
if(query.next())
{
return true;
}
return false;
}
bool FmPlugin::DoOrderEntry(const OrderObject *orderObject, const QString &cashierId, const QString &cashierName, const QString &shiftId, const QString &shiftName, QString &error) bool FmPlugin::DoOrderEntry(const OrderObject *orderObject, const QString &cashierId, const QString &cashierName, const QString &shiftId, const QString &shiftName, QString &error)
{ {
m_orderObject = orderObject; m_orderObject = orderObject;
...@@ -119,6 +138,15 @@ bool FmPlugin::DoOrderEntry(const OrderObject *orderObject, const QString &cashi ...@@ -119,6 +138,15 @@ bool FmPlugin::DoOrderEntry(const OrderObject *orderObject, const QString &cashi
error = m_db.lastError().text(); error = m_db.lastError().text();
return false; return false;
} }
// 先检查该订单有没有写入,如果已经写入则不再重复写入
if(_Check_bill_bWrited(orderObject->order_id))
{
error = QString("已经入账,不重复入账");
m_db.close();
return true;
}
// 先插入顾客信息不管成功与否不影响后续操作 // 先插入顾客信息不管成功与否不影响后续操作
int custid = -1; int custid = -1;
_InsertInto_p_t_fmwm_custinfo(custid); _InsertInto_p_t_fmwm_custinfo(custid);
...@@ -240,7 +268,19 @@ bool FmPlugin::_InsertInto_d_t_food_fmbill0(const QString& cashierId, const QStr ...@@ -240,7 +268,19 @@ bool FmPlugin::_InsertInto_d_t_food_fmbill0(const QString& cashierId, const QStr
query.bindValue(13, QString("\351\200\201\351\244\220\345\215\225"));// 送餐单 query.bindValue(13, QString("\351\200\201\351\244\220\345\215\225"));// 送餐单
query.bindValue(14, m_orderObject->order_id); query.bindValue(14, m_orderObject->order_id);
query.bindValue(15, !m_orderObject->channelName.compare("饿了么") ? QString("饿了么外卖") : m_orderObject->channelName); query.bindValue(15, !m_orderObject->channelName.compare("饿了么") ? QString("饿了么外卖") : m_orderObject->channelName);
query.bindValue(16, m_orderObject->pay_type.compare("在线支付") ? "0" : _Penny2Dollar(m_orderObject->send_fee)); QString send_fee;
if(!m_orderObject->pay_type.compare("在线支付"))
{
send_fee = _Penny2Dollar(m_orderObject->send_fee);
}else
{
send_fee = "0";
}
if(m_orderObject->delivery_type==1)
{
send_fee = "0";
}
query.bindValue(16, send_fee);
query.bindValue(17, custid); query.bindValue(17, custid);
if(!query.exec()) if(!query.exec())
{ {
...@@ -367,3 +407,5 @@ QString FmPlugin::_Penny2Dollar(int penny) ...@@ -367,3 +407,5 @@ QString FmPlugin::_Penny2Dollar(int penny)
double dollar = (double)penny/100; double dollar = (double)penny/100;
return QString::number(dollar,'f',2); return QString::number(dollar,'f',2);
} }
...@@ -89,6 +89,12 @@ private: ...@@ -89,6 +89,12 @@ private:
* 返回:元 * 返回:元
* */ * */
QString _Penny2Dollar(int penny); QString _Penny2Dollar(int penny);
/* 功能:检测该订单是否已被写入
* 参数:NULL
* 返回:true已被写入false未被写入
* */
bool _Check_bill_bWrited(const QString& orderId);
}; };
#endif // FMPLUGIN_H #endif // FMPLUGIN_H
...@@ -158,6 +158,20 @@ bool FlowControl::_PullOrder() ...@@ -158,6 +158,20 @@ bool FlowControl::_PullOrder()
emit changeOrderStatus(orderObject, oldStatus); emit changeOrderStatus(orderObject, oldStatus);
} }
} }
// 当天完成的订单,尝试重复入账一次
if((orderObject->status==6||orderObject->status==200)&&(QDateTime::fromTime_t(orderObject->create_time).date()==QDate::currentDate()))
{
// 写入销售单
if(!FmPlugin::GetInstance().DoOrderEntry(orderObject, m_cashierObject.id, m_cashierObject.name,
m_cashierObject.shiftId, m_cashierObject.shiftName, error))
{
QLOG_ERROR() << QString("order retry entry failed,[%1]").arg(error);
}else
{
QLOG_INFO() << QString("order retry entry success.[%1]").arg(error);
}
}
m_timestamp = orderObject->timestamp; m_timestamp = orderObject->timestamp;
} }
......
...@@ -46,7 +46,6 @@ void RefundControl::run() ...@@ -46,7 +46,6 @@ void RefundControl::run()
QJsonDocument jsonDoc; QJsonDocument jsonDoc;
while(m_bContinue) while(m_bContinue)
{ {
QLOG_INFO() << "waiting new connection....";
if(!m_tcpServer->waitForNewConnection(1000)) if(!m_tcpServer->waitForNewConnection(1000))
{ {
continue; continue;
......
...@@ -19,6 +19,16 @@ void OrderObject::FromJson(const QJsonObject &json) ...@@ -19,6 +19,16 @@ void OrderObject::FromJson(const QJsonObject &json)
return; return;
} }
int OrderObject::getdelivery_type() const
{
return delivery_type;
}
void OrderObject::setdelivery_type(const int &v)
{
delivery_type = v;
}
int OrderObject::getstatus() const int OrderObject::getstatus() const
{ {
return status; return status;
......
...@@ -53,6 +53,8 @@ public: ...@@ -53,6 +53,8 @@ public:
Q_PROPERTY (QString fm_id READ getfm_id WRITE setfm_id) Q_PROPERTY (QString fm_id READ getfm_id WRITE setfm_id)
Q_PROPERTY (QStringList records READ getrecords WRITE setrecords) Q_PROPERTY (QStringList records READ getrecords WRITE setrecords)
Q_PROPERTY (int package_fee READ getpackage_fee WRITE setpackage_fee) Q_PROPERTY (int package_fee READ getpackage_fee WRITE setpackage_fee)
Q_PROPERTY (int delivery_type READ getdelivery_type WRITE setdelivery_type)
QString address; //地址 QString address; //地址
QString channel; //渠道 QString channel; //渠道
...@@ -92,7 +94,14 @@ public: ...@@ -92,7 +94,14 @@ public:
QStringList records; //订单操作记录 QStringList records; //订单操作记录
int package_fee; //打包费 int package_fee; //打包费
int delivery_type; // 配送方式
protected: protected:
int getdelivery_type() const ;
void setdelivery_type(const int& v);
int getstatus() const ; int getstatus() const ;
void setstatus(const int& v); void setstatus(const int& v);
int getpackage_fee() const ; int getpackage_fee() const ;
......
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