Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
takeout_sbk
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
yunpeng.song
takeout_sbk
Commits
1d1cbf00
Commit
1d1cbf00
authored
Sep 06, 2018
by
wuyang.zou
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix bug: 新增对接 盒马 订单录入POS接口
parent
55247d2d
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
51 additions
and
70 deletions
+51
-70
fmTakeout/Control/flowControl.cpp
+41
-0
fmTakeout/Control/flowControl.h
+8
-70
fmTakeout/Model/orderObject.cpp
+2
-0
No files found.
fmTakeout/Control/flowControl.cpp
View file @
1d1cbf00
...
...
@@ -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__
;
...
...
fmTakeout/Control/flowControl.h
View file @
1d1cbf00
...
...
@@ -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、返回错误信息;
...
...
fmTakeout/Model/orderObject.cpp
View file @
1d1cbf00
...
...
@@ -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
(
"未知"
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment