Commit 3047aeac by yunpeng.song

修复pos短号记录的问题

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