Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
fmp_vip
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
zhenfei.zhang
fmp_vip
Commits
c5eeb0e9
Commit
c5eeb0e9
authored
Feb 09, 2018
by
NitefullWind
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1. 实现获取订单中可退款支付列表。
parent
985d4ae6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
71 additions
and
13 deletions
+71
-13
fmvip/db/item.cpp
+17
-4
fmvip/db/item.h
+8
-5
fmvip/task/taskfinal.cpp
+2
-2
fmvip/task/taskqrrefund.cpp
+1
-1
tests/autotest/tst_db_query.h
+42
-0
version.h
+1
-1
No files found.
fmvip/db/item.cpp
View file @
c5eeb0e9
#include "item.h"
#include "item.h"
#include "database.h"
namespace
DB
{
namespace
DB
{
Item
::
Item
()
Item
::
Item
()
...
@@ -123,21 +123,34 @@ void Order::setRefunded(bool refunded)
...
@@ -123,21 +123,34 @@ void Order::setRefunded(bool refunded)
_refunded
=
refunded
;
_refunded
=
refunded
;
}
}
PayList
&
Order
::
payList
()
Lazy
PayList
&
Order
::
payList
()
{
{
return
_payList
;
return
_payList
;
}
}
const
PayList
&
Order
::
payList
()
const
const
Lazy
PayList
&
Order
::
payList
()
const
{
{
return
_payList
;
return
_payList
;
}
}
void
Order
::
setPayList
(
const
PayList
&
payList
)
void
Order
::
setPayList
(
const
Lazy
PayList
&
payList
)
{
{
_payList
=
payList
;
_payList
=
payList
;
}
}
PayList
Order
::
getCanRefundPatList
()
{
PayList
canRefundPays
;
for
(
LazyPayList
::
iterator
it
(
_payList
.
begin
());
it
!=
_payList
.
end
();
it
++
)
{
QLazySharedPointer
<
Pay
>&
lsp
(
*
it
);
auto
sp
=
lsp
.
load
();
if
(
sp
->
payAmount
()
>
sp
->
refundAmount
())
{
canRefundPays
.
append
(
sp
);
}
}
return
canRefundPays
;
}
QLazySharedPointer
<
StoreInfo
>
&
Order
::
storeInfo
()
QLazySharedPointer
<
StoreInfo
>
&
Order
::
storeInfo
()
{
{
return
_storeInfo
;
return
_storeInfo
;
...
...
fmvip/db/item.h
View file @
c5eeb0e9
...
@@ -24,7 +24,8 @@ class Order;
...
@@ -24,7 +24,8 @@ class Order;
class
Pay
;
class
Pay
;
class
StoreInfo
;
class
StoreInfo
;
typedef
QList
<
QLazySharedPointer
<
Pay
>
>
PayList
;
typedef
QList
<
QLazySharedPointer
<
Pay
>
>
LazyPayList
;
typedef
QList
<
QSharedPointer
<
Pay
>
>
PayList
;
// 可为空
// 可为空
#pragma db value(int) null
#pragma db value(int) null
...
@@ -81,9 +82,11 @@ public:
...
@@ -81,9 +82,11 @@ public:
bool
refunded
()
const
;
bool
refunded
()
const
;
void
setRefunded
(
bool
refunded
);
void
setRefunded
(
bool
refunded
);
PayList
&
payList
();
LazyPayList
&
payList
();
const
PayList
&
payList
()
const
;
const
LazyPayList
&
payList
()
const
;
void
setPayList
(
const
PayList
&
payList
);
void
setPayList
(
const
LazyPayList
&
payList
);
PayList
getCanRefundPatList
();
QLazySharedPointer
<
StoreInfo
>
&
storeInfo
();
QLazySharedPointer
<
StoreInfo
>
&
storeInfo
();
const
QLazySharedPointer
<
StoreInfo
>
&
storeInfo
()
const
;
const
QLazySharedPointer
<
StoreInfo
>
&
storeInfo
()
const
;
...
@@ -112,7 +115,7 @@ private:
...
@@ -112,7 +115,7 @@ private:
bool
_refunded
;
bool
_refunded
;
#pragma db inverse(_order)
#pragma db inverse(_order)
PayList
_payList
;
Lazy
PayList
_payList
;
#pragma db not_null
#pragma db not_null
QLazySharedPointer
<
StoreInfo
>
_storeInfo
;
QLazySharedPointer
<
StoreInfo
>
_storeInfo
;
...
...
fmvip/task/taskfinal.cpp
View file @
c5eeb0e9
...
@@ -168,11 +168,11 @@ void TaskFinal::packageServerReq()
...
@@ -168,11 +168,11 @@ void TaskFinal::packageServerReq()
DBSP
()
->
reload
<
Order
>
(
_order
);
DBSP
()
->
reload
<
Order
>
(
_order
);
// 从数据库读取支付信息
// 从数据库读取支付信息
PayList
payList
=
_order
->
payList
();
Lazy
PayList
payList
=
_order
->
payList
();
// 转成服务端需要的payArray
// 转成服务端需要的payArray
QJsonArray
payArray
;
QJsonArray
payArray
;
for
(
PayList
::
const_iterator
it
=
payList
.
constBegin
();
it
!=
payList
.
constEnd
();
it
++
)
{
for
(
Lazy
PayList
::
const_iterator
it
=
payList
.
constBegin
();
it
!=
payList
.
constEnd
();
it
++
)
{
QJsonObject
payObj
;
QJsonObject
payObj
;
payObj
[
ServerProps
(
PosProps
.
Amount
)]
=
it
->
load
()
->
payAmount
();
payObj
[
ServerProps
(
PosProps
.
Amount
)]
=
it
->
load
()
->
payAmount
();
payObj
[
ServerProps
(
PosProps
.
TransId
)]
=
it
->
load
()
->
transId
();
payObj
[
ServerProps
(
PosProps
.
TransId
)]
=
it
->
load
()
->
transId
();
...
...
fmvip/task/taskqrrefund.cpp
View file @
c5eeb0e9
...
@@ -44,7 +44,7 @@ void TaskQRRefund::packagePOSReq()
...
@@ -44,7 +44,7 @@ void TaskQRRefund::packagePOSReq()
}
}
QSharedPointer
<
Pay
>
refundPay
;
QSharedPointer
<
Pay
>
refundPay
;
PayList
pays
=
_order
->
payList
();
Lazy
PayList
pays
=
_order
->
payList
();
foreach
(
auto
payLazyPointer
,
pays
)
{
foreach
(
auto
payLazyPointer
,
pays
)
{
//! WARNING: 临时的找第三方支付的方法
//! WARNING: 临时的找第三方支付的方法
if
(
payLazyPointer
.
load
()
->
transId
()
!=
orderId
)
{
if
(
payLazyPointer
.
load
()
->
transId
()
!=
orderId
)
{
...
...
tests/autotest/tst_db_query.h
View file @
c5eeb0e9
...
@@ -103,4 +103,46 @@ TEST_F(TestDBQuery, T_GetLastStoreInfo)
...
@@ -103,4 +103,46 @@ TEST_F(TestDBQuery, T_GetLastStoreInfo)
EXPECT_EQ
(
newLastSi
->
businessDate
(),
newSi
.
businessDate
());
EXPECT_EQ
(
newLastSi
->
businessDate
(),
newSi
.
businessDate
());
}
}
TEST_F
(
TestDBQuery
,
GetCanRefund
)
{
try
{
odb
::
transaction
t
(
DBSP
()
->
begin
());
QSharedPointer
<
StoreInfo
>
storeInfo
(
new
StoreInfo
);
storeInfo
->
setStoreId
(
"99999"
);
DBSP
()
->
persist
(
storeInfo
);
ASSERT_NE
(
storeInfo
->
id
(),
1
);
QSharedPointer
<
Order
>
order
(
new
Order
());
order
->
setOrderAmount
(
500
);
order
->
setPaidAmount
(
350
);
order
->
setStoreInfo
(
storeInfo
);
DBSP
()
->
persist
(
order
);
ASSERT_NE
(
order
->
id
(),
1
);
// 插入5个支付,其中一个已经全部退款
for
(
int
i
=
0
;
i
<
5
;
i
++
)
{
QSharedPointer
<
Pay
>
pay
(
new
Pay
());
pay
->
setOrder
(
order
);
pay
->
setPayAmount
(
100
);
if
(
i
==
0
)
{
pay
->
setRefundAmount
(
100
);
}
else
if
(
i
==
1
)
{
pay
->
setRefundAmount
(
50
);
}
DBSP
()
->
persist
(
pay
);
ASSERT_NE
(
pay
->
id
(),
1
);
}
DBSP
()
->
reload
(
order
);
ASSERT_EQ
(
order
->
payList
().
size
(),
5
);
PayList
pays
=
order
->
getCanRefundPatList
();
ASSERT_EQ
(
pays
.
size
(),
4
);
EXPECT_EQ
(
pays
.
first
()
->
refundAmount
(),
50
);
t
.
commit
();
}
catch
(
const
odb
::
exception
&
e
)
{
FAIL
()
<<
"Exception: "
<<
e
.
what
()
<<
std
::
endl
;
}
}
#endif // TST_DB_QUERY_H
#endif // TST_DB_QUERY_H
version.h
View file @
c5eeb0e9
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
#define VER_MINOR 1
#define VER_MINOR 1
#define VER_REVISION 0
#define VER_REVISION 0
#define VER_BUILD
49
#define VER_BUILD
50
//! Convert version numbers to string
//! Convert version numbers to string
#define _STR(S) #S
#define _STR(S) #S
...
...
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