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
bd42e8b1
Commit
bd42e8b1
authored
Nov 12, 2019
by
libin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
订单统计
parent
8f4562f8
Changes
15
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
922 additions
and
268 deletions
+922
-268
OrderMemberReceivedStatisticsSignEnum.java
...tant/enumerate/OrderMemberReceivedStatisticsSignEnum.java
+161
-0
OrderReceivedStatisticsSignEnum.java
...er/contant/enumerate/OrderReceivedStatisticsSignEnum.java
+131
-0
OrderRentVehicleReceivedStatisticsSignEnum.java
...enumerate/OrderRentVehicleReceivedStatisticsSignEnum.java
+133
-0
OrderTourReceivedStatisticsSignEnum.java
...ontant/enumerate/OrderTourReceivedStatisticsSignEnum.java
+98
-0
ReceivedStatisticsEnum.java
...tform/order/contant/enumerate/ReceivedStatisticsEnum.java
+73
-0
OrderMemberReceivedStatistics.java
.../platform/order/entity/OrderMemberReceivedStatistics.java
+59
-86
OrderReceivedStatistics.java
...m/xxfc/platform/order/entity/OrderReceivedStatistics.java
+1
-29
OrderReceivedStatisticsBase.java
...fc/platform/order/entity/OrderReceivedStatisticsBase.java
+44
-0
OrderRentVehicleReceivedStatistics.java
...form/order/entity/OrderRentVehicleReceivedStatistics.java
+51
-78
OrderTourReceivedStatistics.java
...fc/platform/order/entity/OrderTourReceivedStatistics.java
+43
-70
OrderReceivedStatisticsFindDTO.java
...atform/order/pojo/dto/OrderReceivedStatisticsFindDTO.java
+36
-0
OrderReceivedStatisticsVo.java
...xfc/platform/order/pojo/vo/OrderReceivedStatisticsVo.java
+33
-0
OrderReceivedStatisticsBiz.java
...m/xxfc/platform/order/biz/OrderReceivedStatisticsBiz.java
+9
-0
OrderReceivedStatisticsJobHandler.java
...m/order/jobhandler/OrderReceivedStatisticsJobHandler.java
+38
-0
OrderReceivedStatisticsAdminController.java
...st/background/OrderReceivedStatisticsAdminController.java
+12
-5
No files found.
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/contant/enumerate/OrderMemberReceivedStatisticsSignEnum.java
0 → 100644
View file @
bd42e8b1
package
com
.
xxfc
.
platform
.
order
.
contant
.
enumerate
;
import
com.xxfc.platform.order.entity.OrderMemberReceivedStatistics
;
import
com.xxfc.platform.order.entity.OrderReceivedStatisticsBase
;
import
com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo
;
import
java.math.BigDecimal
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/11/11 10:36
*/
public
enum
OrderMemberReceivedStatisticsSignEnum
{
MEMBER_TOTAL_AMOUNT
(
"mta"
,
"会员订单总额"
){
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderMemberReceivedStatistics
>
orderMemberReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderMemberReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
());
BigDecimal
totalAmount
=
orderMemberReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalAmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
OrderMemberReceivedStatistics
orderMemberReceivedStatistics
=
orderMemberReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderMemberReceivedStatistics
,
totalAmount
,
null
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
});
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
}
},
COMMON__MEMBER_TOTAL_AMOUNT
(
"cmta"
,
"普通会员订单总额"
){
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderMemberReceivedStatistics
>
orderMemberReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderMemberReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
());
BigDecimal
totalAmount
=
orderMemberReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getToalCommonAmmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
OrderMemberReceivedStatistics
orderMemberReceivedStatistics
=
orderMemberReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderMemberReceivedStatistics
,
totalAmount
,
null
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
});
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
}
},
MEMBER_TOTAL_QUANTITY
(
"cmtq"
,
"普通会员订单量"
){
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderMemberReceivedStatistics
>
orderMemberReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderMemberReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
());
Integer
totalQuantity
=
orderMemberReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalCommonQuantity
()).
reduce
(
0
,
(
x
,
y
)
->
x
+
y
);
OrderMemberReceivedStatistics
orderMemberReceivedStatistics
=
orderMemberReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderMemberReceivedStatistics
,
null
,
totalQuantity
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
});
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
}
},
GOLD_MEMBER_TOTAL_AMOUNT
(
"gmta"
,
"黄金会员订单总额"
){
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderMemberReceivedStatistics
>
orderMemberReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderMemberReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
());
BigDecimal
totalAmount
=
orderMemberReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalGoldAmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
OrderMemberReceivedStatistics
orderMemberReceivedStatistics
=
orderMemberReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderMemberReceivedStatistics
,
totalAmount
,
null
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
});
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
}
},
GOLD_MEMBER_TOTAL_QUANTITY
(
"mgtq"
,
"黄金会员订单量"
){
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderMemberReceivedStatistics
>
orderMemberReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderMemberReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
());
Integer
totalQuantity
=
orderMemberReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalGoldQuantity
()).
reduce
(
0
,
(
x
,
y
)
->
x
+
y
);
OrderMemberReceivedStatistics
orderMemberReceivedStatistics
=
orderMemberReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderMemberReceivedStatistics
,
null
,
totalQuantity
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
});
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
}
},
DIAMOND_MEMBER_TOTAL_AMOUNT
(
"dmta"
,
"钻石会员订单总额"
){
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderMemberReceivedStatistics
>
orderMemberReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderMemberReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
());
BigDecimal
totalAmount
=
orderMemberReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalDiamondAmmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
OrderMemberReceivedStatistics
orderMemberReceivedStatistics
=
orderMemberReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderMemberReceivedStatistics
,
totalAmount
,
null
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
});
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
}
},
DIAMOND_MEMBER_TOTAL_QUANTITY
(
"dmtq"
,
"钻石会员订单量"
){
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderMemberReceivedStatistics
>
orderMemberReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderMemberReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
());
Integer
totalQuantity
=
orderMemberReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalDiamondQuantity
()).
reduce
(
0
,
(
x
,
y
)
->
x
+
y
);
OrderMemberReceivedStatistics
orderMemberReceivedStatistics
=
orderMemberReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderMemberReceivedStatistics
,
null
,
totalQuantity
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
});
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
}
};
private
String
sign
;
private
String
desc
;
OrderMemberReceivedStatisticsSignEnum
(
String
sign
,
String
desc
)
{
this
.
sign
=
sign
;
this
.
desc
=
desc
;
}
/**
* 统计项
* @param orderMap
* @return
*/
abstract
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
);
public
String
getSign
()
{
return
sign
;
}
public
void
setSign
(
String
sign
)
{
this
.
sign
=
sign
;
}
public
String
getDesc
()
{
return
desc
;
}
public
void
setDesc
(
String
desc
)
{
this
.
desc
=
desc
;
}
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/contant/enumerate/OrderReceivedStatisticsSignEnum.java
0 → 100644
View file @
bd42e8b1
package
com
.
xxfc
.
platform
.
order
.
contant
.
enumerate
;
import
com.xxfc.platform.order.entity.OrderReceivedStatistics
;
import
com.xxfc.platform.order.entity.OrderReceivedStatisticsBase
;
import
com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/11/11 10:36
*/
public
enum
OrderReceivedStatisticsSignEnum
{
ORDER_TOTAL_AMOUNT
(
"ota"
,
"订单总额"
){
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderReceivedStatistics
>
orderReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
());
BigDecimal
totalAmount
=
orderReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalAmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
OrderReceivedStatistics
orderReceivedStatistics
=
orderReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
totalAmount
,
null
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
});
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
}
},
ORDER_TOTAL_QUANTITY
(
"otq"
,
"订单量"
){
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderReceivedStatistics
>
orderReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
());
Integer
totalQuantity
=
orderReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalQuantity
()).
reduce
(
0
,
(
x
,
y
)
->
x
+
y
);
OrderReceivedStatistics
orderReceivedStatistics
=
orderReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
null
,
totalQuantity
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
});
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
}
},
ORDER_AVG_QUANTITY
(
"oavgq"
,
"订单平均量"
){
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderReceivedStatistics
>
orderReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
());
Integer
avgQuantity
=
orderReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getAvgQuantity
()).
reduce
(
0
,
(
x
,
y
)
->
x
+
y
)/
V
.
size
();
OrderReceivedStatistics
orderReceivedStatistics
=
orderReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
null
,
avgQuantity
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
});
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
}
},
ORDER_TOTAL_REAL_AMOUNT
(
"otra"
,
"订单实际总额"
){
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderReceivedStatistics
>
orderReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
());
BigDecimal
realAmount
=
orderReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getRealAmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
OrderReceivedStatistics
orderReceivedStatistics
=
orderReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
realAmount
,
null
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
});
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
}
},
ORDER_REAL_AVG_AMOUNT
(
"oravga"
,
"订单实际平均总额"
){
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderReceivedStatistics
>
orderReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
());
BigDecimal
realAvgAmount
=
orderReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getRealAvgAmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
)).
divide
(
new
BigDecimal
(
V
.
size
()));
OrderReceivedStatistics
orderReceivedStatistics
=
orderReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
realAvgAmount
,
null
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
});
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
}
};
private
String
sign
;
private
String
desc
;
OrderReceivedStatisticsSignEnum
(
String
sign
,
String
desc
)
{
this
.
sign
=
sign
;
this
.
desc
=
desc
;
}
/**
* 统计项
* @param orderMap
* @return
*/
abstract
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
);
public
String
getSign
()
{
return
sign
;
}
public
void
setSign
(
String
sign
)
{
this
.
sign
=
sign
;
}
public
String
getDesc
()
{
return
desc
;
}
public
void
setDesc
(
String
desc
)
{
this
.
desc
=
desc
;
}
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/contant/enumerate/OrderRentVehicleReceivedStatisticsSignEnum.java
0 → 100644
View file @
bd42e8b1
package
com
.
xxfc
.
platform
.
order
.
contant
.
enumerate
;
import
com.xxfc.platform.order.entity.OrderReceivedStatisticsBase
;
import
com.xxfc.platform.order.entity.OrderRentVehicleReceivedStatistics
;
import
com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/11/11 10:36
*/
public
enum
OrderRentVehicleReceivedStatisticsSignEnum
{
RENT_VEHICLE_TOTAL_AMOUNT
(
"rvta"
,
"租车订单总额"
){
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderRentVehicleReceivedStatistics
>
orderRentVehicleReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderRentVehicleReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
());
BigDecimal
totalAmount
=
orderRentVehicleReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalAmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
OrderRentVehicleReceivedStatistics
orderReceivedStatistics
=
orderRentVehicleReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
totalAmount
,
null
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
});
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
}
},
RENT_VEHICLE_TOTAL_QUANTITY
(
"rvtq"
,
"租车订单量"
)
{
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderRentVehicleReceivedStatistics
>
orderRentVehicleReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderRentVehicleReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
());
Integer
totalQuantity
=
orderRentVehicleReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalQuantity
()).
reduce
(
0
,
(
x
,
y
)
->
x
+
y
);
OrderRentVehicleReceivedStatistics
orderReceivedStatistics
=
orderRentVehicleReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
null
,
totalQuantity
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
});
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
}
},
RENT_VEHICLE_AVG_QUANTITY
(
"rvaq"
,
"租车订单平均量"
)
{
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderRentVehicleReceivedStatistics
>
orderRentVehicleReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderRentVehicleReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
());
Integer
avgQuantity
=
orderRentVehicleReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getAvgQuantity
()).
reduce
(
0
,
(
x
,
y
)
->
x
+
y
)/
V
.
size
();
OrderRentVehicleReceivedStatistics
orderReceivedStatistics
=
orderRentVehicleReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
null
,
avgQuantity
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
});
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
}
},
RENT_VEHICLE_REAL_TOTAL_AMOUNT
(
"rvrta"
,
"实际租车金额"
)
{
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderRentVehicleReceivedStatistics
>
orderRentVehicleReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderRentVehicleReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
());
BigDecimal
realAmount
=
orderRentVehicleReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getRealAmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
OrderRentVehicleReceivedStatistics
orderReceivedStatistics
=
orderRentVehicleReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
realAmount
,
null
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
});
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
}
},
RENT_VEHICLE_REAL_AVG_AMOUNT
(
"rvraa"
,
"实际租车平均金额"
)
{
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderRentVehicleReceivedStatistics
>
orderRentVehicleReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderRentVehicleReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
());
BigDecimal
realAvgAmount
=
orderRentVehicleReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getRealAvgAmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
)).
divide
(
new
BigDecimal
(
V
.
size
()),
RoundingMode
.
HALF_UP
);
OrderRentVehicleReceivedStatistics
orderReceivedStatistics
=
orderRentVehicleReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
realAvgAmount
,
null
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
});
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
}
};
private
String
sign
;
private
String
desc
;
OrderRentVehicleReceivedStatisticsSignEnum
(
String
sign
,
String
desc
)
{
this
.
sign
=
sign
;
this
.
desc
=
desc
;
}
/**
* 统计项
* @param orderMap
* @return
*/
abstract
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
);
public
String
getSign
()
{
return
sign
;
}
public
void
setSign
(
String
sign
)
{
this
.
sign
=
sign
;
}
public
String
getDesc
()
{
return
desc
;
}
public
void
setDesc
(
String
desc
)
{
this
.
desc
=
desc
;
}
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/contant/enumerate/OrderTourReceivedStatisticsSignEnum.java
0 → 100644
View file @
bd42e8b1
package
com
.
xxfc
.
platform
.
order
.
contant
.
enumerate
;
import
com.xxfc.platform.order.entity.OrderReceivedStatisticsBase
;
import
com.xxfc.platform.order.entity.OrderTourReceivedStatistics
;
import
com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/11/11 10:36
*/
public
enum
OrderTourReceivedStatisticsSignEnum
{
TOUR_TOTAL_AMOUNT
(
"tta"
,
"旅游订单总额"
){
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderTourReceivedStatistics
>
orderTourReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderTourReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
());
BigDecimal
totalAmount
=
orderTourReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalAmount
()).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
OrderTourReceivedStatistics
orderReceivedStatistics
=
orderTourReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
totalAmount
,
null
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
});
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
}
},
TOUR_TOTAL_QUANTITY
(
"ttq"
,
"旅游订单量"
){
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderTourReceivedStatistics
>
orderTourReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderTourReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
());
Integer
totalQuantity
=
orderTourReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalQuantity
()).
reduce
(
0
,
(
x
,
y
)
->
x
+
y
);
OrderTourReceivedStatistics
orderReceivedStatistics
=
orderTourReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
null
,
totalQuantity
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
});
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
}
},
TOUR_AVG_QUANTITY
(
"tavgq"
,
"旅游订单平均量"
){
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderTourReceivedStatistics
>
orderTourReceivedStatisticsList
=
V
.
stream
().
map
(
x
->
(
OrderTourReceivedStatistics
)
x
).
collect
(
Collectors
.
toList
());
Integer
avgQuantity
=
orderTourReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getAvgQuantity
()).
reduce
(
0
,
(
x
,
y
)
->
x
+
y
)/
V
.
size
();
OrderTourReceivedStatistics
orderReceivedStatistics
=
orderTourReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
null
,
avgQuantity
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
});
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
}
};
private
String
sign
;
private
String
desc
;
OrderTourReceivedStatisticsSignEnum
(
String
sign
,
String
desc
)
{
this
.
sign
=
sign
;
this
.
desc
=
desc
;
}
/**
* 统计项
* @param orderMap
* @return
*/
abstract
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
);
public
String
getSign
()
{
return
sign
;
}
public
void
setSign
(
String
sign
)
{
this
.
sign
=
sign
;
}
public
String
getDesc
()
{
return
desc
;
}
public
void
setDesc
(
String
desc
)
{
this
.
desc
=
desc
;
}
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/contant/enumerate/ReceivedStatisticsEnum.java
0 → 100644
View file @
bd42e8b1
package
com
.
xxfc
.
platform
.
order
.
contant
.
enumerate
;
import
com.xxfc.platform.order.entity.OrderReceivedStatisticsBase
;
import
com.xxfc.platform.order.entity.OrderRentVehicleReceivedStatistics
;
import
com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo
;
import
org.springframework.util.CollectionUtils
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/11/11 15:25
*/
public
enum
ReceivedStatisticsEnum
{
DAY
(
1
,
"按日统计"
)
{
@Override
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
wrapMap
(
List
<
OrderReceivedStatisticsBase
>
orderReceivedStatisticsBases
)
{
if
(
CollectionUtils
.
isEmpty
(
orderReceivedStatisticsBases
))
{
return
Collections
.
EMPTY_MAP
;
}
return
orderReceivedStatisticsBases
.
stream
().
collect
(
Collectors
.
groupingBy
(
OrderReceivedStatisticsBase:
:
getDate
,
Collectors
.
toList
()));
}
},
WEEK
(
2
,
"按周统计"
)
{
@Override
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
wrapMap
(
List
<
OrderReceivedStatisticsBase
>
orderReceivedStatisticsBases
)
{
if
(
CollectionUtils
.
isEmpty
(
orderReceivedStatisticsBases
))
{
return
Collections
.
EMPTY_MAP
;
}
return
orderReceivedStatisticsBases
.
stream
().
collect
(
Collectors
.
groupingBy
(
OrderReceivedStatisticsBase:
:
getWeekOfYear
,
Collectors
.
toList
()));
}
},
MONTH
(
3
,
"按月统计"
)
{
@Override
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
wrapMap
(
List
<
OrderReceivedStatisticsBase
>
orderReceivedStatisticsBases
)
{
if
(
CollectionUtils
.
isEmpty
(
orderReceivedStatisticsBases
))
{
return
Collections
.
EMPTY_MAP
;
}
return
orderReceivedStatisticsBases
.
stream
().
collect
(
Collectors
.
groupingBy
(
OrderReceivedStatisticsBase:
:
getMonth
,
Collectors
.
toList
()));
}
};
private
int
wayCode
;
private
String
value
;
ReceivedStatisticsEnum
(
int
wayCode
,
String
value
)
{
this
.
wayCode
=
wayCode
;
this
.
value
=
value
;
}
/**
* 统计方式
* @param orderReceivedStatisticsBases
* @return
*/
abstract
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
wrapMap
(
List
<
OrderReceivedStatisticsBase
>
orderReceivedStatisticsBases
);
public
static
OrderReceivedStatisticsVo
createOrderReceivedStatistics
(
OrderReceivedStatisticsBase
orderReceivedStatisticsBase
,
BigDecimal
amount
,
Integer
quantity
){
return
OrderReceivedStatisticsVo
.
builder
()
.
date
(
orderReceivedStatisticsBase
.
getDate
())
.
month
(
orderReceivedStatisticsBase
.
getMonth
())
.
weekOfYear
(
orderReceivedStatisticsBase
.
getWeekOfYear
())
.
weekOfYear
(
orderReceivedStatisticsBase
.
getYear
())
.
orderNum
(
quantity
)
.
orderAmount
(
amount
)
.
build
();
}
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderMemberReceivedStatistics.java
View file @
bd42e8b1
...
...
@@ -4,141 +4,114 @@ import java.io.Serializable;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
javax.persistence.*
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* 会员订单统计
*
*
* @author libin
* @email 18178966185@163.com
* @date 2019-11-08 18:03:42
*/
@Data
@Table
(
name
=
"order_member_received_statistics"
)
public
class
OrderMemberReceivedStatistics
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
*
*/
public
class
OrderMemberReceivedStatistics
extends
OrderReceivedStatisticsBase
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
*
*/
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
@ApiModelProperty
(
""
)
@GeneratedValue
(
generator
=
"JDBC"
)
@ApiModelProperty
(
""
)
private
Long
id
;
/**
* 年份
*/
@Column
(
name
=
"year"
)
@ApiModelProperty
(
value
=
"年份"
)
private
Integer
year
;
/**
* 月份
*/
@Column
(
name
=
"month"
)
@ApiModelProperty
(
value
=
"月份"
)
private
Integer
month
;
/**
* 年月日
*/
@Column
(
name
=
"date"
)
@ApiModelProperty
(
value
=
"年月日"
)
private
Date
date
;
/**
* 1周年的第几周
*/
@Column
(
name
=
"week_of_year"
)
@ApiModelProperty
(
value
=
"1周年的第几周"
)
private
Integer
weekOfYear
;
/**
* 订单总额
/**
* 订单总额
*/
@Column
(
name
=
"total_amount"
)
@ApiModelProperty
(
value
=
"订单总额"
)
@ApiModelProperty
(
value
=
"订单总额"
)
private
BigDecimal
totalAmount
;
/**
*
普通会员订单总额
/**
* 普通会员订单总额
*/
@Column
(
name
=
"toal_common_ammount"
)
@ApiModelProperty
(
value
=
"普通会员订单总额"
)
@ApiModelProperty
(
value
=
"普通会员订单总额"
)
private
BigDecimal
toalCommonAmmount
;
/**
*
普通会员订单总量
/**
* 普通会员订单总量
*/
@Column
(
name
=
"total_common_quantity"
)
@ApiModelProperty
(
value
=
"普通会员订单总量"
)
@ApiModelProperty
(
value
=
"普通会员订单总量"
)
private
Integer
totalCommonQuantity
;
/**
*
黄金会员订单总额
/**
* 黄金会员订单总额
*/
@Column
(
name
=
"total_gold_amount"
)
@ApiModelProperty
(
value
=
"黄金会员订单总额"
)
@ApiModelProperty
(
value
=
"黄金会员订单总额"
)
private
BigDecimal
totalGoldAmount
;
/**
*
黄金会员订单总量
/**
* 黄金会员订单总量
*/
@Column
(
name
=
"total_gold_quantity"
)
@ApiModelProperty
(
value
=
"黄金会员订单总量"
)
@ApiModelProperty
(
value
=
"黄金会员订单总量"
)
private
Integer
totalGoldQuantity
;
/**
*
钻石会员订单总额
/**
* 钻石会员订单总额
*/
@Column
(
name
=
"total_diamond_ammount"
)
@ApiModelProperty
(
value
=
"钻石会员订单总额"
)
@ApiModelProperty
(
value
=
"钻石会员订单总额"
)
private
BigDecimal
totalDiamondAmmount
;
/**
*
钻石会员订单总量
/**
* 钻石会员订单总量
*/
@Column
(
name
=
"total_diamond_quantity"
)
@ApiModelProperty
(
value
=
"钻石会员订单总量"
)
@ApiModelProperty
(
value
=
"钻石会员订单总量"
)
private
Integer
totalDiamondQuantity
;
/**
*
是否完成 1 完成 0 未完成
/**
* 是否完成 1 完成 0 未完成
*/
@Column
(
name
=
"is_finish"
)
@ApiModelProperty
(
value
=
"是否完成 1 完成 0 未完成"
)
@ApiModelProperty
(
value
=
"是否完成 1 完成 0 未完成"
)
private
Integer
isFinish
;
/**
*
'支付来源 1--app;2--小程序',
/**
* '支付来源 1--app;2--小程序',
*/
@Column
(
name
=
"order_origin"
)
@ApiModelProperty
(
value
=
" '支付来源 1--app;2--小程序',"
)
@ApiModelProperty
(
value
=
" '支付来源 1--app;2--小程序',"
)
private
Integer
orderOrigin
;
/**
*
支付方式 '1:微信公众号支付 2.支付宝即时到账,3,银联'
/**
* 支付方式 '1:微信公众号支付 2.支付宝即时到账,3,银联'
*/
@Column
(
name
=
"pay_way"
)
@ApiModelProperty
(
value
=
"支付方式 '1:微信公众号支付 2.支付宝即时到账,3,银联'"
)
@ApiModelProperty
(
value
=
"支付方式 '1:微信公众号支付 2.支付宝即时到账,3,银联'"
)
private
Integer
payWay
;
/**
*
公司id
/**
* 公司id
*/
@Column
(
name
=
"company_id"
)
@ApiModelProperty
(
value
=
"公司id"
)
@ApiModelProperty
(
value
=
"公司id"
)
private
Integer
companyId
;
/**
*
创建时间
/**
* 创建时间
*/
@Column
(
name
=
"crt_time"
)
@ApiModelProperty
(
value
=
"创建时间"
,
hidden
=
true
)
@ApiModelProperty
(
value
=
"创建时间"
,
hidden
=
true
)
private
Date
crtTime
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderReceivedStatistics.java
View file @
bd42e8b1
...
...
@@ -17,7 +17,7 @@ import lombok.Data;
*/
@Data
@Table
(
name
=
"order_received_statistics"
)
public
class
OrderReceivedStatistics
implements
Serializable
{
public
class
OrderReceivedStatistics
extends
OrderReceivedStatisticsBase
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
...
...
@@ -28,34 +28,6 @@ public class OrderReceivedStatistics implements Serializable {
@ApiModelProperty
(
""
)
private
Long
id
;
/**
* 年份
*/
@Column
(
name
=
"year"
)
@ApiModelProperty
(
value
=
"年份"
)
private
Integer
year
;
/**
* 月份
*/
@Column
(
name
=
"month"
)
@ApiModelProperty
(
value
=
"月份"
)
private
Integer
month
;
/**
* 年月日
*/
@Column
(
name
=
"date"
)
@ApiModelProperty
(
value
=
"年月日"
)
private
Date
date
;
/**
* 1周年的第几周
*/
@Column
(
name
=
"week_of_year"
)
@ApiModelProperty
(
value
=
"1周年的第几周"
)
private
Integer
weekOfYear
;
/**
* 订单总额
*/
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderReceivedStatisticsBase.java
0 → 100644
View file @
bd42e8b1
package
com
.
xxfc
.
platform
.
order
.
entity
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
java.util.Date
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/11/11 15:49
*/
@Data
public
class
OrderReceivedStatisticsBase
{
/**
* 年份
*/
@Column
(
name
=
"year"
)
@ApiModelProperty
(
value
=
"年份"
)
protected
Integer
year
;
/**
* 月份
*/
@Column
(
name
=
"month"
)
@ApiModelProperty
(
value
=
"月份"
)
protected
Integer
month
;
/**
* 年月日
*/
@Column
(
name
=
"date"
)
@ApiModelProperty
(
value
=
"年月日"
)
protected
Date
date
;
/**
* 1周年的第几周
*/
@Column
(
name
=
"week_of_year"
)
@ApiModelProperty
(
value
=
"1周年的第几周"
)
protected
Integer
weekOfYear
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderRentVehicleReceivedStatistics.java
View file @
bd42e8b1
...
...
@@ -4,127 +4,100 @@ import java.io.Serializable;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
javax.persistence.*
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* 租车订单统计
*
*
* @author libin
* @email 18178966185@163.com
* @date 2019-11-08 18:03:42
*/
@Data
@Table
(
name
=
"order_rent_vehicle_received_statistics"
)
public
class
OrderRentVehicleReceivedStatistics
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
*
*/
public
class
OrderRentVehicleReceivedStatistics
extends
OrderReceivedStatisticsBase
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
*
*/
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
@ApiModelProperty
(
""
)
@GeneratedValue
(
generator
=
"JDBC"
)
@ApiModelProperty
(
""
)
private
Long
id
;
/**
* 年份
*/
@Column
(
name
=
"year"
)
@ApiModelProperty
(
value
=
"年份"
)
private
Integer
year
;
/**
* 月份
*/
@Column
(
name
=
"month"
)
@ApiModelProperty
(
value
=
"月份"
)
private
Integer
month
;
/**
* 年月日
*/
@Column
(
name
=
"date"
)
@ApiModelProperty
(
value
=
"年月日"
)
private
Date
date
;
/**
* 1周年的第几周
*/
@Column
(
name
=
"week_of_year"
)
@ApiModelProperty
(
value
=
"1周年的第几周"
)
private
Integer
weekOfYear
;
/**
* 订单总额
/**
* 订单总额
*/
@Column
(
name
=
"total_amount"
)
@ApiModelProperty
(
value
=
"订单总额"
)
@ApiModelProperty
(
value
=
"订单总额"
)
private
BigDecimal
totalAmount
;
/**
*
订单总量
/**
* 订单总量
*/
@Column
(
name
=
"total_quantity"
)
@ApiModelProperty
(
value
=
"订单总量"
)
@ApiModelProperty
(
value
=
"订单总量"
)
private
Integer
totalQuantity
;
/**
*
订单平均量
/**
* 订单平均量
*/
@Column
(
name
=
"avg_quantity"
)
@ApiModelProperty
(
value
=
"订单平均量"
)
@ApiModelProperty
(
value
=
"订单平均量"
)
private
Integer
avgQuantity
;
/**
*
实际收入
/**
* 实际收入
*/
@Column
(
name
=
"real_amount"
)
@ApiModelProperty
(
value
=
"实际收入"
)
@ApiModelProperty
(
value
=
"实际收入"
)
private
BigDecimal
realAmount
;
/**
*
实际平均收入
/**
* 实际平均收入
*/
@Column
(
name
=
"real_avg_amount"
)
@ApiModelProperty
(
value
=
"实际平均收入"
)
@ApiModelProperty
(
value
=
"实际平均收入"
)
private
BigDecimal
realAvgAmount
;
/**
*
是否完成 1 完成 0 未完成
/**
* 是否完成 1 完成 0 未完成
*/
@Column
(
name
=
"is_finish"
)
@ApiModelProperty
(
value
=
"是否完成 1 完成 0 未完成"
)
@ApiModelProperty
(
value
=
"是否完成 1 完成 0 未完成"
)
private
Integer
isFinish
;
/**
*
'支付来源 1--app;2--小程序',
/**
* '支付来源 1--app;2--小程序',
*/
@Column
(
name
=
"order_origin"
)
@ApiModelProperty
(
value
=
" '支付来源 1--app;2--小程序',"
)
@ApiModelProperty
(
value
=
" '支付来源 1--app;2--小程序',"
)
private
Integer
orderOrigin
;
/**
*
支付方式 '1:微信公众号支付 2.支付宝即时到账,3,银联'
/**
* 支付方式 '1:微信公众号支付 2.支付宝即时到账,3,银联'
*/
@Column
(
name
=
"pay_way"
)
@ApiModelProperty
(
value
=
"支付方式 '1:微信公众号支付 2.支付宝即时到账,3,银联'"
)
@ApiModelProperty
(
value
=
"支付方式 '1:微信公众号支付 2.支付宝即时到账,3,银联'"
)
private
Integer
payWay
;
/**
*
公司id
/**
* 公司id
*/
@Column
(
name
=
"company_id"
)
@ApiModelProperty
(
value
=
"公司id"
)
@ApiModelProperty
(
value
=
"公司id"
)
private
Integer
companyId
;
/**
*
创建时间
/**
* 创建时间
*/
@Column
(
name
=
"crt_time"
)
@ApiModelProperty
(
value
=
"创建时间"
,
hidden
=
true
)
@ApiModelProperty
(
value
=
"创建时间"
,
hidden
=
true
)
private
Date
crtTime
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderTourReceivedStatistics.java
View file @
bd42e8b1
...
...
@@ -4,113 +4,86 @@ import java.io.Serializable;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
javax.persistence.*
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* 旅游订单统计
*
*
* @author libin
* @email 18178966185@163.com
* @date 2019-11-08 18:03:42
*/
@Data
@Table
(
name
=
"order_tour_received_statistics"
)
public
class
OrderTourReceivedStatistics
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
*
*/
public
class
OrderTourReceivedStatistics
extends
OrderReceivedStatisticsBase
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
*
*/
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
@ApiModelProperty
(
""
)
@GeneratedValue
(
generator
=
"JDBC"
)
@ApiModelProperty
(
""
)
private
Long
id
;
/**
* 年份
*/
@Column
(
name
=
"year"
)
@ApiModelProperty
(
value
=
"年份"
)
private
Integer
year
;
/**
* 月份
*/
@Column
(
name
=
"month"
)
@ApiModelProperty
(
value
=
"月份"
)
private
Integer
month
;
/**
* 年月日
*/
@Column
(
name
=
"date"
)
@ApiModelProperty
(
value
=
"年月日"
)
private
Date
date
;
/**
* 1周年的第几周
*/
@Column
(
name
=
"week_of_year"
)
@ApiModelProperty
(
value
=
"1周年的第几周"
)
private
Integer
weekOfYear
;
/**
* 订单总额
/**
* 订单总额
*/
@Column
(
name
=
"total_amount"
)
@ApiModelProperty
(
value
=
"订单总额"
)
@ApiModelProperty
(
value
=
"订单总额"
)
private
BigDecimal
totalAmount
;
/**
*
订单总量
/**
* 订单总量
*/
@Column
(
name
=
"total_quantity"
)
@ApiModelProperty
(
value
=
"订单总量"
)
@ApiModelProperty
(
value
=
"订单总量"
)
private
Integer
totalQuantity
;
/**
*
订单平均量
/**
* 订单平均量
*/
@Column
(
name
=
"avg_quantity"
)
@ApiModelProperty
(
value
=
"订单平均量"
)
@ApiModelProperty
(
value
=
"订单平均量"
)
private
Integer
avgQuantity
;
/**
*
是否完成 1 完成 0 未完成
/**
* 是否完成 1 完成 0 未完成
*/
@Column
(
name
=
"is_finish"
)
@ApiModelProperty
(
value
=
"是否完成 1 完成 0 未完成"
)
@ApiModelProperty
(
value
=
"是否完成 1 完成 0 未完成"
)
private
Integer
isFinish
;
/**
*
'支付来源 1--app;2--小程序',
/**
* '支付来源 1--app;2--小程序',
*/
@Column
(
name
=
"order_origin"
)
@ApiModelProperty
(
value
=
" '支付来源 1--app;2--小程序',"
)
@ApiModelProperty
(
value
=
" '支付来源 1--app;2--小程序',"
)
private
Integer
orderOrigin
;
/**
*
支付方式 '1:微信公众号支付 2.支付宝即时到账,3,银联'
/**
* 支付方式 '1:微信公众号支付 2.支付宝即时到账,3,银联'
*/
@Column
(
name
=
"pay_way"
)
@ApiModelProperty
(
value
=
"支付方式 '1:微信公众号支付 2.支付宝即时到账,3,银联'"
)
@ApiModelProperty
(
value
=
"支付方式 '1:微信公众号支付 2.支付宝即时到账,3,银联'"
)
private
Integer
payWay
;
/**
*
公司id
/**
* 公司id
*/
@Column
(
name
=
"company_id"
)
@ApiModelProperty
(
value
=
"公司id"
)
@ApiModelProperty
(
value
=
"公司id"
)
private
Integer
companyId
;
/**
*
创建时间
/**
* 创建时间
*/
@Column
(
name
=
"crt_time"
)
@ApiModelProperty
(
value
=
"创建时间"
,
hidden
=
true
)
@ApiModelProperty
(
value
=
"创建时间"
,
hidden
=
true
)
private
Date
crtTime
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/dto/OrderReceivedStatisticsFindDTO.java
0 → 100644
View file @
bd42e8b1
package
com
.
xxfc
.
platform
.
order
.
pojo
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
import
java.util.Date
;
import
java.util.List
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/11/11 9:49
*/
@Data
@ApiModel
(
"统计查询"
)
public
class
OrderReceivedStatisticsFindDTO
{
@ApiModelProperty
(
"统计的开始时间 yyyy-MM-dd"
)
private
Date
startDate
;
@ApiModelProperty
(
"统计的结束时间 yyyy-MM-dd"
)
private
Date
endDate
;
@ApiModelProperty
(
"统计方式 1:日 2:周 3:周"
)
@NotNull
(
message
=
"统计方式不能为null"
)
private
Integer
statisticalWay
;
@ApiModelProperty
(
"订单状态 0:未完成 1:已完成"
)
private
Integer
orderState
;
@ApiModelProperty
(
"订单来源 1:app 2:小程序 3:后台"
)
private
Integer
orderOrigin
;
@ApiModelProperty
(
"支付方式 1:微信公众号支付 2:支付宝即时到账,3:银联"
)
private
Integer
payWay
;
@ApiModelProperty
(
"统计项标识"
)
@NotNull
(
message
=
"统计标识不能为null"
)
private
List
<
Integer
>
statisticalSigns
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/vo/OrderReceivedStatisticsVo.java
0 → 100644
View file @
bd42e8b1
package
com
.
xxfc
.
platform
.
order
.
pojo
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/11/11 10:09
*/
@Data
@Builder
(
toBuilder
=
true
)
@AllArgsConstructor
@NoArgsConstructor
public
class
OrderReceivedStatisticsVo
{
@ApiModelProperty
(
"日期-->日统计方式"
)
private
Date
date
;
@ApiModelProperty
(
"第几周---->周统计方式"
)
private
Integer
weekOfYear
;
@ApiModelProperty
(
"月统计"
)
private
Integer
month
;
@ApiModelProperty
(
"订单总额|实际收入|平均收入"
)
private
BigDecimal
orderAmount
;
@ApiModelProperty
(
"订单总量|订单平均量"
)
private
Integer
orderNum
;
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderReceivedStatisticsBiz.java
View file @
bd42e8b1
package
com
.
xxfc
.
platform
.
order
.
biz
;
import
com.xxfc.platform.order.pojo.dto.OrderReceivedStatisticsFindDTO
;
import
com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -9,6 +11,10 @@ import com.xxfc.platform.order.mapper.OrderReceivedStatisticsMapper;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Map
;
/**
* 全部订单统计
*
...
...
@@ -24,4 +30,7 @@ public class OrderReceivedStatisticsBiz extends BaseBiz<OrderReceivedStatisticsM
private
final
OrderTourReceivedStatisticsBiz
orderTourReceivedStatisticsBiz
;
private
final
OrderMemberReceivedStatisticsBiz
orderMemberReceivedStatisticsBiz
;
public
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
getOrderReceivedStatisticsResult
(
OrderReceivedStatisticsFindDTO
orderReceivedStatisticsFindDTO
)
{
return
Collections
.
EMPTY_MAP
;
}
}
\ No newline at end of file
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/jobhandler/OrderReceivedStatisticsJobHandler.java
0 → 100644
View file @
bd42e8b1
package
com
.
xxfc
.
platform
.
order
.
jobhandler
;
import
com.xxfc.platform.order.biz.*
;
import
com.xxl.job.core.biz.model.ReturnT
;
import
com.xxl.job.core.handler.IJobHandler
;
import
com.xxl.job.core.handler.annotation.JobHandler
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.beans.factory.annotation.Autowired
;
/**
* @author libin
* @version 1.0
* @description 订单统计 定时任务
* @data 2019/11/11 11:09
*/
@JobHandler
(
value
=
"orderReceivedStatisticsJobHandler"
)
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
public
class
OrderReceivedStatisticsJobHandler
extends
IJobHandler
{
private
final
BaseOrderBiz
baseOrderBiz
;
private
final
OrderRentVehicleBiz
orderRentVehicleBiz
;
private
final
OrderTourDetailBiz
orderTourDetailBiz
;
private
final
OrderMemberDetailBiz
orderMemberDetailBiz
;
private
final
OrderReceivedStatisticsBiz
orderReceivedStatisticsBiz
;
private
final
OrderRentVehicleReceivedStatisticsBiz
orderRentVehicleReceivedStatisticsBiz
;
private
final
OrderTourReceivedStatisticsBiz
orderTourReceivedStatisticsBiz
;
private
final
OrderMemberReceivedStatisticsBiz
orderMemberReceivedStatisticsBiz
;
@Override
public
ReturnT
<
String
>
execute
(
String
s
)
throws
Exception
{
//订单
//租车订单
//旅游订单
//会员订单
return
null
;
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/background/OrderReceivedStatisticsAdminController.java
View file @
bd42e8b1
package
com
.
xxfc
.
platform
.
order
.
rest
.
background
;
import
com.github.wxiaoqi.security.common.annotation.SimpleValid
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.order.biz.OrderReceivedStatisticsBiz
;
import
com.xxfc.platform.order.pojo.dto.OrderReceivedStatisticsFindDTO
;
import
com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author libin
* @version 1.0
...
...
@@ -23,10 +30,10 @@ import org.springframework.web.bind.annotation.RestController;
public
class
OrderReceivedStatisticsAdminController
{
private
final
OrderReceivedStatisticsBiz
orderReceivedStatisticsBiz
;
/*
@ApiOperation("订单统计")
@ApiOperation
(
"订单统计"
)
@PostMapping
(
""
)
public ObjectRestResponse
orderReceivedStatistics(
){
return ObjectRestResponse.succ();
}
*/
public
ObjectRestResponse
<
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>>
orderReceivedStatistics
(
@RequestBody
@SimpleValid
OrderReceivedStatisticsFindDTO
orderReceivedStatisticsFindDTO
){
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
orderReceivedStatisticsPageVo
=
orderReceivedStatisticsBiz
.
getOrderReceivedStatisticsResult
(
orderReceivedStatisticsFindDTO
);
return
ObjectRestResponse
.
succ
(
orderReceivedStatisticsPageVo
);
}
}
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