Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform
Project
Project
Details
Activity
Releases
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
youjj
cloud-platform
Commits
4ddd5aef
Commit
4ddd5aef
authored
Nov 05, 2019
by
libin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
会员订单列表
parent
09adea94
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
30 additions
and
31 deletions
+30
-31
OrderMemberService.java
...a/com/xxfc/platform/order/service/OrderMemberService.java
+22
-26
BaseOrderMapper.xml
...rder-server/src/main/resources/mapper/BaseOrderMapper.xml
+8
-5
No files found.
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderMemberService.java
View file @
4ddd5aef
...
...
@@ -333,9 +333,6 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
pageDataVO
.
setPageNum
(
memberOrderFindDTO
.
getPage
());
pageDataVO
.
setPageSize
(
memberOrderFindDTO
.
getLimit
());
pageDataVO
.
setData
(
Collections
.
EMPTY_LIST
);
String
name
=
memberOrderFindDTO
.
getLevel
()==
null
?
""
:
memberOrderFindDTO
.
getLevel
()==
1
?
"普通"
:
memberOrderFindDTO
.
getLevel
()==
2
?
"黄金"
:
memberOrderFindDTO
.
getLevel
()==
3
?
"钻石"
:
null
;
memberOrderFindDTO
.
setLevelName
(
name
);
if
(
Objects
.
nonNull
(
memberOrderFindDTO
.
getEndPayTime
())){
Long
payEndTime
=
memberOrderFindDTO
.
getEndPayTime
()+(
1000
*
60
*
60
*
24
);
memberOrderFindDTO
.
setEndPayTime
(
payEndTime
);
...
...
@@ -407,40 +404,29 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
private
MemberOrderStatisticsBo
getMemberOrderStatisticsBo
(
List
<
MemberOrderBo
>
baseOrders
){
MemberOrderStatisticsBo
memberOrderStatisticsBo
=
new
MemberOrderStatisticsBo
();
baseOrders
.
stream
().
peek
(
x
->{
if
(
x
.
getName
().
contains
(
"黄金"
)){
x
.
setDesc
(
"黄金"
);
}
if
(
x
.
getName
().
contains
(
"钻石"
)){
x
.
setDesc
(
"钻石"
);
}
if
(
x
.
getName
().
contains
(
"普通"
)){
x
.
setDesc
(
"普通"
);
}
}).
count
();
Map
<
String
,
List
<
MemberOrderBo
>>
baseOrderMap
=
baseOrders
.
stream
().
collect
(
Collectors
.
groupingBy
(
MemberOrderBo:
:
getDesc
,
Collectors
.
toList
()));
Map
<
String
,
List
<
MemberOrderBo
>>
baseOrderHasPayMap
=
baseOrders
.
stream
().
filter
(
x
->
x
.
getHasPay
()==
1
).
collect
(
Collectors
.
groupingBy
(
MemberOrderBo:
:
getDesc
,
Collectors
.
toList
()));
Map
<
Integer
,
List
<
MemberOrderBo
>>
baseOrderMap
=
baseOrders
.
stream
().
collect
(
Collectors
.
groupingBy
(
MemberOrderBo:
:
getMemberLevel
,
Collectors
.
toList
()));
Map
<
Integer
,
List
<
MemberOrderBo
>>
baseOrderHasPayMap
=
baseOrders
.
stream
().
filter
(
x
->
x
.
getHasPay
()==
1
).
collect
(
Collectors
.
groupingBy
(
MemberOrderBo:
:
getMemberLevel
,
Collectors
.
toList
()));
memberOrderStatisticsBo
.
setOrderNum
(
baseOrders
.
size
());
BigDecimal
totalAmount
=
baseOrders
.
stream
().
filter
(
x
->
x
.
getHasPay
()==
1
).
map
(
MemberOrderBo:
:
getOrderAmount
).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
memberOrderStatisticsBo
.
setTotalAmount
(
totalAmount
);
List
<
MemberOrderBo
>
diamondOrders
=
baseOrderMap
.
get
(
levelEnum
.
DIAMOND
.
get
Desc
());
List
<
MemberOrderBo
>
diamondOrders
=
baseOrderMap
.
get
(
levelEnum
.
DIAMOND
.
get
Level
());
memberOrderStatisticsBo
.
setDiamondOrderNum
(
diamondOrders
==
null
?
0
:
diamondOrders
.
size
());
List
<
MemberOrderBo
>
diamondHashPayOrders
=
baseOrderHasPayMap
.
get
(
levelEnum
.
DIAMOND
.
get
Desc
());
List
<
MemberOrderBo
>
diamondHashPayOrders
=
baseOrderHasPayMap
.
get
(
levelEnum
.
DIAMOND
.
get
Level
());
diamondHashPayOrders
=
diamondHashPayOrders
==
null
?
Collections
.
EMPTY_LIST
:
diamondHashPayOrders
;
BigDecimal
diamondAmount
=
diamondHashPayOrders
.
stream
().
map
(
MemberOrderBo:
:
getOrderAmount
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
memberOrderStatisticsBo
.
setTotalDiamondAmount
(
diamondAmount
);
List
<
MemberOrderBo
>
goldOrders
=
baseOrderMap
.
get
(
levelEnum
.
GOLD
.
get
Desc
());
List
<
MemberOrderBo
>
goldOrders
=
baseOrderMap
.
get
(
levelEnum
.
GOLD
.
get
Level
());
memberOrderStatisticsBo
.
setGoldOrderNum
(
goldOrders
==
null
?
0
:
goldOrders
.
size
());
List
<
MemberOrderBo
>
goldHasPayOrders
=
baseOrderHasPayMap
.
get
(
levelEnum
.
GOLD
.
get
Desc
());
List
<
MemberOrderBo
>
goldHasPayOrders
=
baseOrderHasPayMap
.
get
(
levelEnum
.
GOLD
.
get
Level
());
goldHasPayOrders
=
goldHasPayOrders
==
null
?
Collections
.
EMPTY_LIST
:
goldHasPayOrders
;
BigDecimal
goldAmount
=
goldHasPayOrders
.
stream
().
map
(
MemberOrderBo:
:
getOrderAmount
).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
memberOrderStatisticsBo
.
setTotalGoldAmount
(
goldAmount
);
List
<
MemberOrderBo
>
generalOrders
=
baseOrderMap
.
get
(
levelEnum
.
GENERAL
.
get
Desc
());
List
<
MemberOrderBo
>
generalOrders
=
baseOrderMap
.
get
(
levelEnum
.
GENERAL
.
get
Level
());
memberOrderStatisticsBo
.
setGeneralOrderNum
(
generalOrders
==
null
?
0
:
generalOrders
.
size
());
List
<
MemberOrderBo
>
generalHasPayOrders
=
baseOrderHasPayMap
.
get
(
levelEnum
.
GENERAL
.
get
Desc
());
List
<
MemberOrderBo
>
generalHasPayOrders
=
baseOrderHasPayMap
.
get
(
levelEnum
.
GENERAL
.
get
Level
());
generalHasPayOrders
=
generalHasPayOrders
==
null
?
Collections
.
EMPTY_LIST
:
generalHasPayOrders
;
BigDecimal
generalAmount
=
generalHasPayOrders
.
stream
().
map
(
MemberOrderBo:
:
getOrderAmount
).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
memberOrderStatisticsBo
.
setTotalGeneralAmount
(
generalAmount
);
...
...
@@ -448,16 +434,26 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
return
memberOrderStatisticsBo
;
}
private
enum
levelEnum
{
DIAMOND
(
"钻石"
),
GOLD
(
"黄金"
),
GENERAL
(
"普通"
);
DIAMOND
(
3
,
"钻石"
),
GOLD
(
2
,
"黄金"
),
GENERAL
(
1
,
"普通"
);
levelEnum
(
String
desc
)
{
levelEnum
(
Integer
level
,
String
desc
)
{
this
.
level
=
level
;
this
.
desc
=
desc
;
}
private
Integer
level
;
private
String
desc
;
public
Integer
getLevel
()
{
return
level
;
}
public
void
setLevel
(
Integer
level
)
{
this
.
level
=
level
;
}
public
String
getDesc
()
{
return
desc
;
}
...
...
xx-order/xx-order-server/src/main/resources/mapper/BaseOrderMapper.xml
View file @
4ddd5aef
...
...
@@ -285,6 +285,7 @@
</select>
<select
id=
"findMemberOrders"
resultType=
"com.xxfc.platform.order.pojo.dto.MemberOrderBo"
>
select bo.*,omd.member_level AS `memberLevel` from (
SELECT
`id`,
`no` AS `orderNo`,
...
...
@@ -298,7 +299,6 @@
`coupon_amount` AS `couponAmount`,
`user_id` AS `userId`,
`has_pay` AS `hasPay`,
`member_level` AS `memberLevel`,
`facilitate_id` AS `facilitateId`,
`facilitate_phone` AS `facilitatePhone`
FROM
...
...
@@ -332,15 +332,18 @@
<if
test=
"endPayTime!=null and startPayTime==null"
>
and `pay_time`
<![CDATA[<=#{endPayTime}]]>
</if>
<if
test=
"levelName!=null and levelName!=''"
>
and `name` like CONCAT('%',#{levelName},'%')
</if>
<if
test=
"userIds!=null and userIds.size()>0"
>
and `user_id` IN
<foreach
collection=
"userIds"
item=
"userId"
separator=
","
open=
"("
close=
")"
>
#{userId}
</foreach>
</if>
ORDER BY `crt_time` DESC
) AS `bo`
INNER JOIN (select * from `order_member_detail` where 1=1
<if
test=
"level!=null"
>
and `member_level`=#{level}
</if>
) AS `omd` ON omd.order_id=bo.id
ORDER BY bo.`creatTime` DESC
</select>
</mapper>
\ No newline at end of file
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