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
690c9950
Commit
690c9950
authored
Nov 13, 2019
by
zuoyh
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/order_received_statistics' into order_received_statistics
parents
4109bb27
0a88c199
Changes
23
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
620 additions
and
169 deletions
+620
-169
OrderMemberReceivedStatisticsSignEnum.java
...tant/enumerate/OrderMemberReceivedStatisticsSignEnum.java
+27
-13
OrderReceivedStatisticsSignEnum.java
...er/contant/enumerate/OrderReceivedStatisticsSignEnum.java
+27
-14
OrderRentVehicleReceivedStatisticsSignEnum.java
...enumerate/OrderRentVehicleReceivedStatisticsSignEnum.java
+27
-14
OrderTourReceivedStatisticsSignEnum.java
...ontant/enumerate/OrderTourReceivedStatisticsSignEnum.java
+89
-79
ReceivedStatisticsEnum.java
...tform/order/contant/enumerate/ReceivedStatisticsEnum.java
+57
-10
OrderReceivedStatistics.java
...m/xxfc/platform/order/entity/OrderReceivedStatistics.java
+0
-7
OrderTourReceivedStatistics.java
...fc/platform/order/entity/OrderTourReceivedStatistics.java
+5
-5
OrderReceivedStatisticsFindDTO.java
...atform/order/pojo/dto/OrderReceivedStatisticsFindDTO.java
+2
-2
OrderReceivedStatisticsVo.java
...xfc/platform/order/pojo/vo/OrderReceivedStatisticsVo.java
+3
-2
OrderApplication.java
...c/main/java/com/xxfc/platform/order/OrderApplication.java
+2
-1
OrderMemberReceivedStatisticsBiz.java
.../platform/order/biz/OrderMemberReceivedStatisticsBiz.java
+6
-0
OrderReceivedStatisticsBiz.java
...m/xxfc/platform/order/biz/OrderReceivedStatisticsBiz.java
+213
-13
OrderRentVehicleReceivedStatisticsBiz.java
...form/order/biz/OrderRentVehicleReceivedStatisticsBiz.java
+6
-0
OrderTourReceivedStatisticsBiz.java
...fc/platform/order/biz/OrderTourReceivedStatisticsBiz.java
+6
-0
OrderMemberReceivedStatisticsMapper.java
...orm/order/mapper/OrderMemberReceivedStatisticsMapper.java
+5
-1
OrderReceivedStatisticsMapper.java
.../platform/order/mapper/OrderReceivedStatisticsMapper.java
+5
-1
OrderRentVehicleReceivedStatisticsMapper.java
...rder/mapper/OrderRentVehicleReceivedStatisticsMapper.java
+5
-1
OrderTourReceivedStatisticsMapper.java
...tform/order/mapper/OrderTourReceivedStatisticsMapper.java
+5
-1
OrderReceivedStatisticsAdminController.java
...st/background/OrderReceivedStatisticsAdminController.java
+27
-0
OrderMemberReceivedStatisticsMapper.xml
.../resources/mapper/OrderMemberReceivedStatisticsMapper.xml
+26
-0
OrderReceivedStatisticsMapper.xml
...c/main/resources/mapper/OrderReceivedStatisticsMapper.xml
+26
-2
OrderRentVehicleReceivedStatisticsMapper.xml
...urces/mapper/OrderRentVehicleReceivedStatisticsMapper.xml
+25
-2
OrderTourReceivedStatisticsMapper.xml
...in/resources/mapper/OrderTourReceivedStatisticsMapper.xml
+26
-1
No files found.
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/contant/enumerate/OrderMemberReceivedStatisticsSignEnum.java
View file @
690c9950
...
@@ -6,6 +6,7 @@ import com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo;
...
@@ -6,6 +6,7 @@ import com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.*
;
import
java.util.*
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -15,13 +16,13 @@ import java.util.stream.Collectors;
...
@@ -15,13 +16,13 @@ import java.util.stream.Collectors;
* @data 2019/11/11 10:36
* @data 2019/11/11 10:36
*/
*/
public
enum
OrderMemberReceivedStatisticsSignEnum
{
public
enum
OrderMemberReceivedStatisticsSignEnum
{
MEMBER_TOTAL_AMOUNT
(
"mta"
,
"会员订单总额"
){
MEMBER_TOTAL_AMOUNT
(
"
da_
mta"
,
"会员订单总额"
){
@Override
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderMemberReceivedStatistics
>
orderMemberReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderMemberReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
()
);
List
<
OrderMemberReceivedStatistics
>
orderMemberReceivedStatisticsList
=
ReceivedStatisticsEnum
.
convertToTargetBean
(
V
);
BigDecimal
totalAmount
=
orderMemberReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalAmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
BigDecimal
totalAmount
=
orderMemberReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalAmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
OrderMemberReceivedStatistics
orderMemberReceivedStatistics
=
orderMemberReceivedStatisticsList
.
get
(
0
);
OrderMemberReceivedStatistics
orderMemberReceivedStatistics
=
orderMemberReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderMemberReceivedStatistics
,
totalAmount
,
null
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderMemberReceivedStatistics
,
totalAmount
,
null
);
...
@@ -31,13 +32,13 @@ public enum OrderMemberReceivedStatisticsSignEnum{
...
@@ -31,13 +32,13 @@ public enum OrderMemberReceivedStatisticsSignEnum{
return
resultMap
;
return
resultMap
;
}
}
},
},
COMMON__MEMBER_TOTAL_AMOUNT
(
"cmta"
,
"普通会员订单总额"
){
COMMON__MEMBER_TOTAL_AMOUNT
(
"
db_
cmta"
,
"普通会员订单总额"
){
@Override
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderMemberReceivedStatistics
>
orderMemberReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderMemberReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
()
);
List
<
OrderMemberReceivedStatistics
>
orderMemberReceivedStatisticsList
=
ReceivedStatisticsEnum
.
convertToTargetBean
(
V
);
BigDecimal
totalAmount
=
orderMemberReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getToalCommonAmmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
BigDecimal
totalAmount
=
orderMemberReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getToalCommonAmmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
OrderMemberReceivedStatistics
orderMemberReceivedStatistics
=
orderMemberReceivedStatisticsList
.
get
(
0
);
OrderMemberReceivedStatistics
orderMemberReceivedStatistics
=
orderMemberReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderMemberReceivedStatistics
,
totalAmount
,
null
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderMemberReceivedStatistics
,
totalAmount
,
null
);
...
@@ -47,7 +48,7 @@ public enum OrderMemberReceivedStatisticsSignEnum{
...
@@ -47,7 +48,7 @@ public enum OrderMemberReceivedStatisticsSignEnum{
return
resultMap
;
return
resultMap
;
}
}
},
},
MEMBER_TOTAL_QUANTITY
(
"cmtq"
,
"普通会员订单量"
){
MEMBER_TOTAL_QUANTITY
(
"
dc_
cmtq"
,
"普通会员订单量"
){
@Override
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
...
@@ -63,13 +64,13 @@ public enum OrderMemberReceivedStatisticsSignEnum{
...
@@ -63,13 +64,13 @@ public enum OrderMemberReceivedStatisticsSignEnum{
return
resultMap
;
return
resultMap
;
}
}
},
},
GOLD_MEMBER_TOTAL_AMOUNT
(
"gmta"
,
"黄金会员订单总额"
){
GOLD_MEMBER_TOTAL_AMOUNT
(
"
dd_
gmta"
,
"黄金会员订单总额"
){
@Override
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderMemberReceivedStatistics
>
orderMemberReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderMemberReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
()
);
List
<
OrderMemberReceivedStatistics
>
orderMemberReceivedStatisticsList
=
ReceivedStatisticsEnum
.
convertToTargetBean
(
V
);
BigDecimal
totalAmount
=
orderMemberReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalGoldAmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
BigDecimal
totalAmount
=
orderMemberReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalGoldAmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
OrderMemberReceivedStatistics
orderMemberReceivedStatistics
=
orderMemberReceivedStatisticsList
.
get
(
0
);
OrderMemberReceivedStatistics
orderMemberReceivedStatistics
=
orderMemberReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderMemberReceivedStatistics
,
totalAmount
,
null
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderMemberReceivedStatistics
,
totalAmount
,
null
);
...
@@ -79,13 +80,13 @@ public enum OrderMemberReceivedStatisticsSignEnum{
...
@@ -79,13 +80,13 @@ public enum OrderMemberReceivedStatisticsSignEnum{
return
resultMap
;
return
resultMap
;
}
}
},
},
GOLD_MEMBER_TOTAL_QUANTITY
(
"mgtq"
,
"黄金会员订单量"
){
GOLD_MEMBER_TOTAL_QUANTITY
(
"
de_
mgtq"
,
"黄金会员订单量"
){
@Override
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderMemberReceivedStatistics
>
orderMemberReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderMemberReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
()
);
List
<
OrderMemberReceivedStatistics
>
orderMemberReceivedStatisticsList
=
ReceivedStatisticsEnum
.
convertToTargetBean
(
V
);
Integer
totalQuantity
=
orderMemberReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalGoldQuantity
()).
reduce
(
0
,
(
x
,
y
)
->
x
+
y
);
Integer
totalQuantity
=
orderMemberReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalGoldQuantity
()).
reduce
(
0
,
(
x
,
y
)
->
x
+
y
);
OrderMemberReceivedStatistics
orderMemberReceivedStatistics
=
orderMemberReceivedStatisticsList
.
get
(
0
);
OrderMemberReceivedStatistics
orderMemberReceivedStatistics
=
orderMemberReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderMemberReceivedStatistics
,
null
,
totalQuantity
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderMemberReceivedStatistics
,
null
,
totalQuantity
);
...
@@ -95,13 +96,13 @@ public enum OrderMemberReceivedStatisticsSignEnum{
...
@@ -95,13 +96,13 @@ public enum OrderMemberReceivedStatisticsSignEnum{
return
resultMap
;
return
resultMap
;
}
}
},
},
DIAMOND_MEMBER_TOTAL_AMOUNT
(
"dmta"
,
"钻石会员订单总额"
){
DIAMOND_MEMBER_TOTAL_AMOUNT
(
"d
f_d
mta"
,
"钻石会员订单总额"
){
@Override
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderMemberReceivedStatistics
>
orderMemberReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderMemberReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
()
);
List
<
OrderMemberReceivedStatistics
>
orderMemberReceivedStatisticsList
=
ReceivedStatisticsEnum
.
convertToTargetBean
(
V
);
BigDecimal
totalAmount
=
orderMemberReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalDiamondAmmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
BigDecimal
totalAmount
=
orderMemberReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalDiamondAmmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
OrderMemberReceivedStatistics
orderMemberReceivedStatistics
=
orderMemberReceivedStatisticsList
.
get
(
0
);
OrderMemberReceivedStatistics
orderMemberReceivedStatistics
=
orderMemberReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderMemberReceivedStatistics
,
totalAmount
,
null
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderMemberReceivedStatistics
,
totalAmount
,
null
);
...
@@ -111,13 +112,13 @@ public enum OrderMemberReceivedStatisticsSignEnum{
...
@@ -111,13 +112,13 @@ public enum OrderMemberReceivedStatisticsSignEnum{
return
resultMap
;
return
resultMap
;
}
}
},
},
DIAMOND_MEMBER_TOTAL_QUANTITY
(
"dmtq"
,
"钻石会员订单量"
){
DIAMOND_MEMBER_TOTAL_QUANTITY
(
"d
g_d
mtq"
,
"钻石会员订单量"
){
@Override
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderMemberReceivedStatistics
>
orderMemberReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderMemberReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
()
);
List
<
OrderMemberReceivedStatistics
>
orderMemberReceivedStatisticsList
=
ReceivedStatisticsEnum
.
convertToTargetBean
(
V
);
Integer
totalQuantity
=
orderMemberReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalDiamondQuantity
()).
reduce
(
0
,
(
x
,
y
)
->
x
+
y
);
Integer
totalQuantity
=
orderMemberReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalDiamondQuantity
()).
reduce
(
0
,
(
x
,
y
)
->
x
+
y
);
OrderMemberReceivedStatistics
orderMemberReceivedStatistics
=
orderMemberReceivedStatisticsList
.
get
(
0
);
OrderMemberReceivedStatistics
orderMemberReceivedStatistics
=
orderMemberReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderMemberReceivedStatistics
,
null
,
totalQuantity
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderMemberReceivedStatistics
,
null
,
totalQuantity
);
...
@@ -129,7 +130,11 @@ public enum OrderMemberReceivedStatisticsSignEnum{
...
@@ -129,7 +130,11 @@ public enum OrderMemberReceivedStatisticsSignEnum{
};
};
private
String
sign
;
private
String
sign
;
private
String
desc
;
private
String
desc
;
private
static
Map
<
String
,
OrderMemberReceivedStatisticsSignEnum
>
orderMemberReceivedStatisticsSignEnumMap
;
static
{
orderMemberReceivedStatisticsSignEnumMap
=
EnumSet
.
allOf
(
OrderMemberReceivedStatisticsSignEnum
.
class
).
stream
().
collect
(
Collectors
.
toMap
(
OrderMemberReceivedStatisticsSignEnum:
:
getSign
,
Function
.
identity
()));
}
OrderMemberReceivedStatisticsSignEnum
(
String
sign
,
String
desc
)
{
OrderMemberReceivedStatisticsSignEnum
(
String
sign
,
String
desc
)
{
this
.
sign
=
sign
;
this
.
sign
=
sign
;
this
.
desc
=
desc
;
this
.
desc
=
desc
;
...
@@ -141,6 +146,15 @@ public enum OrderMemberReceivedStatisticsSignEnum{
...
@@ -141,6 +146,15 @@ public enum OrderMemberReceivedStatisticsSignEnum{
*/
*/
abstract
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
);
abstract
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
);
public
static
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
orderMemberstatisticsMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMemberstatisticsMap
,
List
<
String
>
signs
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>(
signs
.
size
());
for
(
String
sign
:
signs
)
{
OrderMemberReceivedStatisticsSignEnum
orderMemberReceivedStatisticsSignEnum
=
orderMemberReceivedStatisticsSignEnumMap
.
get
(
sign
);
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
=
orderMemberReceivedStatisticsSignEnum
.
wrapToMap
(
orderMemberstatisticsMap
);
resultMap
.
putAll
(
wrapToMap
);
}
return
resultMap
;
}
public
String
getSign
()
{
public
String
getSign
()
{
return
sign
;
return
sign
;
}
}
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/contant/enumerate/OrderReceivedStatisticsSignEnum.java
View file @
690c9950
...
@@ -5,10 +5,8 @@ import com.xxfc.platform.order.entity.OrderReceivedStatisticsBase;
...
@@ -5,10 +5,8 @@ import com.xxfc.platform.order.entity.OrderReceivedStatisticsBase;
import
com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo
;
import
com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.HashMap
;
import
java.util.function.Function
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -18,13 +16,13 @@ import java.util.stream.Collectors;
...
@@ -18,13 +16,13 @@ import java.util.stream.Collectors;
* @data 2019/11/11 10:36
* @data 2019/11/11 10:36
*/
*/
public
enum
OrderReceivedStatisticsSignEnum
{
public
enum
OrderReceivedStatisticsSignEnum
{
ORDER_TOTAL_AMOUNT
(
"ota"
,
"订单总额"
){
ORDER_TOTAL_AMOUNT
(
"
aa_
ota"
,
"订单总额"
){
@Override
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderReceivedStatistics
>
orderReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
()
);
List
<
OrderReceivedStatistics
>
orderReceivedStatisticsList
=
ReceivedStatisticsEnum
.
convertToTargetBean
(
V
);
BigDecimal
totalAmount
=
orderReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalAmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
BigDecimal
totalAmount
=
orderReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalAmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
OrderReceivedStatistics
orderReceivedStatistics
=
orderReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatistics
orderReceivedStatistics
=
orderReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
totalAmount
,
null
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
totalAmount
,
null
);
...
@@ -34,13 +32,13 @@ public enum OrderReceivedStatisticsSignEnum {
...
@@ -34,13 +32,13 @@ public enum OrderReceivedStatisticsSignEnum {
return
resultMap
;
return
resultMap
;
}
}
},
},
ORDER_TOTAL_QUANTITY
(
"otq"
,
"订单量"
){
ORDER_TOTAL_QUANTITY
(
"
ab_
otq"
,
"订单量"
){
@Override
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderReceivedStatistics
>
orderReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
()
);
List
<
OrderReceivedStatistics
>
orderReceivedStatisticsList
=
ReceivedStatisticsEnum
.
convertToTargetBean
(
V
);
Integer
totalQuantity
=
orderReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalQuantity
()).
reduce
(
0
,
(
x
,
y
)
->
x
+
y
);
Integer
totalQuantity
=
orderReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalQuantity
()).
reduce
(
0
,
(
x
,
y
)
->
x
+
y
);
OrderReceivedStatistics
orderReceivedStatistics
=
orderReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatistics
orderReceivedStatistics
=
orderReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
null
,
totalQuantity
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
null
,
totalQuantity
);
...
@@ -50,13 +48,13 @@ public enum OrderReceivedStatisticsSignEnum {
...
@@ -50,13 +48,13 @@ public enum OrderReceivedStatisticsSignEnum {
return
resultMap
;
return
resultMap
;
}
}
},
},
ORDER_AVG_QUANTITY
(
"
oavgq"
,
"订单平均量
"
){
ORDER_AVG_QUANTITY
(
"
ac_oavgq"
,
"订单arpu
"
){
@Override
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderReceivedStatistics
>
orderReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
()
);
List
<
OrderReceivedStatistics
>
orderReceivedStatisticsList
=
ReceivedStatisticsEnum
.
convertToTargetBean
(
V
);
Integer
avgQuantity
=
orderReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalQuantity
()).
reduce
(
0
,
(
x
,
y
)
->
x
+
y
)/
V
.
size
();
Integer
avgQuantity
=
orderReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalQuantity
()).
reduce
(
0
,
(
x
,
y
)
->
x
+
y
)/
V
.
size
();
OrderReceivedStatistics
orderReceivedStatistics
=
orderReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatistics
orderReceivedStatistics
=
orderReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
null
,
avgQuantity
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
null
,
avgQuantity
);
...
@@ -66,13 +64,13 @@ public enum OrderReceivedStatisticsSignEnum {
...
@@ -66,13 +64,13 @@ public enum OrderReceivedStatisticsSignEnum {
return
resultMap
;
return
resultMap
;
}
}
},
},
ORDER_TOTAL_REAL_AMOUNT
(
"
otra"
,
"订单实际总额
"
){
ORDER_TOTAL_REAL_AMOUNT
(
"
ad_otra"
,
"实际收入
"
){
@Override
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderReceivedStatistics
>
orderReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
()
);
List
<
OrderReceivedStatistics
>
orderReceivedStatisticsList
=
ReceivedStatisticsEnum
.
convertToTargetBean
(
V
);
BigDecimal
realAmount
=
orderReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getRealAmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
BigDecimal
realAmount
=
orderReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getRealAmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
OrderReceivedStatistics
orderReceivedStatistics
=
orderReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatistics
orderReceivedStatistics
=
orderReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
realAmount
,
null
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
realAmount
,
null
);
...
@@ -82,13 +80,13 @@ public enum OrderReceivedStatisticsSignEnum {
...
@@ -82,13 +80,13 @@ public enum OrderReceivedStatisticsSignEnum {
return
resultMap
;
return
resultMap
;
}
}
},
},
ORDER_REAL_AVG_AMOUNT
(
"
oravga"
,
"订单实际平均总额
"
){
ORDER_REAL_AVG_AMOUNT
(
"
ae_oravga"
,
"实际arpu
"
){
@Override
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderReceivedStatistics
>
orderReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
()
);
List
<
OrderReceivedStatistics
>
orderReceivedStatisticsList
=
ReceivedStatisticsEnum
.
convertToTargetBean
(
V
);
BigDecimal
realAvgAmount
=
orderReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getRealAmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
)).
divide
(
new
BigDecimal
(
V
.
size
()));
BigDecimal
realAvgAmount
=
orderReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getRealAmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
)).
divide
(
new
BigDecimal
(
V
.
size
()));
OrderReceivedStatistics
orderReceivedStatistics
=
orderReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatistics
orderReceivedStatistics
=
orderReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
realAvgAmount
,
null
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
realAvgAmount
,
null
);
...
@@ -100,6 +98,11 @@ public enum OrderReceivedStatisticsSignEnum {
...
@@ -100,6 +98,11 @@ public enum OrderReceivedStatisticsSignEnum {
};
};
private
String
sign
;
private
String
sign
;
private
String
desc
;
private
String
desc
;
private
static
Map
<
String
,
OrderReceivedStatisticsSignEnum
>
orderReceivedStatisticsSignEnumMap
;
static
{
orderReceivedStatisticsSignEnumMap
=
EnumSet
.
allOf
(
OrderReceivedStatisticsSignEnum
.
class
).
stream
().
collect
(
Collectors
.
toMap
(
OrderReceivedStatisticsSignEnum:
:
getSign
,
Function
.
identity
()));
}
OrderReceivedStatisticsSignEnum
(
String
sign
,
String
desc
)
{
OrderReceivedStatisticsSignEnum
(
String
sign
,
String
desc
)
{
this
.
sign
=
sign
;
this
.
sign
=
sign
;
...
@@ -112,6 +115,16 @@ public enum OrderReceivedStatisticsSignEnum {
...
@@ -112,6 +115,16 @@ public enum OrderReceivedStatisticsSignEnum {
*/
*/
abstract
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
);
abstract
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
);
public
static
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
orderReceivedStatistics
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
,
List
<
String
>
signs
){
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>(
signs
.
size
());
for
(
String
sign
:
signs
)
{
OrderReceivedStatisticsSignEnum
orderReceivedStatisticsSignEnum
=
orderReceivedStatisticsSignEnumMap
.
get
(
sign
);
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
=
orderReceivedStatisticsSignEnum
.
wrapToMap
(
orderMap
);
resultMap
.
putAll
(
wrapToMap
);
}
return
resultMap
;
}
public
String
getSign
()
{
public
String
getSign
()
{
return
sign
;
return
sign
;
}
}
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/contant/enumerate/OrderRentVehicleReceivedStatisticsSignEnum.java
View file @
690c9950
...
@@ -6,10 +6,8 @@ import com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo;
...
@@ -6,10 +6,8 @@ import com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.math.RoundingMode
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.HashMap
;
import
java.util.function.Function
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -19,13 +17,13 @@ import java.util.stream.Collectors;
...
@@ -19,13 +17,13 @@ import java.util.stream.Collectors;
* @data 2019/11/11 10:36
* @data 2019/11/11 10:36
*/
*/
public
enum
OrderRentVehicleReceivedStatisticsSignEnum
{
public
enum
OrderRentVehicleReceivedStatisticsSignEnum
{
RENT_VEHICLE_TOTAL_AMOUNT
(
"rvta"
,
"租车订单总额"
){
RENT_VEHICLE_TOTAL_AMOUNT
(
"
ba_
rvta"
,
"租车订单总额"
){
@Override
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderRentVehicleReceivedStatistics
>
orderRentVehicleReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderRentVehicleReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
()
);
List
<
OrderRentVehicleReceivedStatistics
>
orderRentVehicleReceivedStatisticsList
=
ReceivedStatisticsEnum
.
convertToTargetBean
(
V
);
BigDecimal
totalAmount
=
orderRentVehicleReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalAmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
BigDecimal
totalAmount
=
orderRentVehicleReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalAmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
OrderRentVehicleReceivedStatistics
orderReceivedStatistics
=
orderRentVehicleReceivedStatisticsList
.
get
(
0
);
OrderRentVehicleReceivedStatistics
orderReceivedStatistics
=
orderRentVehicleReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
totalAmount
,
null
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
totalAmount
,
null
);
...
@@ -35,13 +33,13 @@ public enum OrderRentVehicleReceivedStatisticsSignEnum{
...
@@ -35,13 +33,13 @@ public enum OrderRentVehicleReceivedStatisticsSignEnum{
return
resultMap
;
return
resultMap
;
}
}
},
},
RENT_VEHICLE_TOTAL_QUANTITY
(
"rvtq"
,
"租车订单量"
)
{
RENT_VEHICLE_TOTAL_QUANTITY
(
"
bb_
rvtq"
,
"租车订单量"
)
{
@Override
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderRentVehicleReceivedStatistics
>
orderRentVehicleReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderRentVehicleReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
()
);
List
<
OrderRentVehicleReceivedStatistics
>
orderRentVehicleReceivedStatisticsList
=
ReceivedStatisticsEnum
.
convertToTargetBean
(
V
);
Integer
totalQuantity
=
orderRentVehicleReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalQuantity
()).
reduce
(
0
,
(
x
,
y
)
->
x
+
y
);
Integer
totalQuantity
=
orderRentVehicleReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalQuantity
()).
reduce
(
0
,
(
x
,
y
)
->
x
+
y
);
OrderRentVehicleReceivedStatistics
orderReceivedStatistics
=
orderRentVehicleReceivedStatisticsList
.
get
(
0
);
OrderRentVehicleReceivedStatistics
orderReceivedStatistics
=
orderRentVehicleReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
null
,
totalQuantity
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
null
,
totalQuantity
);
...
@@ -51,13 +49,13 @@ public enum OrderRentVehicleReceivedStatisticsSignEnum{
...
@@ -51,13 +49,13 @@ public enum OrderRentVehicleReceivedStatisticsSignEnum{
return
resultMap
;
return
resultMap
;
}
}
},
},
RENT_VEHICLE_AVG_QUANTITY
(
"
rvaq"
,
"租车订单平均量
"
)
{
RENT_VEHICLE_AVG_QUANTITY
(
"
bc_rvavgq"
,
"租车订单arpu
"
)
{
@Override
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderRentVehicleReceivedStatistics
>
orderRentVehicleReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderRentVehicleReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
()
);
List
<
OrderRentVehicleReceivedStatistics
>
orderRentVehicleReceivedStatisticsList
=
ReceivedStatisticsEnum
.
convertToTargetBean
(
V
);
Integer
avgQuantity
=
orderRentVehicleReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalQuantity
()).
reduce
(
0
,
(
x
,
y
)
->
x
+
y
)/
V
.
size
();
Integer
avgQuantity
=
orderRentVehicleReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalQuantity
()).
reduce
(
0
,
(
x
,
y
)
->
x
+
y
)/
V
.
size
();
OrderRentVehicleReceivedStatistics
orderReceivedStatistics
=
orderRentVehicleReceivedStatisticsList
.
get
(
0
);
OrderRentVehicleReceivedStatistics
orderReceivedStatistics
=
orderRentVehicleReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
null
,
avgQuantity
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
null
,
avgQuantity
);
...
@@ -67,13 +65,13 @@ public enum OrderRentVehicleReceivedStatisticsSignEnum{
...
@@ -67,13 +65,13 @@ public enum OrderRentVehicleReceivedStatisticsSignEnum{
return
resultMap
;
return
resultMap
;
}
}
},
},
RENT_VEHICLE_REAL_TOTAL_AMOUNT
(
"rvrta"
,
"实际租车金额"
)
{
RENT_VEHICLE_REAL_TOTAL_AMOUNT
(
"
bd_
rvrta"
,
"实际租车金额"
)
{
@Override
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderRentVehicleReceivedStatistics
>
orderRentVehicleReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderRentVehicleReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
()
);
List
<
OrderRentVehicleReceivedStatistics
>
orderRentVehicleReceivedStatisticsList
=
ReceivedStatisticsEnum
.
convertToTargetBean
(
V
);
BigDecimal
realAmount
=
orderRentVehicleReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getRealAmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
BigDecimal
realAmount
=
orderRentVehicleReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getRealAmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
OrderRentVehicleReceivedStatistics
orderReceivedStatistics
=
orderRentVehicleReceivedStatisticsList
.
get
(
0
);
OrderRentVehicleReceivedStatistics
orderReceivedStatistics
=
orderRentVehicleReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
realAmount
,
null
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
realAmount
,
null
);
...
@@ -83,13 +81,13 @@ public enum OrderRentVehicleReceivedStatisticsSignEnum{
...
@@ -83,13 +81,13 @@ public enum OrderRentVehicleReceivedStatisticsSignEnum{
return
resultMap
;
return
resultMap
;
}
}
},
},
RENT_VEHICLE_REAL_AVG_AMOUNT
(
"
rvraa"
,
"实际租车平均金额
"
)
{
RENT_VEHICLE_REAL_AVG_AMOUNT
(
"
be_rvravga"
,
"实际租车arpu
"
)
{
@Override
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderRentVehicleReceivedStatistics
>
orderRentVehicleReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderRentVehicleReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
()
);
List
<
OrderRentVehicleReceivedStatistics
>
orderRentVehicleReceivedStatisticsList
=
ReceivedStatisticsEnum
.
convertToTargetBean
(
V
);
BigDecimal
realAvgAmount
=
orderRentVehicleReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getRealAmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
)).
divide
(
new
BigDecimal
(
V
.
size
()),
RoundingMode
.
HALF_UP
);
BigDecimal
realAvgAmount
=
orderRentVehicleReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getRealAmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
)).
divide
(
new
BigDecimal
(
V
.
size
()),
RoundingMode
.
HALF_UP
);
OrderRentVehicleReceivedStatistics
orderReceivedStatistics
=
orderRentVehicleReceivedStatisticsList
.
get
(
0
);
OrderRentVehicleReceivedStatistics
orderReceivedStatistics
=
orderRentVehicleReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
realAvgAmount
,
null
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
realAvgAmount
,
null
);
...
@@ -101,6 +99,11 @@ public enum OrderRentVehicleReceivedStatisticsSignEnum{
...
@@ -101,6 +99,11 @@ public enum OrderRentVehicleReceivedStatisticsSignEnum{
};
};
private
String
sign
;
private
String
sign
;
private
String
desc
;
private
String
desc
;
private
static
Map
<
String
,
OrderRentVehicleReceivedStatisticsSignEnum
>
orderRentVehicleReceivedStatisticsSignEnumMap
;
static
{
orderRentVehicleReceivedStatisticsSignEnumMap
=
EnumSet
.
allOf
(
OrderRentVehicleReceivedStatisticsSignEnum
.
class
).
stream
().
collect
(
Collectors
.
toMap
(
OrderRentVehicleReceivedStatisticsSignEnum:
:
getSign
,
Function
.
identity
()));
}
OrderRentVehicleReceivedStatisticsSignEnum
(
String
sign
,
String
desc
)
{
OrderRentVehicleReceivedStatisticsSignEnum
(
String
sign
,
String
desc
)
{
this
.
sign
=
sign
;
this
.
sign
=
sign
;
...
@@ -113,6 +116,16 @@ public enum OrderRentVehicleReceivedStatisticsSignEnum{
...
@@ -113,6 +116,16 @@ public enum OrderRentVehicleReceivedStatisticsSignEnum{
*/
*/
abstract
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
);
abstract
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
);
public
static
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
orderMemberstatisticsMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderRentVehiclestatisticsMap
,
List
<
String
>
signs
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>(
signs
.
size
());
for
(
String
sign
:
signs
)
{
OrderRentVehicleReceivedStatisticsSignEnum
orderRentVehicleReceivedStatisticsSignEnum
=
orderRentVehicleReceivedStatisticsSignEnumMap
.
get
(
sign
);
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
=
orderRentVehicleReceivedStatisticsSignEnum
.
wrapToMap
(
orderRentVehiclestatisticsMap
);
resultMap
.
putAll
(
wrapToMap
);
}
return
resultMap
;
}
public
String
getSign
()
{
public
String
getSign
()
{
return
sign
;
return
sign
;
}
}
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/contant/enumerate/OrderTourReceivedStatisticsSignEnum.java
View file @
690c9950
...
@@ -5,10 +5,8 @@ import com.xxfc.platform.order.entity.OrderTourReceivedStatistics;
...
@@ -5,10 +5,8 @@ import com.xxfc.platform.order.entity.OrderTourReceivedStatistics;
import
com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo
;
import
com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.HashMap
;
import
java.util.function.Function
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -18,86 +16,98 @@ import java.util.stream.Collectors;
...
@@ -18,86 +16,98 @@ import java.util.stream.Collectors;
* @data 2019/11/11 10:36
* @data 2019/11/11 10:36
*/
*/
public
enum
OrderTourReceivedStatisticsSignEnum
{
public
enum
OrderTourReceivedStatisticsSignEnum
{
TOUR_TOTAL_AMOUNT
(
"tta"
,
"旅游订单总额"
){
TOUR_TOTAL_AMOUNT
(
"ca_tta"
,
"旅游订单总额"
)
{
@Override
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
orderMap
.
forEach
((
K
,
V
)
->
{
List
<
OrderTourReceivedStatistics
>
orderTourReceivedStatisticsList
=
transFormOrderTourReceivedStatistics
(
V
);
List
<
OrderTourReceivedStatistics
>
orderTourReceivedStatisticsList
=
ReceivedStatisticsEnum
.
convertToTargetBean
(
V
);
BigDecimal
totalAmount
=
orderTourReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalAmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
BigDecimal
totalAmount
=
orderTourReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalAmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
OrderTourReceivedStatistics
orderReceivedStatistics
=
orderTourReceivedStatisticsList
.
get
(
0
);
OrderTourReceivedStatistics
orderReceivedStatistics
=
orderTourReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
totalAmount
,
null
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
totalAmount
,
null
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
});
});
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
return
resultMap
;
}
}
},
},
TOUR_TOTAL_QUANTITY
(
"ttq"
,
"旅游订单量"
){
TOUR_TOTAL_QUANTITY
(
"cb_ttq"
,
"旅游订单量"
)
{
@Override
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
orderMap
.
forEach
((
K
,
V
)
->
{
List
<
OrderTourReceivedStatistics
>
orderTourReceivedStatisticsList
=
transFormOrderTourReceivedStatistics
(
V
);
List
<
OrderTourReceivedStatistics
>
orderTourReceivedStatisticsList
=
ReceivedStatisticsEnum
.
convertToTargetBean
(
V
);
Integer
totalQuantity
=
orderTourReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalQuantity
()).
reduce
(
0
,
(
x
,
y
)
->
x
+
y
);
Integer
totalQuantity
=
orderTourReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalQuantity
()).
reduce
(
0
,
(
x
,
y
)
->
x
+
y
);
OrderTourReceivedStatistics
orderReceivedStatistics
=
orderTourReceivedStatisticsList
.
get
(
0
);
OrderTourReceivedStatistics
orderReceivedStatistics
=
orderTourReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
null
,
totalQuantity
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
null
,
totalQuantity
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
});
});
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
return
resultMap
;
}
}
},
},
TOUR_AVG_QUANTITY
(
"tavgq"
,
"旅游订单平均量"
){
TOUR_AVG_QUANTITY
(
"cd_tavgq"
,
"旅游订单arpu"
)
{
@Override
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
orderMap
.
forEach
((
K
,
V
)
->
{
List
<
OrderTourReceivedStatistics
>
orderTourReceivedStatisticsList
=
transFormOrderTourReceivedStatistics
(
V
);
List
<
OrderTourReceivedStatistics
>
orderTourReceivedStatisticsList
=
ReceivedStatisticsEnum
.
convertToTargetBean
(
V
);
Integer
avgQuantity
=
orderTourReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalQuantity
()).
reduce
(
0
,
(
x
,
y
)
->
x
+
y
)/
V
.
size
();
Integer
avgQuantity
=
orderTourReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalQuantity
()).
reduce
(
0
,
(
x
,
y
)
->
x
+
y
)
/
V
.
size
();
OrderTourReceivedStatistics
orderReceivedStatistics
=
orderTourReceivedStatisticsList
.
get
(
0
);
OrderTourReceivedStatistics
orderReceivedStatistics
=
orderTourReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
null
,
avgQuantity
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
null
,
avgQuantity
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
});
});
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
return
resultMap
;
}
}
};
};
private
String
sign
;
private
String
desc
;
private
static
Map
<
String
,
OrderTourReceivedStatisticsSignEnum
>
orderTourReceivedStatisticsSignEnumMap
;
private
static
List
<
OrderTourReceivedStatistics
>
transFormOrderTourReceivedStatistics
(
List
<
OrderReceivedStatisticsBase
>
V
)
{
static
{
return
V
.
stream
().
map
(
x
->
(
OrderTourReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
(
));
orderTourReceivedStatisticsSignEnumMap
=
EnumSet
.
allOf
(
OrderTourReceivedStatisticsSignEnum
.
class
).
stream
().
collect
(
Collectors
.
toMap
(
OrderTourReceivedStatisticsSignEnum:
:
getSign
,
Function
.
identity
()
));
}
}
private
String
sign
;
OrderTourReceivedStatisticsSignEnum
(
String
sign
,
String
desc
)
{
private
String
desc
;
this
.
sign
=
sign
;
this
.
desc
=
desc
;
}
/**
* 统计项
*
* @param orderMap
* @return
*/
abstract
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
);
OrderTourReceivedStatisticsSignEnum
(
String
sign
,
String
desc
)
{
public
static
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
orderMemberstatisticsMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderTourstatisticsMap
,
List
<
String
>
signs
)
{
this
.
sign
=
sign
;
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>(
signs
.
size
());
this
.
desc
=
desc
;
for
(
String
sign
:
signs
)
{
}
OrderTourReceivedStatisticsSignEnum
orderTourReceivedStatisticsSignEnum
=
orderTourReceivedStatisticsSignEnumMap
.
get
(
sign
);
/**
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
=
orderTourReceivedStatisticsSignEnum
.
wrapToMap
(
orderTourstatisticsMap
);
* 统计项
resultMap
.
putAll
(
wrapToMap
);
* @param orderMap
}
* @return
return
resultMap
;
*/
}
abstract
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
);
public
String
getSign
()
{
public
String
getSign
()
{
return
sign
;
return
sign
;
}
}
public
void
setSign
(
String
sign
)
{
public
void
setSign
(
String
sign
)
{
this
.
sign
=
sign
;
this
.
sign
=
sign
;
}
}
public
String
getDesc
()
{
public
String
getDesc
()
{
return
desc
;
return
desc
;
}
}
public
void
setDesc
(
String
desc
)
{
public
void
setDesc
(
String
desc
)
{
this
.
desc
=
desc
;
this
.
desc
=
desc
;
}
}
}
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/contant/enumerate/ReceivedStatisticsEnum.java
View file @
690c9950
package
com
.
xxfc
.
platform
.
order
.
contant
.
enumerate
;
package
com
.
xxfc
.
platform
.
order
.
contant
.
enumerate
;
import
com.xxfc.platform.order.entity.OrderReceivedStatisticsBase
;
import
com.xxfc.platform.order.entity.OrderReceivedStatisticsBase
;
import
com.xxfc.platform.order.entity.OrderRentVehicleReceivedStatistics
;
import
com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo
;
import
com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.Collections
;
import
java.util.*
;
import
java.util.EnumSet
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -19,7 +21,7 @@ import java.util.stream.Collectors;
...
@@ -19,7 +21,7 @@ import java.util.stream.Collectors;
public
enum
ReceivedStatisticsEnum
{
public
enum
ReceivedStatisticsEnum
{
DAY
(
1
,
"按日统计"
)
{
DAY
(
1
,
"按日统计"
)
{
@Override
@Override
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
wrapMap
(
List
<
OrderReceivedStatisticsBase
>
orderReceivedStatisticsBases
)
{
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
wrapMap
(
List
<
?
extends
OrderReceivedStatisticsBase
>
orderReceivedStatisticsBases
)
{
if
(
CollectionUtils
.
isEmpty
(
orderReceivedStatisticsBases
))
{
if
(
CollectionUtils
.
isEmpty
(
orderReceivedStatisticsBases
))
{
return
Collections
.
EMPTY_MAP
;
return
Collections
.
EMPTY_MAP
;
}
}
...
@@ -28,7 +30,7 @@ public enum ReceivedStatisticsEnum {
...
@@ -28,7 +30,7 @@ public enum ReceivedStatisticsEnum {
},
},
WEEK
(
2
,
"按周统计"
)
{
WEEK
(
2
,
"按周统计"
)
{
@Override
@Override
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
wrapMap
(
List
<
OrderReceivedStatisticsBase
>
orderReceivedStatisticsBases
)
{
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
wrapMap
(
List
<
?
extends
OrderReceivedStatisticsBase
>
orderReceivedStatisticsBases
)
{
if
(
CollectionUtils
.
isEmpty
(
orderReceivedStatisticsBases
))
{
if
(
CollectionUtils
.
isEmpty
(
orderReceivedStatisticsBases
))
{
return
Collections
.
EMPTY_MAP
;
return
Collections
.
EMPTY_MAP
;
}
}
...
@@ -37,15 +39,24 @@ public enum ReceivedStatisticsEnum {
...
@@ -37,15 +39,24 @@ public enum ReceivedStatisticsEnum {
},
},
MONTH
(
3
,
"按月统计"
)
{
MONTH
(
3
,
"按月统计"
)
{
@Override
@Override
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
wrapMap
(
List
<
OrderReceivedStatisticsBase
>
orderReceivedStatisticsBases
)
{
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
wrapMap
(
List
<
?
extends
OrderReceivedStatisticsBase
>
orderReceivedStatisticsBases
)
{
if
(
CollectionUtils
.
isEmpty
(
orderReceivedStatisticsBases
))
{
if
(
CollectionUtils
.
isEmpty
(
orderReceivedStatisticsBases
))
{
return
Collections
.
EMPTY_MAP
;
return
Collections
.
EMPTY_MAP
;
}
}
return
orderReceivedStatisticsBases
.
stream
().
collect
(
Collectors
.
groupingBy
(
OrderReceivedStatisticsBase:
:
getMonth
,
Collectors
.
toList
()));
return
orderReceivedStatisticsBases
.
stream
().
peek
(
x
->
{
OrderReceivedStatisticsBase
orderReceivedStatisticsBase
=
(
OrderReceivedStatisticsBase
)
x
;
orderReceivedStatisticsBase
.
setDate
(
null
);
orderReceivedStatisticsBase
.
setWeekOfYear
(
null
);
}).
collect
(
Collectors
.
groupingBy
(
OrderReceivedStatisticsBase:
:
getMonth
,
Collectors
.
toList
()));
}
}
};
};
private
int
wayCode
;
private
int
wayCode
;
private
String
value
;
private
String
value
;
private
static
Map
<
Integer
,
ReceivedStatisticsEnum
>
statisticsEnumMap
;
static
{
statisticsEnumMap
=
EnumSet
.
allOf
(
ReceivedStatisticsEnum
.
class
).
stream
().
collect
(
Collectors
.
toMap
(
ReceivedStatisticsEnum:
:
getWayCode
,
Function
.
identity
()));
}
ReceivedStatisticsEnum
(
int
wayCode
,
String
value
)
{
ReceivedStatisticsEnum
(
int
wayCode
,
String
value
)
{
this
.
wayCode
=
wayCode
;
this
.
wayCode
=
wayCode
;
...
@@ -54,20 +65,56 @@ public enum ReceivedStatisticsEnum {
...
@@ -54,20 +65,56 @@ public enum ReceivedStatisticsEnum {
/**
/**
* 统计方式
* 统计方式
*
* @param orderReceivedStatisticsBases
* @param orderReceivedStatisticsBases
* @return
* @return
*/
*/
abstract
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
wrapMap
(
List
<
OrderReceivedStatisticsBase
>
orderReceivedStatisticsBases
);
abstract
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
wrapMap
(
List
<?
extends
OrderReceivedStatisticsBase
>
orderReceivedStatisticsBases
);
public
static
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderstatistics
(
List
<?
extends
OrderReceivedStatisticsBase
>
orderReceivedStatisticsBases
,
int
wayCode
)
{
ReceivedStatisticsEnum
statisticsEnum
=
createInstance
(
wayCode
);
return
statisticsEnum
.
wrapMap
(
orderReceivedStatisticsBases
);
}
private
static
ReceivedStatisticsEnum
createInstance
(
int
wayCode
)
{
return
statisticsEnumMap
.
get
(
wayCode
);
}
/**
* 类型转换
*
* @param source
* @param <T>
* @return
*/
public
static
<
T
>
List
<
T
>
convertToTargetBean
(
List
<?
extends
OrderReceivedStatisticsBase
>
source
)
{
return
source
.
stream
().
map
(
x
->
(
T
)
x
).
collect
(
Collectors
.
toList
());
}
public
static
OrderReceivedStatisticsVo
createOrderReceivedStatistics
(
OrderReceivedStatisticsBase
orderReceivedStatisticsBase
,
BigDecimal
amount
,
Integer
quantity
)
{
public
static
OrderReceivedStatisticsVo
createOrderReceivedStatistics
(
OrderReceivedStatisticsBase
orderReceivedStatisticsBase
,
BigDecimal
amount
,
Integer
quantity
)
{
return
OrderReceivedStatisticsVo
.
builder
()
return
OrderReceivedStatisticsVo
.
builder
()
.
date
(
orderReceivedStatisticsBase
.
getDate
())
.
date
(
orderReceivedStatisticsBase
.
getDate
())
.
month
(
orderReceivedStatisticsBase
.
getMonth
())
.
month
(
orderReceivedStatisticsBase
.
getMonth
())
.
weekOfYear
(
orderReceivedStatisticsBase
.
getWeekOfYear
())
.
weekOfYear
(
orderReceivedStatisticsBase
.
getWeekOfYear
())
.
weekOfY
ear
(
orderReceivedStatisticsBase
.
getYear
())
.
y
ear
(
orderReceivedStatisticsBase
.
getYear
())
.
orderNum
(
quantity
)
.
orderNum
(
quantity
)
.
orderAmount
(
amount
)
.
orderAmount
(
amount
)
.
build
();
.
build
();
}
}
public
int
getWayCode
()
{
return
wayCode
;
}
public
void
setWayCode
(
int
wayCode
)
{
this
.
wayCode
=
wayCode
;
}
public
String
getValue
()
{
return
value
;
}
public
void
setValue
(
String
value
)
{
this
.
value
=
value
;
}
}
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderReceivedStatistics.java
View file @
690c9950
...
@@ -56,13 +56,6 @@ public class OrderReceivedStatistics extends OrderReceivedStatisticsBase impleme
...
@@ -56,13 +56,6 @@ public class OrderReceivedStatistics extends OrderReceivedStatisticsBase impleme
@ApiModelProperty
(
value
=
"实际收入"
)
@ApiModelProperty
(
value
=
"实际收入"
)
private
BigDecimal
realAmount
;
private
BigDecimal
realAmount
;
/**
* 实际平均收入
*/
@Column
(
name
=
"real_avg_amount"
)
@ApiModelProperty
(
value
=
"实际平均收入"
)
private
BigDecimal
realAvgAmount
;
/**
/**
* 是否完成 1 完成 0 未完成
* 是否完成 1 完成 0 未完成
*/
*/
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderTourReceivedStatistics.java
View file @
690c9950
package
com
.
xxfc
.
platform
.
order
.
entity
;
package
com
.
xxfc
.
platform
.
order
.
entity
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
javax.persistence.*
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.Table
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
/**
* 旅游订单统计
* 旅游订单统计
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/dto/OrderReceivedStatisticsFindDTO.java
View file @
690c9950
...
@@ -21,7 +21,7 @@ public class OrderReceivedStatisticsFindDTO {
...
@@ -21,7 +21,7 @@ public class OrderReceivedStatisticsFindDTO {
private
Date
startDate
;
private
Date
startDate
;
@ApiModelProperty
(
"统计的结束时间 yyyy-MM-dd"
)
@ApiModelProperty
(
"统计的结束时间 yyyy-MM-dd"
)
private
Date
endDate
;
private
Date
endDate
;
@ApiModelProperty
(
"统计方式 1:日 2:周 3:
周
"
)
@ApiModelProperty
(
"统计方式 1:日 2:周 3:
月
"
)
@NotNull
(
message
=
"统计方式不能为null"
)
@NotNull
(
message
=
"统计方式不能为null"
)
private
Integer
statisticalWay
;
private
Integer
statisticalWay
;
@ApiModelProperty
(
"订单状态 0:未完成 1:已完成"
)
@ApiModelProperty
(
"订单状态 0:未完成 1:已完成"
)
...
@@ -32,5 +32,5 @@ public class OrderReceivedStatisticsFindDTO {
...
@@ -32,5 +32,5 @@ public class OrderReceivedStatisticsFindDTO {
private
Integer
payWay
;
private
Integer
payWay
;
@ApiModelProperty
(
"统计项标识"
)
@ApiModelProperty
(
"统计项标识"
)
@NotNull
(
message
=
"统计标识不能为null"
)
@NotNull
(
message
=
"统计标识不能为null"
)
private
List
<
Integer
>
statisticalSigns
;
private
List
<
String
>
statisticalSigns
;
}
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/vo/OrderReceivedStatisticsVo.java
View file @
690c9950
...
@@ -20,12 +20,13 @@ import java.util.Date;
...
@@ -20,12 +20,13 @@ import java.util.Date;
@AllArgsConstructor
@AllArgsConstructor
@NoArgsConstructor
@NoArgsConstructor
public
class
OrderReceivedStatisticsVo
{
public
class
OrderReceivedStatisticsVo
{
private
String
year
;
@ApiModelProperty
(
"日期-->日统计方式"
)
@ApiModelProperty
(
"日期-->日统计方式"
)
private
Date
date
;
private
Date
date
;
@ApiModelProperty
(
"第几周---->周统计方式"
)
@ApiModelProperty
(
"第几周---->周统计方式"
)
private
Integer
weekOfYear
;
private
String
weekOfYear
;
@ApiModelProperty
(
"月统计"
)
@ApiModelProperty
(
"月统计"
)
private
Integer
month
;
private
String
month
;
@ApiModelProperty
(
"订单总额|实际收入|平均收入"
)
@ApiModelProperty
(
"订单总额|实际收入|平均收入"
)
private
BigDecimal
orderAmount
;
private
BigDecimal
orderAmount
;
@ApiModelProperty
(
"订单总量|订单平均量"
)
@ApiModelProperty
(
"订单总量|订单平均量"
)
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/OrderApplication.java
View file @
690c9950
...
@@ -13,7 +13,8 @@ import org.springframework.scheduling.annotation.EnableScheduling;
...
@@ -13,7 +13,8 @@ import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication
(
scanBasePackages
=
{
@SpringBootApplication
(
scanBasePackages
=
{
"com.xxfc.platform"
,
"com.xxfc.platform"
,
"com.github.wxiaoqi.security.common.handler"
,
"com.github.wxiaoqi.security.common.handler"
,
"com.github.wxiaoqi.security.common.log"
"com.github.wxiaoqi.security.common.log"
,
"com.github.wxiaoqi.security.common.support"
})
})
@EnableDiscoveryClient
@EnableDiscoveryClient
@EnableScheduling
@EnableScheduling
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderMemberReceivedStatisticsBiz.java
View file @
690c9950
...
@@ -3,9 +3,12 @@ package com.xxfc.platform.order.biz;
...
@@ -3,9 +3,12 @@ package com.xxfc.platform.order.biz;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.xxfc.platform.order.entity.OrderMemberReceivedStatistics
;
import
com.xxfc.platform.order.entity.OrderMemberReceivedStatistics
;
import
com.xxfc.platform.order.mapper.OrderMemberReceivedStatisticsMapper
;
import
com.xxfc.platform.order.mapper.OrderMemberReceivedStatisticsMapper
;
import
com.xxfc.platform.order.pojo.dto.OrderReceivedStatisticsFindDTO
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
/**
/**
* 会员订单统计
* 会员订单统计
*
*
...
@@ -16,4 +19,7 @@ import org.springframework.transaction.annotation.Transactional;
...
@@ -16,4 +19,7 @@ import org.springframework.transaction.annotation.Transactional;
@Service
@Service
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
class
OrderMemberReceivedStatisticsBiz
extends
BaseBiz
<
OrderMemberReceivedStatisticsMapper
,
OrderMemberReceivedStatistics
>
{
public
class
OrderMemberReceivedStatisticsBiz
extends
BaseBiz
<
OrderMemberReceivedStatisticsMapper
,
OrderMemberReceivedStatistics
>
{
public
List
<
OrderMemberReceivedStatistics
>
selectOrderReceivedStatistics
(
OrderReceivedStatisticsFindDTO
orderReceivedStatisticsFindDTO
)
{
return
mapper
.
selectOrderMemberReceivedStatistics
(
orderReceivedStatisticsFindDTO
);
}
}
}
\ No newline at end of file
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderReceivedStatisticsBiz.java
View file @
690c9950
package
com
.
xxfc
.
platform
.
order
.
biz
;
package
com
.
xxfc
.
platform
.
order
.
biz
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.date.DateField
;
import
cn.hutool.core.date.DateTime
;
import
cn.hutool.core.date.DateUtil
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.util.excel.ExcelExport
;
import
com.google.common.collect.Lists
;
import
com.xxfc.platform.order.contant.enumerate.*
;
import
com.xxfc.platform.order.entity.*
;
import
com.xxfc.platform.order.mapper.OrderReceivedStatisticsMapper
;
import
com.xxfc.platform.order.pojo.dto.OrderReceivedStatisticsFindDTO
;
import
com.xxfc.platform.order.pojo.dto.OrderReceivedStatisticsFindDTO
;
import
com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo
;
import
com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.poi.ss.usermodel.*
;
import
org.apache.poi.xssf.usermodel.XSSFFont
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.springframework.beans.factory.InitializingBean
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
com.xxfc.platform.order.entity.OrderReceivedStatistics
;
import
com.xxfc.platform.order.mapper.OrderReceivedStatisticsMapper
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.Collections
;
import
javax.servlet.ServletOutputStream
;
import
java.util.List
;
import
java.io.IOException
;
import
java.util.Map
;
import
java.util.*
;
import
java.util.function.Predicate
;
import
java.util.stream.Collectors
;
/**
/**
*
全部订单统计
* 全部订单统计
*
*
* @author libin
* @author libin
* @email 18178966185@163.com
* @email 18178966185@163.com
...
@@ -25,12 +38,199 @@ import java.util.Map;
...
@@ -25,12 +38,199 @@ import java.util.Map;
@Service
@Service
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
public
class
OrderReceivedStatisticsBiz
extends
BaseBiz
<
OrderReceivedStatisticsMapper
,
OrderReceivedStatistics
>
{
public
class
OrderReceivedStatisticsBiz
extends
BaseBiz
<
OrderReceivedStatisticsMapper
,
OrderReceivedStatistics
>
implements
InitializingBean
{
private
final
OrderRentVehicleReceivedStatisticsBiz
orderRentVehicleReceivedStatisticsBiz
;
private
final
OrderRentVehicleReceivedStatisticsBiz
orderRentVehicleReceivedStatisticsBiz
;
private
final
OrderTourReceivedStatisticsBiz
orderTourReceivedStatisticsBiz
;
private
final
OrderTourReceivedStatisticsBiz
orderTourReceivedStatisticsBiz
;
private
final
OrderMemberReceivedStatisticsBiz
orderMemberReceivedStatisticsBiz
;
private
final
OrderMemberReceivedStatisticsBiz
orderMemberReceivedStatisticsBiz
;
private
List
<
String
>
orderSigns
;
private
List
<
String
>
orderMemberSigns
;
private
List
<
String
>
orderRentVehicleSigns
;
private
List
<
String
>
orderTourSigns
;
private
Map
<
String
,
String
>
signAndDescMap
;
/**
* 订单统计数据导出
*
* @param orderReceivedStatisticsFindDTO
* @param outputStream
*/
public
void
exportOrderReceivedStatisticsData
(
OrderReceivedStatisticsFindDTO
orderReceivedStatisticsFindDTO
,
ServletOutputStream
outputStream
)
throws
IOException
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
orderReceivedStatisticsResult
=
getOrderReceivedStatisticsResult
(
orderReceivedStatisticsFindDTO
);
XSSFWorkbook
workbook
=
new
XSSFWorkbook
();
Sheet
sheet
=
workbook
.
createSheet
(
"订单统计"
);
Row
headerRow
=
sheet
.
createRow
(
0
);
//标题样式
CellStyle
headerCellStyle
=
createCellStyle
(
workbook
,
true
);
//创建标题
createHeader
(
headerRow
,
headerCellStyle
,
orderReceivedStatisticsFindDTO
.
getStatisticalSigns
());
//创建数据样式
CellStyle
dataCellStyle
=
createCellStyle
(
workbook
,
false
);
createData
(
orderReceivedStatisticsResult
,
orderReceivedStatisticsFindDTO
.
getStatisticalWay
(),
orderReceivedStatisticsFindDTO
.
getStatisticalSigns
(),
sheet
,
1
,
dataCellStyle
);
workbook
.
write
(
outputStream
);
workbook
.
close
();
}
private
void
createData
(
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
data
,
Integer
statisticalWay
,
List
<
String
>
signs
,
Sheet
sheet
,
int
rowIndex
,
CellStyle
cellStyle
){
//自然排序
Collections
.
sort
(
signs
);
int
size
=
data
.
get
(
signs
.
get
(
0
)).
size
();
for
(
int
i
=
0
;
i
<
size
;
i
++){
Row
dataRow
=
sheet
.
createRow
(
rowIndex
++);
Cell
firstCell
=
dataRow
.
createCell
(
0
);
firstCell
.
setCellStyle
(
cellStyle
);
for
(
int
cellIndex
=
1
;
cellIndex
<=
signs
.
size
();
cellIndex
++)
{
Cell
dataCell
=
dataRow
.
createCell
(
cellIndex
);
dataCell
.
setCellStyle
(
cellStyle
);
String
sign
=
signs
.
get
(
cellIndex
-
1
);
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
data
.
get
(
sign
);
if
(
CollectionUtils
.
isEmpty
(
orderReceivedStatisticsVos
)
||
i
>
orderReceivedStatisticsVos
.
size
()){
continue
;
}
OrderReceivedStatisticsVo
orderReceivedStatisticsVo
=
orderReceivedStatisticsVos
.
get
(
i
);
if
(
sign
.
endsWith
(
"q"
)){
dataCell
.
setCellValue
(
String
.
valueOf
(
orderReceivedStatisticsVo
.
getOrderNum
()));
}
if
(
sign
.
endsWith
(
"a"
)){
dataCell
.
setCellValue
(
String
.
valueOf
(
orderReceivedStatisticsVo
.
getOrderAmount
()));
}
if
(
cellIndex
==
1
){
if
(
ReceivedStatisticsEnum
.
DAY
.
getWayCode
()==
statisticalWay
){
firstCell
.
setCellValue
(
DateUtil
.
format
(
orderReceivedStatisticsVo
.
getDate
(),
"yyyy.MM.dd"
));
}
if
(
ReceivedStatisticsEnum
.
WEEK
.
getWayCode
()==
statisticalWay
){
Date
startDate
=
orderReceivedStatisticsVo
.
getDate
();
String
startDateStr
=
DateUtil
.
format
(
startDate
,
"yyyy-MM-dd"
);
String
endDateStr
=
DateUtil
.
offset
(
startDate
,
DateField
.
DAY_OF_MONTH
,
6
).
toDateStr
();
firstCell
.
setCellValue
(
String
.
format
(
"%s~%s"
,
startDateStr
,
endDateStr
));
}
if
(
ReceivedStatisticsEnum
.
MONTH
.
getWayCode
()==
statisticalWay
){
StringBuilder
sb
=
new
StringBuilder
(
orderReceivedStatisticsVo
.
getMonth
());
sb
.
insert
(
4
,
"."
);
firstCell
.
setCellValue
(
sb
.
toString
());
}
}
}
}
}
private
void
createHeader
(
Row
row
,
CellStyle
cellStyle
,
List
<
String
>
signs
){
//自然排序
Collections
.
sort
(
signs
);
Cell
firstCell
=
row
.
createCell
(
0
);
firstCell
.
setCellValue
(
"时间"
);
firstCell
.
setCellStyle
(
cellStyle
);
for
(
int
i
=
1
;
i
<=
signs
.
size
();
i
++)
{
Cell
cell
=
row
.
createCell
(
i
);
cell
.
setCellValue
(
signAndDescMap
.
get
(
signs
.
get
(
i
-
1
)));
cell
.
setCellStyle
(
cellStyle
);
}
}
private
CellStyle
createCellStyle
(
Workbook
workbook
,
boolean
bold
){
CellStyle
cellStyle
=
workbook
.
createCellStyle
();
Font
font
=
createFont
(
workbook
,
bold
);
cellStyle
.
setFont
(
font
);
cellStyle
.
setVerticalAlignment
(
VerticalAlignment
.
CENTER
);
cellStyle
.
setAlignment
(
HorizontalAlignment
.
CENTER
);
return
cellStyle
;
}
private
Font
createFont
(
Workbook
workbook
,
boolean
bold
){
Font
font
=
workbook
.
createFont
();
font
.
setFontName
(
"黑体"
);
font
.
setBold
(
bold
);
font
.
setBold
(
true
);
return
font
;
}
/**
* 获取订单统计数据
*
* @param orderReceivedStatisticsFindDTO
* @return
*/
public
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
getOrderReceivedStatisticsResult
(
OrderReceivedStatisticsFindDTO
orderReceivedStatisticsFindDTO
)
{
public
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
getOrderReceivedStatisticsResult
(
OrderReceivedStatisticsFindDTO
orderReceivedStatisticsFindDTO
)
{
return
Collections
.
EMPTY_MAP
;
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
String
>
statisticalSigns
=
orderReceivedStatisticsFindDTO
.
getStatisticalSigns
();
//订单统计
if
(
CollectionUtil
.
containsAny
(
statisticalSigns
,
orderSigns
))
{
List
<
OrderReceivedStatistics
>
orderReceivedStatisticsList
=
selectOrderReceivedStatistics
(
orderReceivedStatisticsFindDTO
);
//日 周 月 的统计
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderstatisticsMap
=
ReceivedStatisticsEnum
.
orderstatistics
(
orderReceivedStatisticsList
,
orderReceivedStatisticsFindDTO
.
getStatisticalWay
());
//统计项
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
orderReceivedStatisticsMap
=
OrderReceivedStatisticsSignEnum
.
orderReceivedStatistics
(
orderstatisticsMap
,
retainAll
(
orderSigns
,
statisticalSigns
));
resultMap
.
putAll
(
orderReceivedStatisticsMap
);
}
//租车订单统计
if
(
CollectionUtil
.
containsAny
(
statisticalSigns
,
orderRentVehicleSigns
))
{
List
<
OrderRentVehicleReceivedStatistics
>
orderRentVehicleReceivedStatisticsList
=
orderRentVehicleReceivedStatisticsBiz
.
selectOrderReceivedStatistics
(
orderReceivedStatisticsFindDTO
);
//日 周 月 的统计
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderRentVehiclestatisticsMap
=
ReceivedStatisticsEnum
.
orderstatistics
(
orderRentVehicleReceivedStatisticsList
,
orderReceivedStatisticsFindDTO
.
getStatisticalWay
());
//统计项
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
orderRentVehicleReceivedStatisticsMap
=
OrderRentVehicleReceivedStatisticsSignEnum
.
orderMemberstatisticsMap
(
orderRentVehiclestatisticsMap
,
retainAll
(
orderRentVehicleSigns
,
statisticalSigns
));
resultMap
.
putAll
(
orderRentVehicleReceivedStatisticsMap
);
}
//旅游订单统计
if
(
CollectionUtil
.
containsAny
(
statisticalSigns
,
orderTourSigns
))
{
List
<
OrderTourReceivedStatistics
>
orderTourReceivedStatisticsList
=
orderTourReceivedStatisticsBiz
.
selectOrderReceivedStatistics
(
orderReceivedStatisticsFindDTO
);
//日 周 月 的统计
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderTourstatisticsMap
=
ReceivedStatisticsEnum
.
orderstatistics
(
orderTourReceivedStatisticsList
,
orderReceivedStatisticsFindDTO
.
getStatisticalWay
());
//统计项
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
orderTourReceivedStatisticsMap
=
OrderTourReceivedStatisticsSignEnum
.
orderMemberstatisticsMap
(
orderTourstatisticsMap
,
retainAll
(
orderTourSigns
,
statisticalSigns
));
resultMap
.
putAll
(
orderTourReceivedStatisticsMap
);
}
//会员订单统计
if
(
CollectionUtil
.
containsAny
(
statisticalSigns
,
orderMemberSigns
))
{
List
<
OrderMemberReceivedStatistics
>
orderMemberReceivedStatisticsList
=
orderMemberReceivedStatisticsBiz
.
selectOrderReceivedStatistics
(
orderReceivedStatisticsFindDTO
);
//日 周 月 的统计
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMemberstatisticsMap
=
ReceivedStatisticsEnum
.
orderstatistics
(
orderMemberReceivedStatisticsList
,
orderReceivedStatisticsFindDTO
.
getStatisticalWay
());
//统计项
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
orderMemberReceivedStatisticsMap
=
OrderMemberReceivedStatisticsSignEnum
.
orderMemberstatisticsMap
(
orderMemberstatisticsMap
,
retainAll
(
orderMemberSigns
,
statisticalSigns
));
resultMap
.
putAll
(
orderMemberReceivedStatisticsMap
);
}
return
resultMap
;
}
}
private
List
<
OrderReceivedStatistics
>
selectOrderReceivedStatistics
(
OrderReceivedStatisticsFindDTO
orderReceivedStatisticsFindDTO
)
{
return
mapper
.
selectOrderReceivedStatisticsList
(
orderReceivedStatisticsFindDTO
);
}
/**
* 取两个集合的交集
*
* @param source
* @param target
* @return
*/
private
List
<
String
>
retainAll
(
List
<
String
>
source
,
List
<
String
>
target
)
{
ArrayList
<
String
>
sourceBak
=
Lists
.
newArrayList
(
source
);
sourceBak
.
retainAll
(
target
);
return
sourceBak
;
}
@Override
public
void
afterPropertiesSet
()
throws
Exception
{
signAndDescMap
=
new
HashMap
<>();
orderSigns
=
EnumSet
.
allOf
(
OrderReceivedStatisticsSignEnum
.
class
).
stream
().
map
(
OrderReceivedStatisticsSignEnum:
:
getSign
).
collect
(
Collectors
.
toList
());
Map
<
String
,
String
>
orderSignAndDescMap
=
EnumSet
.
allOf
(
OrderReceivedStatisticsSignEnum
.
class
).
stream
().
collect
(
Collectors
.
toMap
(
OrderReceivedStatisticsSignEnum:
:
getSign
,
OrderReceivedStatisticsSignEnum:
:
getDesc
));
signAndDescMap
.
putAll
(
orderSignAndDescMap
);
orderMemberSigns
=
EnumSet
.
allOf
(
OrderMemberReceivedStatisticsSignEnum
.
class
).
stream
().
map
(
OrderMemberReceivedStatisticsSignEnum:
:
getSign
).
collect
(
Collectors
.
toList
());
Map
<
String
,
String
>
orderMemberSignAndDescMap
=
EnumSet
.
allOf
(
OrderMemberReceivedStatisticsSignEnum
.
class
).
stream
().
collect
(
Collectors
.
toMap
(
OrderMemberReceivedStatisticsSignEnum:
:
getSign
,
OrderMemberReceivedStatisticsSignEnum:
:
getDesc
));
signAndDescMap
.
putAll
(
orderMemberSignAndDescMap
);
orderRentVehicleSigns
=
EnumSet
.
allOf
(
OrderRentVehicleReceivedStatisticsSignEnum
.
class
).
stream
().
map
(
OrderRentVehicleReceivedStatisticsSignEnum:
:
getSign
).
collect
(
Collectors
.
toList
());
Map
<
String
,
String
>
orderRentVehicleSignAndDescMap
=
EnumSet
.
allOf
(
OrderRentVehicleReceivedStatisticsSignEnum
.
class
).
stream
().
collect
(
Collectors
.
toMap
(
OrderRentVehicleReceivedStatisticsSignEnum:
:
getSign
,
OrderRentVehicleReceivedStatisticsSignEnum:
:
getDesc
));
signAndDescMap
.
putAll
(
orderRentVehicleSignAndDescMap
);
orderTourSigns
=
EnumSet
.
allOf
(
OrderTourReceivedStatisticsSignEnum
.
class
).
stream
().
map
(
OrderTourReceivedStatisticsSignEnum:
:
getSign
).
collect
(
Collectors
.
toList
());
Map
<
String
,
String
>
orderTourSignAndDescMap
=
EnumSet
.
allOf
(
OrderTourReceivedStatisticsSignEnum
.
class
).
stream
().
collect
(
Collectors
.
toMap
(
OrderTourReceivedStatisticsSignEnum:
:
getSign
,
OrderTourReceivedStatisticsSignEnum:
:
getDesc
));
signAndDescMap
.
putAll
(
orderTourSignAndDescMap
);
}
}
}
\ No newline at end of file
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderRentVehicleReceivedStatisticsBiz.java
View file @
690c9950
package
com
.
xxfc
.
platform
.
order
.
biz
;
package
com
.
xxfc
.
platform
.
order
.
biz
;
import
com.xxfc.platform.order.pojo.dto.OrderReceivedStatisticsFindDTO
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
com.xxfc.platform.order.entity.OrderRentVehicleReceivedStatistics
;
import
com.xxfc.platform.order.entity.OrderRentVehicleReceivedStatistics
;
...
@@ -7,6 +8,8 @@ import com.xxfc.platform.order.mapper.OrderRentVehicleReceivedStatisticsMapper;
...
@@ -7,6 +8,8 @@ import com.xxfc.platform.order.mapper.OrderRentVehicleReceivedStatisticsMapper;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
/**
/**
* 租车订单统计
* 租车订单统计
*
*
...
@@ -17,4 +20,7 @@ import org.springframework.transaction.annotation.Transactional;
...
@@ -17,4 +20,7 @@ import org.springframework.transaction.annotation.Transactional;
@Service
@Service
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
class
OrderRentVehicleReceivedStatisticsBiz
extends
BaseBiz
<
OrderRentVehicleReceivedStatisticsMapper
,
OrderRentVehicleReceivedStatistics
>
{
public
class
OrderRentVehicleReceivedStatisticsBiz
extends
BaseBiz
<
OrderRentVehicleReceivedStatisticsMapper
,
OrderRentVehicleReceivedStatistics
>
{
public
List
<
OrderRentVehicleReceivedStatistics
>
selectOrderReceivedStatistics
(
OrderReceivedStatisticsFindDTO
orderReceivedStatisticsFindDTO
)
{
return
mapper
.
selectOrderRentVehicleReceivedStatistics
(
orderReceivedStatisticsFindDTO
);
}
}
}
\ No newline at end of file
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderTourReceivedStatisticsBiz.java
View file @
690c9950
package
com
.
xxfc
.
platform
.
order
.
biz
;
package
com
.
xxfc
.
platform
.
order
.
biz
;
import
com.xxfc.platform.order.pojo.dto.OrderReceivedStatisticsFindDTO
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
com.xxfc.platform.order.entity.OrderTourReceivedStatistics
;
import
com.xxfc.platform.order.entity.OrderTourReceivedStatistics
;
...
@@ -7,6 +8,8 @@ import com.xxfc.platform.order.mapper.OrderTourReceivedStatisticsMapper;
...
@@ -7,6 +8,8 @@ import com.xxfc.platform.order.mapper.OrderTourReceivedStatisticsMapper;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
/**
/**
* 旅游订单统计
* 旅游订单统计
*
*
...
@@ -17,4 +20,7 @@ import org.springframework.transaction.annotation.Transactional;
...
@@ -17,4 +20,7 @@ import org.springframework.transaction.annotation.Transactional;
@Service
@Service
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
class
OrderTourReceivedStatisticsBiz
extends
BaseBiz
<
OrderTourReceivedStatisticsMapper
,
OrderTourReceivedStatistics
>
{
public
class
OrderTourReceivedStatisticsBiz
extends
BaseBiz
<
OrderTourReceivedStatisticsMapper
,
OrderTourReceivedStatistics
>
{
public
List
<
OrderTourReceivedStatistics
>
selectOrderReceivedStatistics
(
OrderReceivedStatisticsFindDTO
orderReceivedStatisticsFindDTO
)
{
return
mapper
.
selectOrderTourReceivedStatistics
(
orderReceivedStatisticsFindDTO
);
}
}
}
\ No newline at end of file
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/mapper/OrderMemberReceivedStatisticsMapper.java
View file @
690c9950
package
com
.
xxfc
.
platform
.
order
.
mapper
;
package
com
.
xxfc
.
platform
.
order
.
mapper
;
import
com.xxfc.platform.order.entity.OrderMemberReceivedStatistics
;
import
com.xxfc.platform.order.entity.OrderMemberReceivedStatistics
;
import
com.xxfc.platform.order.pojo.dto.OrderReceivedStatisticsFindDTO
;
import
tk.mybatis.mapper.common.Mapper
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
/**
/**
* 会员订单统计
* 会员订单统计
*
*
...
@@ -11,5 +14,6 @@ import tk.mybatis.mapper.common.Mapper;
...
@@ -11,5 +14,6 @@ import tk.mybatis.mapper.common.Mapper;
* @date 2019-11-08 18:03:42
* @date 2019-11-08 18:03:42
*/
*/
public
interface
OrderMemberReceivedStatisticsMapper
extends
Mapper
<
OrderMemberReceivedStatistics
>
{
public
interface
OrderMemberReceivedStatisticsMapper
extends
Mapper
<
OrderMemberReceivedStatistics
>
{
List
<
OrderMemberReceivedStatistics
>
selectOrderMemberReceivedStatistics
(
OrderReceivedStatisticsFindDTO
orderReceivedStatisticsFindDTO
);
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/mapper/OrderReceivedStatisticsMapper.java
View file @
690c9950
package
com
.
xxfc
.
platform
.
order
.
mapper
;
package
com
.
xxfc
.
platform
.
order
.
mapper
;
import
com.xxfc.platform.order.entity.OrderReceivedStatistics
;
import
com.xxfc.platform.order.entity.OrderReceivedStatistics
;
import
com.xxfc.platform.order.pojo.dto.OrderReceivedStatisticsFindDTO
;
import
tk.mybatis.mapper.common.Mapper
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
/**
/**
* 全部订单统计
* 全部订单统计
*
*
...
@@ -11,5 +14,6 @@ import tk.mybatis.mapper.common.Mapper;
...
@@ -11,5 +14,6 @@ import tk.mybatis.mapper.common.Mapper;
* @date 2019-11-08 18:03:42
* @date 2019-11-08 18:03:42
*/
*/
public
interface
OrderReceivedStatisticsMapper
extends
Mapper
<
OrderReceivedStatistics
>
{
public
interface
OrderReceivedStatisticsMapper
extends
Mapper
<
OrderReceivedStatistics
>
{
List
<
OrderReceivedStatistics
>
selectOrderReceivedStatisticsList
(
OrderReceivedStatisticsFindDTO
orderReceivedStatisticsFindDTO
);
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/mapper/OrderRentVehicleReceivedStatisticsMapper.java
View file @
690c9950
package
com
.
xxfc
.
platform
.
order
.
mapper
;
package
com
.
xxfc
.
platform
.
order
.
mapper
;
import
com.xxfc.platform.order.entity.OrderRentVehicleReceivedStatistics
;
import
com.xxfc.platform.order.entity.OrderRentVehicleReceivedStatistics
;
import
com.xxfc.platform.order.pojo.dto.OrderReceivedStatisticsFindDTO
;
import
tk.mybatis.mapper.common.Mapper
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
/**
/**
* 租车订单统计
* 租车订单统计
*
*
...
@@ -11,5 +14,6 @@ import tk.mybatis.mapper.common.Mapper;
...
@@ -11,5 +14,6 @@ import tk.mybatis.mapper.common.Mapper;
* @date 2019-11-08 18:03:42
* @date 2019-11-08 18:03:42
*/
*/
public
interface
OrderRentVehicleReceivedStatisticsMapper
extends
Mapper
<
OrderRentVehicleReceivedStatistics
>
{
public
interface
OrderRentVehicleReceivedStatisticsMapper
extends
Mapper
<
OrderRentVehicleReceivedStatistics
>
{
List
<
OrderRentVehicleReceivedStatistics
>
selectOrderRentVehicleReceivedStatistics
(
OrderReceivedStatisticsFindDTO
orderReceivedStatisticsFindDTO
);
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/mapper/OrderTourReceivedStatisticsMapper.java
View file @
690c9950
package
com
.
xxfc
.
platform
.
order
.
mapper
;
package
com
.
xxfc
.
platform
.
order
.
mapper
;
import
com.xxfc.platform.order.entity.OrderTourReceivedStatistics
;
import
com.xxfc.platform.order.entity.OrderTourReceivedStatistics
;
import
com.xxfc.platform.order.pojo.dto.OrderReceivedStatisticsFindDTO
;
import
tk.mybatis.mapper.common.Mapper
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
/**
/**
* 旅游订单统计
* 旅游订单统计
*
*
...
@@ -11,5 +14,6 @@ import tk.mybatis.mapper.common.Mapper;
...
@@ -11,5 +14,6 @@ import tk.mybatis.mapper.common.Mapper;
* @date 2019-11-08 18:03:42
* @date 2019-11-08 18:03:42
*/
*/
public
interface
OrderTourReceivedStatisticsMapper
extends
Mapper
<
OrderTourReceivedStatistics
>
{
public
interface
OrderTourReceivedStatisticsMapper
extends
Mapper
<
OrderTourReceivedStatistics
>
{
List
<
OrderTourReceivedStatistics
>
selectOrderTourReceivedStatistics
(
OrderReceivedStatisticsFindDTO
orderReceivedStatisticsFindDTO
);
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/background/OrderReceivedStatisticsAdminController.java
View file @
690c9950
package
com
.
xxfc
.
platform
.
order
.
rest
.
background
;
package
com
.
xxfc
.
platform
.
order
.
rest
.
background
;
import
com.github.wxiaoqi.security.common.annotation.BeanValid
;
import
com.github.wxiaoqi.security.common.annotation.SimpleValid
;
import
com.github.wxiaoqi.security.common.annotation.SimpleValid
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.order.biz.OrderReceivedStatisticsBiz
;
import
com.xxfc.platform.order.biz.OrderReceivedStatisticsBiz
;
import
com.xxfc.platform.order.pojo.dto.OrderReceivedStatisticsFindDTO
;
import
com.xxfc.platform.order.pojo.dto.OrderReceivedStatisticsFindDTO
;
...
@@ -8,12 +10,18 @@ import com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo;
...
@@ -8,12 +10,18 @@ import com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.MediaType
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.http.HttpServletResponse
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -23,6 +31,7 @@ import java.util.Map;
...
@@ -23,6 +31,7 @@ import java.util.Map;
* @description 订单统计
* @description 订单统计
* @data 2019/11/11 9:14
* @data 2019/11/11 9:14
*/
*/
@Slf4j
@Api
(
tags
=
"订单统计"
)
@Api
(
tags
=
"订单统计"
)
@RestController
@RestController
@RequestMapping
(
"admin/order/received_statistics"
)
@RequestMapping
(
"admin/order/received_statistics"
)
...
@@ -36,4 +45,22 @@ public class OrderReceivedStatisticsAdminController {
...
@@ -36,4 +45,22 @@ public class OrderReceivedStatisticsAdminController {
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
orderReceivedStatisticsPageVo
=
orderReceivedStatisticsBiz
.
getOrderReceivedStatisticsResult
(
orderReceivedStatisticsFindDTO
);
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
orderReceivedStatisticsPageVo
=
orderReceivedStatisticsBiz
.
getOrderReceivedStatisticsResult
(
orderReceivedStatisticsFindDTO
);
return
ObjectRestResponse
.
succ
(
orderReceivedStatisticsPageVo
);
return
ObjectRestResponse
.
succ
(
orderReceivedStatisticsPageVo
);
}
}
@ApiOperation
(
"订单统计excel导出下载"
)
@PostMapping
(
value
=
"/export"
,
consumes
=
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
public
ObjectRestResponse
<
Void
>
exportOrderReceivedStatistics
(
@RequestBody
@BeanValid
OrderReceivedStatisticsFindDTO
orderReceivedStatisticsFindDTO
,
HttpServletResponse
response
){
try
{
String
name
=
DateTimeFormatter
.
ofPattern
(
"YYYYMMddHHmmss"
).
format
(
LocalDateTime
.
now
());
response
.
setContentType
(
"application/vnd.ms-excel;charset=utf-8"
);
String
filename
=
String
.
format
(
"%s-OrderReceivedStatistics.xlsx"
,
name
);
response
.
setHeader
(
"Content-Disposition"
,
"attachment;filename="
+
new
String
(
filename
.
getBytes
(),
"iso8859-1"
));
ServletOutputStream
outputStream
=
response
.
getOutputStream
();
orderReceivedStatisticsBiz
.
exportOrderReceivedStatisticsData
(
orderReceivedStatisticsFindDTO
,
outputStream
);
response
.
setCharacterEncoding
(
"UTF-8"
);
return
ObjectRestResponse
.
succ
();
}
catch
(
Exception
ex
){
log
.
error
(
"导出数据失败【{}】"
,
ex
);
throw
new
BaseException
(
"导出数据失败"
);
}
}
}
}
xx-order/xx-order-server/src/main/resources/mapper/OrderMemberReceivedStatisticsMapper.xml
View file @
690c9950
...
@@ -24,4 +24,30 @@
...
@@ -24,4 +24,30 @@
<result
property=
"crtTime"
column=
"crt_time"
/>
<result
property=
"crtTime"
column=
"crt_time"
/>
</resultMap>
</resultMap>
<select
id=
"selectOrderMemberReceivedStatistics"
resultMap=
"orderMemberReceivedStatisticsMap"
>
select * from `order_member_received_statistics` where 1=1
<if
test=
"orderState!=null"
>
and `is_finish`=#{orderState}
</if>
<if
test=
"orderOrigin!=null"
>
and `order_origin`=#{orderOrigin}
</if>
<if
test=
"payWay!=null"
>
and `pay_way`=#{payWay}
</if>
<if
test=
"startDate!=null and endDate!=null"
>
and `date` between #{startDate} and #{endDate}
</if>
<if
test=
"startDate!=null and endDate==null"
>
and
<![CDATA[
`date` >
= #{startDate}
]]>
</if>
<if
test=
"startDate==null and endDate!=null"
>
and
<![CDATA[
`date` <= #{endDate}
]]>
</if>
</select>
</mapper>
</mapper>
\ No newline at end of file
xx-order/xx-order-server/src/main/resources/mapper/OrderReceivedStatisticsMapper.xml
View file @
690c9950
...
@@ -12,13 +12,37 @@
...
@@ -12,13 +12,37 @@
<result
property=
"weekOfYear"
column=
"week_of_year"
/>
<result
property=
"weekOfYear"
column=
"week_of_year"
/>
<result
property=
"totalAmount"
column=
"total_amount"
/>
<result
property=
"totalAmount"
column=
"total_amount"
/>
<result
property=
"totalQuantity"
column=
"total_quantity"
/>
<result
property=
"totalQuantity"
column=
"total_quantity"
/>
<result
property=
"avgQuantity"
column=
"avg_quantity"
/>
<result
property=
"realAmount"
column=
"real_amount"
/>
<result
property=
"realAmount"
column=
"real_amount"
/>
<result
property=
"realAvgAmount"
column=
"real_avg_amount"
/>
<result
property=
"isFinish"
column=
"is_finish"
/>
<result
property=
"isFinish"
column=
"is_finish"
/>
<result
property=
"orderOrigin"
column=
"order_origin"
/>
<result
property=
"orderOrigin"
column=
"order_origin"
/>
<result
property=
"payWay"
column=
"pay_way"
/>
<result
property=
"payWay"
column=
"pay_way"
/>
<result
property=
"crtTime"
column=
"crt_time"
/>
<result
property=
"crtTime"
column=
"crt_time"
/>
</resultMap>
</resultMap>
<select
id=
"selectOrderReceivedStatisticsList"
resultMap=
"orderReceivedStatisticsMap"
>
select * from `order_received_statistics` where 1=1
<if
test=
"orderState!=null"
>
and `is_finish`=#{orderState}
</if>
<if
test=
"orderOrigin!=null"
>
and `order_origin`=#{orderOrigin}
</if>
<if
test=
"payWay!=null"
>
and `pay_way`=#{payWay}
</if>
<if
test=
"startDate!=null and endDate!=null"
>
and `date` between #{startDate} and #{endDate}
</if>
<if
test=
"startDate!=null and endDate==null"
>
and
<![CDATA[
`date` >
= #{startDate}
]]>
</if>
<if
test=
"startDate==null and endDate!=null"
>
and
<![CDATA[
`date` <= #{endDate}
]]>
</if>
</select>
</mapper>
</mapper>
\ No newline at end of file
xx-order/xx-order-server/src/main/resources/mapper/OrderRentVehicleReceivedStatisticsMapper.xml
View file @
690c9950
...
@@ -12,14 +12,37 @@
...
@@ -12,14 +12,37 @@
<result
property=
"weekOfYear"
column=
"week_of_year"
/>
<result
property=
"weekOfYear"
column=
"week_of_year"
/>
<result
property=
"totalAmount"
column=
"total_amount"
/>
<result
property=
"totalAmount"
column=
"total_amount"
/>
<result
property=
"totalQuantity"
column=
"total_quantity"
/>
<result
property=
"totalQuantity"
column=
"total_quantity"
/>
<result
property=
"avgQuantity"
column=
"avg_quantity"
/>
<result
property=
"realAmount"
column=
"real_amount"
/>
<result
property=
"realAmount"
column=
"real_amount"
/>
<result
property=
"realAvgAmount"
column=
"real_avg_amount"
/>
<result
property=
"isFinish"
column=
"is_finish"
/>
<result
property=
"isFinish"
column=
"is_finish"
/>
<result
property=
"orderOrigin"
column=
"order_origin"
/>
<result
property=
"orderOrigin"
column=
"order_origin"
/>
<result
property=
"payWay"
column=
"pay_way"
/>
<result
property=
"payWay"
column=
"pay_way"
/>
<result
property=
"companyId"
column=
"company_id"
/>
<result
property=
"companyId"
column=
"company_id"
/>
<result
property=
"crtTime"
column=
"crt_time"
/>
<result
property=
"crtTime"
column=
"crt_time"
/>
</resultMap>
</resultMap>
<select
id=
"selectOrderRentVehicleReceivedStatistics"
resultMap=
"orderRentVehicleReceivedStatisticsMap"
>
select * from `order_rent_vehicle_received_statistics` where 1=1
<if
test=
"orderState!=null"
>
and `is_finish`=#{orderState}
</if>
<if
test=
"orderOrigin!=null"
>
and `order_origin`=#{orderOrigin}
</if>
<if
test=
"payWay!=null"
>
and `pay_way`=#{payWay}
</if>
<if
test=
"startDate!=null and endDate!=null"
>
and `date` between #{startDate} and #{endDate}
</if>
<if
test=
"startDate!=null and endDate==null"
>
and
<![CDATA[
`date` >
= #{startDate}
]]>
</if>
<if
test=
"startDate==null and endDate!=null"
>
and
<![CDATA[
`date` <= #{endDate}
]]>
</if>
</select>
</mapper>
</mapper>
\ No newline at end of file
xx-order/xx-order-server/src/main/resources/mapper/OrderTourReceivedStatisticsMapper.xml
View file @
690c9950
...
@@ -12,7 +12,6 @@
...
@@ -12,7 +12,6 @@
<result
property=
"weekOfYear"
column=
"week_of_year"
/>
<result
property=
"weekOfYear"
column=
"week_of_year"
/>
<result
property=
"totalAmount"
column=
"total_amount"
/>
<result
property=
"totalAmount"
column=
"total_amount"
/>
<result
property=
"totalQuantity"
column=
"total_quantity"
/>
<result
property=
"totalQuantity"
column=
"total_quantity"
/>
<result
property=
"avgQuantity"
column=
"avg_quantity"
/>
<result
property=
"isFinish"
column=
"is_finish"
/>
<result
property=
"isFinish"
column=
"is_finish"
/>
<result
property=
"orderOrigin"
column=
"order_origin"
/>
<result
property=
"orderOrigin"
column=
"order_origin"
/>
<result
property=
"payWay"
column=
"pay_way"
/>
<result
property=
"payWay"
column=
"pay_way"
/>
...
@@ -20,4 +19,30 @@
...
@@ -20,4 +19,30 @@
<result
property=
"crtTime"
column=
"crt_time"
/>
<result
property=
"crtTime"
column=
"crt_time"
/>
</resultMap>
</resultMap>
<select
id=
"selectOrderTourReceivedStatistics"
resultMap=
"orderTourReceivedStatisticsMap"
>
select * from `order_tour_received_statistics` where 1=1
<if
test=
"orderState!=null"
>
and `is_finish`=#{orderState}
</if>
<if
test=
"orderOrigin!=null"
>
and `order_origin`=#{orderOrigin}
</if>
<if
test=
"payWay!=null"
>
and `pay_way`=#{payWay}
</if>
<if
test=
"startDate!=null and endDate!=null"
>
and `date` between #{startDate} and #{endDate}
</if>
<if
test=
"startDate!=null and endDate==null"
>
and
<![CDATA[
`date` >
= #{startDate}
]]>
</if>
<if
test=
"startDate==null and endDate!=null"
>
and
<![CDATA[
`date` <= #{endDate}
]]>
</if>
</select>
</mapper>
</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