Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
FMDbMonitor_linux
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
guanghui.cui
FMDbMonitor_linux
Commits
7ce61746
Commit
7ce61746
authored
Sep 15, 2017
by
guanghui.cui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
完成退单功能
parent
17176ed5
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
47 additions
and
3 deletions
+47
-3
base/FM_ErrorCode.h
+2
-0
pos_bft/OrderInfo.cpp
+40
-3
src/PayProcess.cpp
+5
-0
No files found.
base/FM_ErrorCode.h
View file @
7ce61746
...
...
@@ -17,6 +17,7 @@ enum ErrorCode
EC_UNKNOWN_PLATFORM
,
//未知的外卖平台
EC_EXIST_ORDER
,
//订单已经存在
EC_UNDEFINITION
,
//未定义错误
EC_NOTEXIST_ORDER
,
//订单不存在
};
#endif
\ No newline at end of file
pos_bft/OrderInfo.cpp
View file @
7ce61746
...
...
@@ -268,8 +268,8 @@ int COrderInfo::SetTakeawayOrder(TakeawayOrder &order)
//支付信息吸入“支付详情表”
snprintf
(
mysql
->
sqlStr
,
SQL_BUFFER_SIZE
,
"INSERT INTO tbl_Payment(`Date`,`Check`,Outlet,PayIdx,PayNo,Name3,PayEmp,PayTime,PayStation,PayTot,PayClass,Member,\
IsModified,LastModifiedTime)\
VALUES('%s',%d,%d,1,%d,'%s',4,'%s',99,
10.00
,1,'',1,'%s')"
,
\
strDate
.
data
(),
orderId
,
iOutlet
,
atoi
(
posTakeway
.
merchantTypeId
.
data
()),
posTakeway
.
strName
.
data
(),
chTime
,
chTime
);
VALUES('%s',%d,%d,1,%d,'%s',4,'%s',99,
%.2f
,1,'',1,'%s')"
,
\
strDate
.
data
(),
orderId
,
iOutlet
,
atoi
(
posTakeway
.
merchantTypeId
.
data
()),
posTakeway
.
strName
.
data
(),
chTime
,
order
.
shop_fee
/
100.00
,
chTime
);
nErrCode
=
mysql
->
insert
();
pthread_mutex_unlock
(
&
mutex
);
//解锁
return
0
;
...
...
@@ -278,7 +278,44 @@ int COrderInfo::SetTakeawayOrder(TakeawayOrder &order)
//外卖退单数据库操作
int
COrderInfo
::
CancleTakeaway
(
TakeawayOrder
&
order
)
{
return
0
;
//order_status:订单状态 0:正常 1:已退单
int
nErrCode
=
EC_OK
;
std
::
string
strOrderId
;
pthread_mutex_lock
(
&
mutex
);
//上锁
snprintf
(
mysql
->
sqlStr
,
SQL_BUFFER_SIZE
,
"SELECT orderid FROM fmTakeaway where order_status=0 AND fm_id='%s';"
,
order
.
fm_id
.
data
());
nErrCode
=
mysql
->
query
();
if
(
nErrCode
!=
EC_OK
){
pthread_mutex_unlock
(
&
mutex
);
//解锁
return
EC_EX_SQL_FAILED
;
}
if
(
NULL
==
(
mysql
->
_row
=
mysql_fetch_row
(
mysql
->
_result
))){
LOG
(
INFO
)
<<
"订单不存在或者已退单,fm_id:"
<<
order
.
fm_id
.
data
();
mysql_free_result
(
mysql
->
_result
);
pthread_mutex_unlock
(
&
mutex
);
//解锁
return
EC_NOTEXIST_ORDER
;
}
else
{
strOrderId
=
mysql
->
_row
[
0
];
}
mysql_free_result
(
mysql
->
_result
);
int
iOrderId
=
atoi
(
strOrderId
.
data
());
//删除该销售单记录
snprintf
(
mysql
->
sqlStr
,
SQL_BUFFER_SIZE
,
"DELETE FROM tbl_Check WHERE `Check`=%d;"
,
iOrderId
);
nErrCode
=
mysql
->
remove
();
snprintf
(
mysql
->
sqlStr
,
SQL_BUFFER_SIZE
,
"DELETE FROM tbl_Item WHERE `Check`=%d;"
,
iOrderId
);
nErrCode
=
mysql
->
remove
();
snprintf
(
mysql
->
sqlStr
,
SQL_BUFFER_SIZE
,
"DELETE FROM tbl_Payment WHERE `Check`=%d;"
,
iOrderId
);
nErrCode
=
mysql
->
remove
();
//更新外卖订单记录为已退单,同时修改订单orderid ,规则,orderid后加‘_1’
std
::
string
newOrderId
=
strOrderId
+
"_1"
;
snprintf
(
mysql
->
sqlStr
,
SQL_BUFFER_SIZE
,
"UPDATE fmTakeaway SET orderid='%s', order_status=1 WHERE fm_id='%s';"
,
newOrderId
.
data
(),
order
.
fm_id
.
data
());
nErrCode
=
mysql
->
update
();
snprintf
(
mysql
->
sqlStr
,
SQL_BUFFER_SIZE
,
"UPDATE fmTakeaway_products SET orderid='%s' WHERE orderid='%s';"
,
newOrderId
.
data
(),
strOrderId
.
data
());
nErrCode
=
mysql
->
update
();
pthread_mutex_unlock
(
&
mutex
);
//解锁
return
nErrCode
;
}
//向数据库总添加:fmTakeaway表 | fmTakeaway_products表
...
...
src/PayProcess.cpp
View file @
7ce61746
...
...
@@ -245,6 +245,11 @@ void *FunTakeaway(void* lpParamter)
statusCode
=
100
;
msg
=
""
;
}
else
if
(
nErrCode
==
EC_NOTEXIST_ORDER
){
LOG
(
INFO
)
<<
"退单:该订单不存在或者已退单"
;
statusCode
=
100
;
msg
=
"refund order:this order not exist or has been refunded"
;
}
else
{
statusCode
=
101
;
...
...
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