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
8f3b33d8
Commit
8f3b33d8
authored
Jul 16, 2018
by
wuyang.zou
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix bug: 修正部分 cancel 枚举值判断,打包费+配送费:
parent
e6c9f293
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
49 additions
and
31 deletions
+49
-31
fmTakeout/Control/flowControl.cpp
+11
-23
fmTakeout/Model/orderObject.h
+10
-6
fmTakeout/mainForm.cpp
+28
-2
No files found.
fmTakeout/Control/flowControl.cpp
View file @
8f3b33d8
...
...
@@ -217,27 +217,11 @@ void FlowControl::_OrderAnalysis(const QJsonObject& jsonObject)
case
OrderObject
:
:
Sendout
:
case
OrderObject
:
:
Finished
:
case
OrderObject
:
:
RequestRefund
:
/***case:新订单、确认订单、已配送订单、待配送订单、完成订单、请求退单: 订单还没push到POS[POS没有模拟点单或没有返回小票号]***/
if
(
!
orderObject
->
isPush
)
{
orderObject
->
pushOrderType
=
1
;
orderObject
->
pushOrderTimes
=
0
;
m_OrderEntryMutex
.
lock
();
if
(
!
m_simValidOrdersList
.
contains
(
orderObject
->
id
))
{
m_simValidOrdersList
.
append
(
orderObject
->
id
);
}
m_OrderEntryMutex
.
unlock
();
QLOG_INFO
()
<<
QString
(
"[<<<<---FmTakeout _OrderAnalysis:RequestRefund m_simValidOrdersList.num:%1 --->>>>]"
)
<<
m_simValidOrdersList
.
count
();
QLOG_INFO
()
<<
QString
(
"[<<<<---FmTakeout _OrderAnalysis:RequestRefund m_simValidOrdersList:%1 --->>>>]"
)
<<
m_simValidOrdersList
;
QLOG_INFO
()
<<
QString
(
"[<<<<---FmTakeout _OrderAnalysis:RequestRefund _ClickOMSAssignArea --->>>>]"
);
_ClickOMSAssignArea
();
}
/***case:已配送订单、待配送订单、完成订单、请求退单:***/
break
;
case
OrderObject
:
:
AgreeRefund
:
case
OrderObject
:
:
Refunded
:
/*退单目前本佳那边不区分 OrderObject::Refunded=100*/
break
;
case
OrderObject
:
:
Cancled
:
case
OrderObject
:
:
Refunded
:
/*退单目前本佳那边不区分 OrderObject::Refunded=6 && OrderObject::Cancled =6*/
/***case:同意退单、退单、取消订单: 此退单还没push到POS[POS没有确认退单或没有返回确认退单的小票号]***/
if
(
!
orderObject
->
isCancle
)
{
...
...
@@ -352,7 +336,7 @@ bool FlowControl::_Login()
emit
setStoreInfo
(
m_storeId
);
emit
setCashierInfo
(
m_cashierId
);
m_bLoginResult
=
true
;
m_clearTimer
->
start
(
1000
*
60
*
60
*
24
*
2
);
m_clearTimer
->
start
(
1000
*
60
*
60
);
// 一小时执行一次:清理两天前的插件订单;
m_heartTimer
->
start
(
1000
*
60
*
5
);
m_pullTimer
->
start
(
1000
*
10
);
emit
doPullOrder
(
QString
(),
QString
());
...
...
@@ -639,8 +623,8 @@ bool FlowControl::_RefuseOrder(const QString &orderId, int refuseCode,const QStr
orderObject
->
orderStatus
=
recvJson
[
JSON_STATUS
].
toInt
();
emit
changeOrderStatus
(
orderObject
,
oldStatus
);
//取消订单后,将此订单加入到simphony 模拟点单列表中;
if
(
OrderObject
::
Cancl
ed
==
orderObject
->
orderStatus
){
//取消订单
(星巴克只有退单)
后,将此订单加入到simphony 模拟点单列表中;
if
(
OrderObject
::
Refund
ed
==
orderObject
->
orderStatus
){
if
(
!
orderObject
->
isCancle
)
{
// 判断Simphony 队列中的订单是否已经存在:不存在(Simphony已经点单完成后会移除)则添加; 如果存在(说明此订单还没有模拟点单),则需要直接向现存在Sim有效队列中的记录移除;
...
...
@@ -786,7 +770,7 @@ bool FlowControl::_RefuseRefund(const QString& orderId)
int
oldStatus
=
orderObject
->
orderStatus
;
orderObject
->
orderStatus
=
recvJson
[
JSON_STATUS
].
toInt
();
// TODO 服务器端现还未开发
//orderObject->status_desc = recvJson[JSON_STATUSDESC].toString();
//
orderObject->status_desc = recvJson[JSON_STATUSDESC].toString();
emit
changeOrderStatus
(
orderObject
,
oldStatus
);
}
}
...
...
@@ -1317,7 +1301,7 @@ bool FlowControl::_ResponseSimphony05Request(const QJsonObject &content, QJsonOb
QLOG_INFO
()
<<
QString
::
fromLocal8Bit
(
"[<<<<---Simphony_Script请求[05:返回小票号,同时更新POS本地数据库打印] %1订单已经成功推送给simphony:--->>>>]"
).
arg
(
orderId
);
m_orderIdToPosCheckNoMap
.
insert
(
orderId
,
posCheckNo
);
}
else
{
if
(
OrderObject
::
Refunded
==
order_p
->
orderStatus
||
OrderObject
::
Cancled
==
order_p
->
orderStatus
){
if
(
OrderObject
::
Refunded
==
order_p
->
orderStatus
){
if
(
posCheckNo
!=
m_orderIdToPosCheckNoMap
.
value
(
order_p
->
id
)){
m_orderIdToPosCheckNoMap
.
remove
(
order_p
->
id
);
m_orderIdToPosCheckNoMap
.
insert
(
orderId
,
posCheckNo
);
...
...
@@ -1405,6 +1389,8 @@ bool FlowControl::_ResponseSimphony05Request(const QJsonObject &content, QJsonOb
cObj
.
insert
(
"orderPayType"
,
tempOrderPayType
);
cObj
.
insert
(
"sbkAppPayType"
,
tempSbkAppPayType
);
cObj
.
insert
(
"sbkAppPayValue"
,
tempSbkAppPayValue
);
cObj
.
insert
(
"packFree"
,
order_p
->
packageFee
);
cObj
.
insert
(
"deliveryFree"
,
order_p
->
deliveryPrice
);
cObj
.
insert
(
"retSyncOrderPrintInfo"
,
retSyncOrderPrintInfo
);
//同步POS本地数据库打印信息结果:[1:同步成功;0:同步失败]
cObj
.
insert
(
"paid_trans_id"
,
orderId
);
cObj
.
insert
(
"pos_sale_id"
,
posCheckNo
);
...
...
@@ -1597,6 +1583,8 @@ bool FlowControl::_ResponseSimReqFristOrderData(QJsonObject &data, QString &erro
cObj
.
insert
(
"orderPayType"
,
tempOrderPayType
);
cObj
.
insert
(
"sbkAppPayType"
,
tempSbkAppPayType
);
cObj
.
insert
(
"sbkAppPayValue"
,
tempSbkAppPayValue
);
cObj
.
insert
(
"packFree"
,
orderObject
->
packageFee
);
cObj
.
insert
(
"deliveryFree"
,
orderObject
->
deliveryPrice
);
cObj
.
insert
(
"pos_sale_id"
,
orderObject
->
posCheckNo
);
cObj
.
insert
(
"order_status"
,
orderObject
->
orderStatus
);
//订单的状态
cObj
.
insert
(
"pay_ebcode"
,
orderObject
->
channel
);
...
...
fmTakeout/Model/orderObject.h
View file @
8f3b33d8
...
...
@@ -52,6 +52,7 @@ class OrderObject : public QObject
Q_PROPERTY
(
int
updateTime
READ
getUpdateTime
WRITE
setUpdateTime
)
Q_PROPERTY
(
int
needInvoice
READ
getNeedInvoice
WRITE
setNeedInvoice
)
Q_PROPERTY
(
int
deliveryPrice
READ
getDeliveryPrice
WRITE
setDeliveryPrice
)
Q_PROPERTY
(
int
packageFee
READ
getPackageFee
WRITE
setPackageFee
)
Q_PROPERTY
(
int
productPrice
READ
getProductPrice
WRITE
setProductPrice
)
Q_PROPERTY
(
int
totalPrice
READ
getTotalPrice
WRITE
setTotalPrice
)
Q_PROPERTY
(
int
orderStatus
READ
getOrderStatus
WRITE
setOrderStatus
)
...
...
@@ -68,9 +69,8 @@ public:
OrderObject
&
operator
=
(
const
OrderObject
&
order
);
typedef
enum
{
NewOrder
=
2
,
Confirmed
,
Cancled
,
Sendout
,
Refunded
,
Finished
,
Locked
=-
1
,
RequestRefund
=
20
,
AgreeRefund
=
30
,
RefuseRefund
=
40
/*,Refunded=100 ToSend=6(订单状态是6时,是退单); 退单目前本佳那边不区分:Refunded=100*/
NewOrder
=
2
,
Confirmed
,
Sendout
,
Finished
,
Refunded
,
RequestRefund
,
Locked
=-
1
,
AgreeRefund
=
30
,
RefuseRefund
=
40
/*,Refunded=6 Cancled=6(订单状态是6时,是退单); 退单目前本佳那边不区分*/
}
OrderStatus
;
/* 功能:从Json对象初获取数据
...
...
@@ -127,7 +127,8 @@ public:
int
updateTime
;
QString
customerSex
;
//用户性别 1- 男2- 女
int
needInvoice
;
int
deliveryPrice
;
int
deliveryPrice
;
// 配送费
int
packageFee
;
// 打包费
int
productPrice
;
int
totalPrice
;
int
orderStatus
;
...
...
@@ -146,8 +147,8 @@ public:
inline
QString
getId
()
const
{
return
id
;}
inline
void
setId
(
const
QString
&
v
){
id
=
v
;}
inline
QString
getPayfmId
()
const
{
return
i
d
;}
inline
void
setPayfmId
(
const
QString
&
v
){
i
d
=
v
;}
inline
QString
getPayfmId
()
const
{
return
payfmI
d
;}
inline
void
setPayfmId
(
const
QString
&
v
){
payfmI
d
=
v
;}
inline
int
getOrderType
()
const
{
return
orderType
;}
inline
void
setOrderType
(
const
int
&
v
){
orderType
=
v
;}
...
...
@@ -269,6 +270,9 @@ public:
inline
int
getDeliveryPrice
()
const
{
return
deliveryPrice
;}
inline
void
setDeliveryPrice
(
const
int
&
v
){
deliveryPrice
=
v
;}
inline
int
getPackageFee
()
const
{
return
packageFee
;}
inline
void
setPackageFee
(
const
int
&
v
){
packageFee
=
v
;}
inline
int
getProductPrice
()
const
{
return
productPrice
;}
inline
void
setProductPrice
(
const
int
&
v
){
productPrice
=
v
;}
...
...
fmTakeout/mainForm.cpp
View file @
8f3b33d8
...
...
@@ -284,6 +284,11 @@ QPushButton *MainForm::_GetTabBtnByOrderStatus(int orderStatus)
case
OrderObject
:
:
Confirmed
:
return
ui
->
mainBtnMake
;
break
;
/*
case OrderObject::Cancled:
return ui->mainBtnUnusual;
break;
*/
case
OrderObject
:
:
Refunded
:
return
ui
->
mainBtnUnusual
;
break
;
...
...
@@ -400,7 +405,8 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus)
if
(
table
!=
ui
->
mainTableFinsh
)
{
// 订单已经支付待接单的订单 + 已经接单的订单 + 已经配送的订单;
if
(
2
==
orderObject
->
orderStatus
||
3
==
orderObject
->
orderStatus
||
4
==
orderObject
->
orderStatus
)
if
(
OrderObject
::
NewOrder
==
orderObject
->
orderStatus
||
OrderObject
::
Confirmed
==
orderObject
->
orderStatus
||
OrderObject
::
Sendout
==
orderObject
->
orderStatus
)
{
qDebug
()
<<
table
->
objectName
()
<<
"------"
;
QWidget
*
pWdg
=
new
QWidget
(
table
);
...
...
@@ -419,7 +425,7 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus)
connect
(
pBtn
,
&
QPushButton
::
clicked
,
this
,
&
MainForm
::
onMainProcBtnClicked
);
}
// 已经取消的订单 + 商家已经退款的订单;
if
(
6
==
orderObject
->
orderStatus
)
if
(
OrderObject
::
Refunded
==
orderObject
->
orderStatus
)
{
qDebug
()
<<
table
->
objectName
()
<<
"------"
;
QWidget
*
pWdg
=
new
QWidget
(
table
);
...
...
@@ -438,6 +444,26 @@ void MainForm::onChangeOrderStatus(OrderObject *orderObject, int oldStatus)
table
->
setCellWidget
(
0
,
6
,
pWdg
);
// 操作按钮
//connect(pBtn, &QPushButton::clicked, this, &MainForm::onMainProcBtnClicked);
}
// 商家拒绝退款的订单;
if
(
OrderObject
::
RefuseRefund
==
orderObject
->
orderStatus
)
{
qDebug
()
<<
table
->
objectName
()
<<
"------"
;
QWidget
*
pWdg
=
new
QWidget
(
table
);
QHBoxLayout
*
hLayout
=
new
QHBoxLayout
(
pWdg
);
QPushButton
*
pBtn
=
new
QPushButton
(
pWdg
);
pBtn
->
setFixedSize
(
70
,
30
);
pBtn
->
setFocusPolicy
(
Qt
::
NoFocus
);
pBtn
->
setObjectName
(
"mainProcBtn"
);
pBtn
->
setProperty
(
"orderId"
,
orderObject
->
id
);
//pBtn->setProperty("operation", table->property("operation").toString());
pBtn
->
setText
(
QString
::
fromLocal8Bit
(
"拒绝退款"
));
pBtn
->
setDisabled
(
true
);
hLayout
->
addWidget
(
pBtn
);
hLayout
->
setMargin
(
0
);
pWdg
->
setLayout
(
hLayout
);
table
->
setCellWidget
(
0
,
6
,
pWdg
);
// 操作按钮
//connect(pBtn, &QPushButton::clicked, this, &MainForm::onMainProcBtnClicked);
}
// 已下单待支付;
if
(
1
==
orderObject
->
orderStatus
)
{
...
...
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