Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
FmTakeaway
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
shangshang.dai
FmTakeaway
Commits
f887c445
Commit
f887c445
authored
May 09, 2017
by
ss.dai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1:上线美团8家转送
parent
b8851cb2
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
82 additions
and
2 deletions
+82
-2
fmPlugin/fmPlugin.cpp
+43
-1
fmPlugin/fmPlugin.h
+6
-0
fmTakeaway/Control/flowControl.cpp
+14
-0
fmTakeaway/Control/refundControl.cpp
+0
-1
fmTakeaway/Model/orderObject.cpp
+10
-0
fmTakeaway/Model/orderObject.h
+9
-0
No files found.
fmPlugin/fmPlugin.cpp
View file @
f887c445
...
...
@@ -111,6 +111,25 @@ bool FmPlugin::GetOnDutyCashiers(QList<CashierObject> &cashiersList, QString &er
return
true
;
}
bool
FmPlugin
::
_Check_bill_bWrited
(
const
QString
&
orderId
)
{
QSqlQuery
query
=
QSqlQuery
(
m_db
);
QString
queryStock
=
QString
(
"select * from d_t_food_bill0 where sRemark='%1';"
).
arg
(
orderId
);
query
.
prepare
(
queryStock
);
if
(
!
query
.
exec
())
{
m_db
.
close
();
return
true
;
}
if
(
query
.
next
())
{
return
true
;
}
return
false
;
}
bool
FmPlugin
::
DoOrderEntry
(
const
OrderObject
*
orderObject
,
const
QString
&
cashierId
,
const
QString
&
cashierName
,
const
QString
&
shiftId
,
const
QString
&
shiftName
,
QString
&
error
)
{
m_orderObject
=
orderObject
;
...
...
@@ -119,6 +138,15 @@ bool FmPlugin::DoOrderEntry(const OrderObject *orderObject, const QString &cashi
error
=
m_db
.
lastError
().
text
();
return
false
;
}
// 先检查该订单有没有写入,如果已经写入则不再重复写入
if
(
_Check_bill_bWrited
(
orderObject
->
order_id
))
{
error
=
QString
(
"已经入账,不重复入账"
);
m_db
.
close
();
return
true
;
}
// 先插入顾客信息不管成功与否不影响后续操作
int
custid
=
-
1
;
_InsertInto_p_t_fmwm_custinfo
(
custid
);
...
...
@@ -240,7 +268,19 @@ bool FmPlugin::_InsertInto_d_t_food_fmbill0(const QString& cashierId, const QStr
query
.
bindValue
(
13
,
QString
(
"
\351\200\201\351\244\220\345\215\225
"
));
// 送餐单
query
.
bindValue
(
14
,
m_orderObject
->
order_id
);
query
.
bindValue
(
15
,
!
m_orderObject
->
channelName
.
compare
(
"饿了么"
)
?
QString
(
"饿了么外卖"
)
:
m_orderObject
->
channelName
);
query
.
bindValue
(
16
,
m_orderObject
->
pay_type
.
compare
(
"在线支付"
)
?
"0"
:
_Penny2Dollar
(
m_orderObject
->
send_fee
));
QString
send_fee
;
if
(
!
m_orderObject
->
pay_type
.
compare
(
"在线支付"
))
{
send_fee
=
_Penny2Dollar
(
m_orderObject
->
send_fee
);
}
else
{
send_fee
=
"0"
;
}
if
(
m_orderObject
->
delivery_type
==
1
)
{
send_fee
=
"0"
;
}
query
.
bindValue
(
16
,
send_fee
);
query
.
bindValue
(
17
,
custid
);
if
(
!
query
.
exec
())
{
...
...
@@ -367,3 +407,5 @@ QString FmPlugin::_Penny2Dollar(int penny)
double
dollar
=
(
double
)
penny
/
100
;
return
QString
::
number
(
dollar
,
'f'
,
2
);
}
fmPlugin/fmPlugin.h
View file @
f887c445
...
...
@@ -89,6 +89,12 @@ private:
* 返回:元
* */
QString
_Penny2Dollar
(
int
penny
);
/* 功能:检测该订单是否已被写入
* 参数:NULL
* 返回:true已被写入false未被写入
* */
bool
_Check_bill_bWrited
(
const
QString
&
orderId
);
};
#endif // FMPLUGIN_H
fmTakeaway/Control/flowControl.cpp
View file @
f887c445
...
...
@@ -158,6 +158,20 @@ bool FlowControl::_PullOrder()
emit
changeOrderStatus
(
orderObject
,
oldStatus
);
}
}
// 当天完成的订单,尝试重复入账一次
if
((
orderObject
->
status
==
6
||
orderObject
->
status
==
200
)
&&
(
QDateTime
::
fromTime_t
(
orderObject
->
create_time
).
date
()
==
QDate
::
currentDate
()))
{
// 写入销售单
if
(
!
FmPlugin
::
GetInstance
().
DoOrderEntry
(
orderObject
,
m_cashierObject
.
id
,
m_cashierObject
.
name
,
m_cashierObject
.
shiftId
,
m_cashierObject
.
shiftName
,
error
))
{
QLOG_ERROR
()
<<
QString
(
"order retry entry failed,[%1]"
).
arg
(
error
);
}
else
{
QLOG_INFO
()
<<
QString
(
"order retry entry success.[%1]"
).
arg
(
error
);
}
}
m_timestamp
=
orderObject
->
timestamp
;
}
...
...
fmTakeaway/Control/refundControl.cpp
View file @
f887c445
...
...
@@ -46,7 +46,6 @@ void RefundControl::run()
QJsonDocument
jsonDoc
;
while
(
m_bContinue
)
{
QLOG_INFO
()
<<
"waiting new connection...."
;
if
(
!
m_tcpServer
->
waitForNewConnection
(
1000
))
{
continue
;
...
...
fmTakeaway/Model/orderObject.cpp
View file @
f887c445
...
...
@@ -19,6 +19,16 @@ void OrderObject::FromJson(const QJsonObject &json)
return
;
}
int
OrderObject
::
getdelivery_type
()
const
{
return
delivery_type
;
}
void
OrderObject
::
setdelivery_type
(
const
int
&
v
)
{
delivery_type
=
v
;
}
int
OrderObject
::
getstatus
()
const
{
return
status
;
...
...
fmTakeaway/Model/orderObject.h
View file @
f887c445
...
...
@@ -53,6 +53,8 @@ public:
Q_PROPERTY
(
QString
fm_id
READ
getfm_id
WRITE
setfm_id
)
Q_PROPERTY
(
QStringList
records
READ
getrecords
WRITE
setrecords
)
Q_PROPERTY
(
int
package_fee
READ
getpackage_fee
WRITE
setpackage_fee
)
Q_PROPERTY
(
int
delivery_type
READ
getdelivery_type
WRITE
setdelivery_type
)
QString
address
;
//地址
QString
channel
;
//渠道
...
...
@@ -92,7 +94,14 @@ public:
QStringList
records
;
//订单操作记录
int
package_fee
;
//打包费
int
delivery_type
;
// 配送方式
protected
:
int
getdelivery_type
()
const
;
void
setdelivery_type
(
const
int
&
v
);
int
getstatus
()
const
;
void
setstatus
(
const
int
&
v
);
int
getpackage_fee
()
const
;
...
...
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