Commit 1d1cbf00 by wuyang.zou

fix bug: 新增对接 盒马 订单录入POS接口

parent 55247d2d
......@@ -1431,6 +1431,9 @@ bool FlowControl::_ResponseHttpRequest(const QJsonObject &content,QJsonObject &d
case 12://推送门店营业状态
result=_ResponseSimphony12Request(content,data,error);
break;
case 21://盒马生鲜 推送订单
result=_ResponseHM21Request(content,data,error);
break;
default:
error =QString::fromLocal8Bit("解析Http请求actionId值不在规定的接口文档内");
result = false;
......@@ -1757,6 +1760,44 @@ bool FlowControl::_ResponseSimphony12Request(const QJsonObject &content, QJsonOb
return false;
}
bool FlowControl::_ResponseHM21Request(const QJsonObject &content, QJsonObject &data, QString &error)
{
QLOG_INFO()<<__FUNCTION__;
//判断当前POS插件是否登录成功: 如果没有登录成功,尝试在次登录;
bool result=true;
if(!m_bLoginResult&&content.contains("storeId")) {
result=_ResponseSimReqTryLogin(content,error);
}
//如果登录成功 or 插件正在尝试登录中:则return true 并返回相应的错误信息;
if(result){
//<1>:更新 OrderObject 中的数据;
//获取门店营业状态
QString strOpeStatus=QString::fromLocal8Bit("正常");
emit setOpeStatus(strOpeStatus);
QJsonObject hmOrderJson = content["orderDetail"].toObject();
QLOG_INFO()<<"FlowControl::_ResponseHM21Request:"<<hmOrderJson;
if(!hmOrderJson.isEmpty()){
result = true;
error=QString::fromLocal8Bit("_ResponseHM21Request Action:21:accept HM Order Success");
_OrderAnalysis(hmOrderJson);
}else{
result = false;
error=QString::fromLocal8Bit("_ResponseHM21Request Action:21:accept HM Order empty");
}
//<2>:向simphony整合订单数据:准备向POS录单【_OrderAnalysis(hmOrderJson);函数会触发simphony录单动作(退单的情况也会存入队列中)】
//result=_ResponseSimReqFristOrderData(content, data,error,content["orderId"].toString());
} else {
result = false;
if(error.isEmpty()) {
error=QString::fromLocal8Bit("Response Simphony_Script Request 01: Login Store Failed");
}
}
return result;
}
bool FlowControl::_ResponseSimReqTryLogin(const QJsonObject &content,QString &error)
{
QLOG_INFO()<<__FUNCTION__;
......
......@@ -297,76 +297,6 @@ private slots:
**/
void _CrondClearExpireOrder();
/**
*功能:FM外卖插件为响应Simphony请求准备返回数据
*参数:1、请求json参数;2、准备返回请求数据的Buff;3、返回错误信息;
*返回:是否准备成功;
**/
//bool _ResponseHttpRequest(const QJsonObject &content, QJsonObject &data,QString &error);
/**
*功能:FM外卖插件为响应Simphony请求[action:01 -> 拉取订单]准备返回数据
*参数:1、请求json参数;2、准备返回请求数据的Buff;3、返回错误信息;
*返回:是否准备成功;
**/
//bool _ResponseSimphony01Request(const QJsonObject &content, QJsonObject &data,QString &error);
/**
*功能:FM外卖插件为响应Simphony请求[action:02 -> 确认订单]准备返回数据
*参数:1、请求json参数;2、准备返回请求数据的Buff;3、返回错误信息;
*返回:是否准备成功;
**/
//bool _ResponseSimphony02Request(const QJsonObject &content, QJsonObject &data,QString &error);
/**
*功能:FM外卖插件为响应Simphony请求[action:03 -> 取消订单]准备返回数据
*参数:1、请求json参数;2、准备返回请求数据的Buff;3、返回错误信息;
*返回:是否准备成功;
**/
//bool _ResponseSimphony03Request(const QJsonObject &content, QJsonObject &data,QString &error);
/**
*功能:FM外卖插件为响应Simphony请求[action:04 -> 汇报订单Sim/POS产生的小票号]准备返回数据
*参数:1、请求json参数;2、准备返回请求数据的Buff;3、返回错误信息;
*返回:是否准备成功;
**/
//bool _ResponseSimphony04Request(const QJsonObject &content, QJsonObject &data,QString &error);
/**
*功能:FM外卖插件为响应Simphony请求[action:05 -> simphony更新订单数据到POS本地数据库以以便POS打印小票及汇总单信息]准备返回数据
*参数:1、请求json参数;2、准备返回请求数据的Buff;3、返回错误信息;
*返回:是否准备成功;
**/
//bool _ResponseSimphony05Request(const QJsonObject &content, QJsonObject &data,QString &error);
/**
*功能:FM外卖插件为响应Simphony请求[action:11 -> Sim/POS推送订单到FM插件]准备返回数据
*参数:1、请求json参数;2、准备返回请求数据的Buff;3、返回错误信息;
*返回:是否准备成功;
**/
//bool _ResponseOMS11Request(const QJsonObject &content, QJsonObject &data,QString &error);
/**
*功能:FM外卖插件为响应Simphony请求[action:12 -> Sim/POS推送门店营业状态]准备返回数据
*参数:1、请求json参数;2、准备返回请求数据的Buff;3、返回错误信息;
*返回:是否准备成功;
**/
//bool _ResponseSimphony12Request(const QJsonObject &content, QJsonObject &data,QString &error);
/**
*功能:FM外卖插件响应Simphony请求时,如果外卖插件未登录则进行登陆;
*参数:1、请求json参数;2、返回错误信息;
*返回:是否登陆成功;
**/
//bool _ResponseSimReqTryLogin(const QJsonObject &content, QString &error);
/**
*功能:FM外卖插件为响应Simphony请求[查询FM插件第一条订单数据作为返回数据]准备返回数据
*参数:1、请求json参数;2、准备返回请求数据的Buff;3、返回错误信息;
*返回:是否准备成功;
**/
//bool _ResponseSimReqFristOrderData(QJsonObject &data,QString &error, const QString &orderId);
// 单位转换
QString _Penny2Dollar(int penny);
......@@ -512,6 +442,14 @@ public slots:
**/
bool _ResponseSimphony12Request(const QJsonObject &content, QJsonObject &data,QString &error);
/**
*功能:FM外卖插件为响应盒马生鲜 推订单请求[action:21]准备返回数据
*参数:1、请求json参数;2、准备返回请求数据的Buff;3、返回错误信息;
*返回:是否准备成功;
**/
bool _ResponseHM21Request(const QJsonObject &content, QJsonObject &data,QString &error);
/**
*功能:FM外卖插件响应Simphony请求时,如果外卖插件未登录则进行登陆;
*参数:1、请求json参数;2、返回错误信息;
......
......@@ -76,6 +76,8 @@ QString OrderObject::getChannelName()
return QString::fromLocal8Bit("百度外卖");
}else if("MOD" == channel && 3 == orderType){
return QString::fromLocal8Bit("客诉单");
}else if("HM" == channel){
return QString::fromLocal8Bit("盒马");
}
else{
return QString::fromLocal8Bit("未知");
......
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