Commit b8e4ac1a by guanghui.cui

合并冲突

parents 1e44e230 591ea38f
...@@ -270,6 +270,12 @@ bool flowControll::_PullOrder() ...@@ -270,6 +270,12 @@ bool flowControll::_PullOrder()
{ {
WriteData(orderObject->order_id); WriteData(orderObject->order_id);
emit sgnNewIdPrint(orderObject); emit sgnNewIdPrint(orderObject);
saveSqlite(orderObject);
if(orderObject->status != 1)
{
DoSalesSlip(orderObject,0); //写销售单
}
// emit sgnNewIdPrint(orderObject,new_orderid); //新订单打印
} }
} }
else else
...@@ -297,6 +303,193 @@ bool flowControll::_PullOrder() ...@@ -297,6 +303,193 @@ bool flowControll::_PullOrder()
m_time->singleShot(syncTime, this, &flowControll::_PullOrder); m_time->singleShot(syncTime, this, &flowControll::_PullOrder);
return result; return result;
}
QByteArray flowControll::_GetOrderRefuseData(const OrderObject *orderObject)
{
QJsonObject rObj, cObj;
rObj.insert("fm_cmd", "refund_order");
rObj.insert("fm_ver", "1.0");
rObj.insert("fm_id", orderObject->fm_id);
QJsonDocument doc(rObj);
return doc.toJson(QJsonDocument::Compact);
}
QByteArray flowControll::_GetOrderEntryData(const OrderObject *orderObject, bool bVerify)
{
QJsonObject rObj, cObj;
if(bVerify)
{
rObj.insert("fm_cmd", "put_order_check");
}
else
{
rObj.insert("fm_cmd", "put_order");
}
rObj.insert("fm_ver", "1.0");
cObj.insert("pay_id", "002");
cObj.insert("pay_str", InitClass::GetInstance().GB2312ToUnicode("非码外卖"));
cObj.insert("pay_ebcode", orderObject->channel);
cObj.insert("order_index", orderObject->order_index);
cObj.insert("customer_name", orderObject->customer);
cObj.insert("customer_phone", orderObject->phone);
cObj.insert("customer_address", orderObject->address);
cObj.insert("delivery_time", orderObject->delivery_time);
cObj.insert("remark", orderObject->remark);
cObj.insert("pay_ebcode_str", InitClass::GetInstance().GB2312ToUnicode("百度外卖"/*orderObject->channelName*/));
cObj.insert("shop_fee", orderObject->total_fee-orderObject->send_fee-orderObject->service_fee-orderObject->dis_shop_fee); // 商户能够拿到的钱(去除平台佣金)
cObj.insert("service_fee", orderObject->service_fee); // 平台佣金
cObj.insert("products_fee", orderObject->shop_fee-orderObject->package_fee); // 商品金额
cObj.insert("discount_fee", orderObject->discount_fee); // 优惠总额
cObj.insert("dis_shop_fee", orderObject->dis_shop_fee); // 商家承担优惠金额
cObj.insert("dis_platform_fee", orderObject->dis_platform_fee); // 平台承担优惠金额
cObj.insert("send_fee", orderObject->send_fee); // 配送费
cObj.insert("package_fee", orderObject->package_fee); // 打包费
cObj.insert("invoice_amount",orderObject->total_fee-orderObject->send_fee-orderObject->service_fee-orderObject->dis_shop_fee);
cObj.insert("paid_trans_id",orderObject->order_id);
cObj.insert("fm_id",orderObject->fm_id);
rObj.insert("pay_id", cObj);
QJsonArray products;
for(int i=0; i < orderObject->proList.count(); i++)
{
QJsonObject tObj;
tObj.insert("consume_num", orderObject->proList.at(i)->productAmount);
tObj.insert("pid", orderObject->proList.at(i)->pid);
tObj.insert("original_price", orderObject->proList.at(i)->price);
products.insert(i, tObj);
}
rObj.insert("products", products);
QJsonDocument doc(rObj);
return doc.toJson(QJsonDocument::Compact);
}
bool flowControll::DoSalesSlip(const OrderObject *orderObject, bool bVerify)//写销售单
{
QTcpSocket socket;
// 连接
QLOG_INFO() << InitClass::GetInstance().GB2312ToUnicode("开始写销售单");
QByteArray byteSlip=_GetOrderEntryData(orderObject, bVerify);
QLOG_INFO() << "this is comming slip"<<byteSlip.data();
socket.connectToHost(ConfigManger::GetInstance().GetSlipIp(), ConfigManger::GetInstance().GetSlipPort());
if (socket.waitForConnected())
{
// 发送
socket.write(_GetOrderEntryData(orderObject, bVerify));
if (socket.waitForBytesWritten())
{
// 接收返回
if (socket.waitForReadyRead())
{
QJsonObject recvJson = QJsonDocument::fromJson(socket.readAll()).object();
QLOG_INFO() << QString("slip order[%1:%2].[data:%3]")
.arg(orderObject->order_id, orderObject->status_desc)
.arg(_GetJsonStr(recvJson));
if(recvJson["statusCode"].toInt()==100)
{
socket.close();
return true;
}else
{
error = recvJson["msg"].toString();
socket.close();
return false;
}
}
}
}
error = socket.errorString();
socket.close();
return false;
}
bool flowControll::RefuseSalesSlip(const OrderObject *orderObject)//退单
{
QTcpSocket socket;
// 连接
QLOG_INFO() << InitClass::GetInstance().GB2312ToUnicode("开始退单");
QByteArray byteSlip= _GetOrderRefuseData(orderObject);
QLOG_INFO() << "this is comming refund slip"<<byteSlip.data();
socket.connectToHost(ConfigManger::GetInstance().GetSlipIp(), ConfigManger::GetInstance().GetSlipPort());
if (socket.waitForConnected())
{
// 发送
socket.write(_GetOrderRefuseData(orderObject));
if (socket.waitForBytesWritten())
{
// 接收返回
if (socket.waitForReadyRead())
{
QJsonObject recvJson = QJsonDocument::fromJson(socket.readAll()).object();
QLOG_INFO() << QString("refund slip order[%1:%2].[data:%3]")
.arg(orderObject->order_id, orderObject->status_desc)
.arg(_GetJsonStr(recvJson));
if(recvJson["statusCode"].toInt()==100)
{
socket.close();
return true;
}else
{
error = recvJson["msg"].toString();
socket.close();
return false;
}
}
}
}
error = socket.errorString();
socket.close();
return false;
}
int flowControll::_GetTableVID(OrderObject *orderObject)
{
int table_id = TABLE_VID_UNKNOWN;
switch (orderObject->status)
{
case 2:
{
switch (orderObject->delivery_status)
{
case 1:
case 2:
{
table_id = TABLE_VID_SUPER;
break;
}
default:
break;
}
break;
}
case 4:
case 5:
{
table_id = TABLE_VID_SUPER;
break;
}
default:
break;
}
switch (table_id) {
case TABLE_VID_SUPER:
qDebug()<<orderObject->has_mate;
if(orderObject->has_mate)
{
table_id = TABLE_VID_CONFIRM_MATE;
}
else
{
table_id = TABLE_VID_UNKNOWN;
}
break;
default:
break;
}
return table_id;
}
#if 0 #if 0
//添加销售单接口 miyou自配送 写销售单 //添加销售单接口 miyou自配送 写销售单
......
...@@ -31,6 +31,26 @@ public: ...@@ -31,6 +31,26 @@ public:
bool GetCashObject(QList<CashierObject>& cashiersList); bool GetCashObject(QList<CashierObject>& cashiersList);
void WriteData(QString strdata); void WriteData(QString strdata);
bool ReadData(QString strdata); bool ReadData(QString strdata);
void saveSqlite(OrderObject* orderObject);
bool OpenSqlite();
bool SelectOrderId(OrderObject* orderObject);
bool CreateTable(const QString &path);
void DeleteQuery();
void UseSQLite();
void Balance();
void GetChannelName(OrderObject* orderObject);
QVector<QString> strArray;
QString _Penny2Dollar(int penny);
int _GetTableVID(OrderObject *orderObject);
OrderObject* GetOrderObjByOrderId(const QString& orderId); //获取订单ID
bool WriteBill(const QString &oid);//写销售单
bool WriteBill(OrderObject *order);
void Total_Num();
void SelectTime();
bool DoSalesSlip(const OrderObject *orderObject, bool bVerify);//写销售单
bool RefuseSalesSlip(const OrderObject *orderObject);//退单
QByteArray _GetOrderRefuseData(const OrderObject *orderObject);//拼接json数据
QByteArray _GetOrderEntryData(const OrderObject *orderObject, bool bVerify);//拼接json数据
//自定义网络 //自定义网络
HttpSocket *m_loginSocket; HttpSocket *m_loginSocket;
......
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