Commit 3047aeac by yunpeng.song

修复pos短号记录的问题

parent cd71b166
......@@ -269,7 +269,7 @@ bool FlowControl::_PullOrder()
PullOrderInfo info=m_orderPullList.takeFirst();
sendJson = DataManger::GetInstance().GetPullOrderData(info.orderId,info.channel,info.pageNumber,info.pageSize);
QLOG_INFO() << QString("[---pull order---][requestData:%1]").arg(_GetJsonStr(sendJson));
QLOG_INFO() << QString("[---pull order---][requestData:]")<<sendJson;
if(ConfigManger::GetInstance().GetOrderSslConfig())
{
m_pullOrderSocket->SetSslConfig();
......@@ -288,7 +288,7 @@ bool FlowControl::_PullOrder()
emit setNetStatus("<font color='#ff0000'>异常</font>");
}else
{
qDebug()<<_GetJsonStr(recvJson);
qDebug()<<recvJson;
emit setNetStatus("正常");
if(JSON_STATUSCODE_OK != recvJson[JSON_ERRCODE].toInt())
{
......@@ -315,9 +315,9 @@ bool FlowControl::_PullOrder()
orderObject->FromJson(jsonObject);
m_ordersMap.insert(orderObject->order_id, orderObject);
QLOG_INFO() << QString("new order[%1:%2].[data:%3]")
QLOG_INFO() << QString("new order[%1:%2].[data:]")
.arg(orderObject->order_id, orderObject->status_desc)
.arg(_GetJsonStr(jsonObject));
<<jsonObject;
if(!Orderstatus::getInstance().isorderexit(orderObject->order_id))
{
Orderstatus::getInstance().statusinsert(orderObject->order_id,QDate::currentDate().toString("yyyy-MM-dd"));
......@@ -363,6 +363,12 @@ bool FlowControl::_PullOrder()
OrderProperpy op;
QString posSaledId=m_orderIdToPosSalesIdMap.value(orderObject->order_id);
if(posSaledId.isEmpty())
{
Orderstatus::getInstance().getPosSalesId(orderObject->order_id,posSaledId);
qDebug()<<posSaledId<<"-----------------------------";
}
orderObject->possale_id=posSaledId;
switch (orderObject->status){
case OrderObject::NewOrder:
case OrderObject::Confirmed:
......@@ -385,19 +391,30 @@ bool FlowControl::_PullOrder()
case OrderObject::AgreeRefund:
case OrderObject::Refunded:
case OrderObject::Cancled:
if(!breaded&&m_ordersEntryMap.contains(orderObject->order_id))
if(!bcancled)
{
if(posSaledId.isEmpty())
if(!breaded)
{
m_OrderEntryMutex.lock();
m_ordersEntryMap.erase(m_ordersEntryMap.find(orderObject->order_id));
m_OrderEntryMutex.unlock();
}
else{
orderObject->possale_id=posSaledId;
if(!posSaledId.isEmpty())
{
op.bCancled = bcancled;
op.bReaded = breaded;
op.entryType = 0;
op.pullNum=0;
m_OrderEntryMutex.lock();
m_ordersEntryMap.insert(orderObject->order_id, op);
_ClickOMSAssignArea();
m_OrderEntryMutex.unlock();
}
}
}
break;
default:
break;
......@@ -1110,10 +1127,17 @@ bool FlowControl::_Get04ReplyJson(const QJsonObject &content, QJsonObject &data,
if(m_bLoginResult&&content.contains("orderId")){
QString orderId=content["orderId"].toString();
QString posSaleId=content["PosSaleId"].toString();
if(!orderId.isEmpty()&&posSaleId.isEmpty())
if(orderId.isEmpty())
{
orderId=m_orderIdToPosSalesIdMap.key(posSaleId);
}
if(!posSaleId.isEmpty()&&!orderId.isEmpty())
{
QLOG_INFO()<<QString("%1订单已经成功推送给simphony").arg(orderId);
m_orderIdToPosSalesIdMap.insert(orderId,posSaleId);
if(!m_orderIdToPosSalesIdMap.contains(orderId))
{
QLOG_INFO()<<QString("%1订单已经成功推送给simphony").arg(orderId);
m_orderIdToPosSalesIdMap.insert(orderId,posSaleId);
}
if(m_ordersEntryMap.contains(orderId))
{
if(m_ordersEntryMap.value(orderId).entryType==1)
......@@ -1123,7 +1147,6 @@ bool FlowControl::_Get04ReplyJson(const QJsonObject &content, QJsonObject &data,
}
else
{
orderId=m_orderIdToPosSalesIdMap.key(posSaleId);
Orderstatus::getInstance().refundupdate(orderId,1);
}
m_OrderEntryMutex.lock();
......@@ -1143,7 +1166,7 @@ bool FlowControl::_Get04ReplyJson(const QJsonObject &content, QJsonObject &data,
}
else{
result=false;
error=QString("订单号不能为空");
error=QString("订单号或者短号不能为空");
}
}
else{
......
......@@ -327,10 +327,10 @@ bool Orderstatus::PosSalesIdupdate(const QString &orderId, const QString &posSal
return result;
}
QString Orderstatus::getPosSalesId(const QString &orderId)
bool Orderstatus::getPosSalesId(const QString &orderId,QString& posSalesId)
{
m_mutex.lock();
QString result;
bool result=false;
if(!db.open())
{
QLOG_ERROR()<<"sqlite open failed"<<db.lastError().text();
......@@ -341,10 +341,12 @@ QString Orderstatus::getPosSalesId(const QString &orderId)
if(!query.exec())
{
QLOG_ERROR()<<query.lastError().text()<<orderId<<__FUNCTION__;
return result;
}
while(query.next())
{
result= query.value(0).toString();
posSalesId= query.value(0).toString();
result=true;
}
db.close();
m_mutex.unlock();
......
......@@ -78,7 +78,7 @@ public:
bool isorderexit(const QString& orderId);
bool PosSalesIdupdate(const QString& orderId, const QString &posSalesId);
QString getPosSalesId(const QString& orderId);
bool getPosSalesId(const QString& orderId, QString &posSalesId);
bool deleteRecord(QString creatTime);
private:
QMutex m_mutex;
......
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