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
2ef7bddf
Commit
2ef7bddf
authored
Nov 19, 2019
by
libin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
租车订单统计
parent
3ff10915
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
32 additions
and
100 deletions
+32
-100
OrderReceivedStatisticsSignEnum.java
...er/contant/enumerate/OrderReceivedStatisticsSignEnum.java
+1
-40
OrderRentVehicleReceivedStatisticsSignEnum.java
...enumerate/OrderRentVehicleReceivedStatisticsSignEnum.java
+1
-40
StatisticsStatusEnum.java
...latform/order/contant/enumerate/StatisticsStatusEnum.java
+1
-3
OrderMemberReceivedStatisticsBiz.java
.../platform/order/biz/OrderMemberReceivedStatisticsBiz.java
+1
-1
OrderRentVehicleReceivedStatisticsBiz.java
...form/order/biz/OrderRentVehicleReceivedStatisticsBiz.java
+28
-16
No files found.
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/contant/enumerate/OrderReceivedStatisticsSignEnum.java
View file @
2ef7bddf
...
@@ -64,46 +64,7 @@ public enum OrderReceivedStatisticsSignEnum {
...
@@ -64,46 +64,7 @@ public enum OrderReceivedStatisticsSignEnum {
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
return
resultMap
;
}
}
},
};
/* ORDER_TOTAL_REAL_AMOUNT("ad_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 = ReceivedStatisticsEnum.convertToTargetBean(V);
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("ae_oravga","实际arpu"){
@Override
Map<String, List<OrderReceivedStatisticsVo>> wrapToMap(Map<Object, List<OrderReceivedStatisticsBase>> orderMap) {
Map<String, List<OrderReceivedStatisticsVo>> resultMap = new HashMap<>();
AtomicReference<BigDecimal> divisorAtomicReference = new AtomicReference<>();
List<OrderReceivedStatisticsVo> orderReceivedStatisticsVos = new ArrayList<>();
orderMap.forEach((K,V)->{
List<OrderReceivedStatistics> orderReceivedStatisticsList = ReceivedStatisticsEnum.convertToTargetBean(V);
BigDecimal divisor = divisorAtomicReference.get();
if (Objects.isNull(divisor)){
Integer divi = orderReceivedStatisticsList.get(0).getDivisor();
divisor = new BigDecimal(divi);
divisorAtomicReference.set(divisor);
}
BigDecimal realAvgAmount = orderReceivedStatisticsList.stream().map(x -> x.getRealAmount()).reduce(BigDecimal.ZERO, (x, y) -> x.add(y)).divide(divisor);
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
sign
;
private
String
desc
;
private
String
desc
;
private
static
Map
<
String
,
OrderReceivedStatisticsSignEnum
>
orderReceivedStatisticsSignEnumMap
;
private
static
Map
<
String
,
OrderReceivedStatisticsSignEnum
>
orderReceivedStatisticsSignEnumMap
;
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/contant/enumerate/OrderRentVehicleReceivedStatisticsSignEnum.java
View file @
2ef7bddf
...
@@ -70,46 +70,7 @@ public enum OrderRentVehicleReceivedStatisticsSignEnum{
...
@@ -70,46 +70,7 @@ public enum OrderRentVehicleReceivedStatisticsSignEnum{
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
return
resultMap
;
}
}
},
};
/* RENT_VEHICLE_REAL_TOTAL_AMOUNT("bd_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 = ReceivedStatisticsEnum.convertToTargetBean(V);
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("be_rvravga","实际租车arpu") {
@Override
Map<String, List<OrderReceivedStatisticsVo>> wrapToMap(Map<Object, List<OrderReceivedStatisticsBase>> orderMap) {
Map<String, List<OrderReceivedStatisticsVo>> resultMap = new HashMap<>();
AtomicReference<BigDecimal> divisorAtomicReference = new AtomicReference<>();
List<OrderReceivedStatisticsVo> orderReceivedStatisticsVos = new ArrayList<>();
orderMap.forEach((K,V)->{
List<OrderRentVehicleReceivedStatistics> orderRentVehicleReceivedStatisticsList = ReceivedStatisticsEnum.convertToTargetBean(V);
BigDecimal divisor = divisorAtomicReference.get();
if (Objects.isNull(divisor)){
Integer divi = orderRentVehicleReceivedStatisticsList.get(0).getDivisor();
divisor = new BigDecimal(divi);
divisorAtomicReference.set(divisor);
}
BigDecimal realAvgAmount = orderRentVehicleReceivedStatisticsList.stream().map(x -> x.getRealAmount()).reduce(BigDecimal.ZERO, (x, y) -> x.add(y)).divide(divisor, 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
sign
;
private
String
desc
;
private
String
desc
;
private
static
Map
<
String
,
OrderRentVehicleReceivedStatisticsSignEnum
>
orderRentVehicleReceivedStatisticsSignEnumMap
;
private
static
Map
<
String
,
OrderRentVehicleReceivedStatisticsSignEnum
>
orderRentVehicleReceivedStatisticsSignEnumMap
;
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/contant/enumerate/StatisticsStatusEnum.java
View file @
2ef7bddf
...
@@ -18,15 +18,13 @@ import java.util.List;
...
@@ -18,15 +18,13 @@ import java.util.List;
*/
*/
public
enum
StatisticsStatusEnum
{
public
enum
StatisticsStatusEnum
{
;
;
public
static
final
int
FINISH
=
6
;
public
static
final
int
CANCEL
=
2
;
public
static
final
int
UNFINISH
=
3
;
public
static
final
int
DEFAULT_COMPANY
=
1
;
public
static
final
int
DEFAULT_COMPANY
=
1
;
public
static
final
int
ORDER_MEMBER_TYPE
=
3
;
public
static
final
int
ORDER_MEMBER_TYPE
=
3
;
public
static
final
int
ORDER_RENT_VEHICLE_TYPE
=
1
;
public
static
final
int
ORDER_RENT_VEHICLE_TYPE
=
1
;
public
static
final
int
ORDER_TOUR_TYPE
=
2
;
public
static
final
int
ORDER_TOUR_TYPE
=
2
;
public
static
final
String
UN_PAY_STATE
=
"0"
;
public
static
final
String
UN_PAY_STATE
=
"0"
;
public
static
final
int
NO_PAY_WAY
=
99
;
public
static
final
int
NO_PAY_WAY
=
99
;
public
static
final
Integer
DEFAULT_SQL_SIZE
=
1000
;
public
static
List
<
String
>
orderStates
;
public
static
List
<
String
>
orderStates
;
public
static
List
<
String
>
orderOrigins
;
public
static
List
<
String
>
orderOrigins
;
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderMemberReceivedStatisticsBiz.java
View file @
2ef7bddf
...
@@ -52,7 +52,7 @@ public class OrderMemberReceivedStatisticsBiz extends BaseBiz<OrderMemberReceive
...
@@ -52,7 +52,7 @@ public class OrderMemberReceivedStatisticsBiz extends BaseBiz<OrderMemberReceive
List
<
OrderMemberReceivedStatistics
>
orderMemberReceivedStatisticsList
=
new
ArrayList
<>(
18
);
List
<
OrderMemberReceivedStatistics
>
orderMemberReceivedStatisticsList
=
new
ArrayList
<>(
18
);
//根据时间范围查询出会员单
//根据时间范围查询出会员单
List
<
OrderDTO
>
orders
=
baseOrderBiz
.
selectOrdersByTypeAndTime
(
Arrays
.
asList
(
StatisticsStatusEnum
.
ORDER_
TOU
R_TYPE
),
startDate
,
endDate
);
List
<
OrderDTO
>
orders
=
baseOrderBiz
.
selectOrdersByTypeAndTime
(
Arrays
.
asList
(
StatisticsStatusEnum
.
ORDER_
MEMBE
R_TYPE
),
startDate
,
endDate
);
//数据处理 把状态组合
//数据处理 把状态组合
Map
<
String
,
Map
<
LevelEnum
,
List
<
OrderDTO
>>>
ordersMap
=
orders
.
stream
().
peek
(
x
->
{
Map
<
String
,
Map
<
LevelEnum
,
List
<
OrderDTO
>>>
ordersMap
=
orders
.
stream
().
peek
(
x
->
{
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderRentVehicleReceivedStatisticsBiz.java
View file @
2ef7bddf
...
@@ -41,6 +41,7 @@ public class OrderRentVehicleReceivedStatisticsBiz extends BaseBiz<OrderRentVehi
...
@@ -41,6 +41,7 @@ public class OrderRentVehicleReceivedStatisticsBiz extends BaseBiz<OrderRentVehi
/**
/**
* 租车统计查询
* 租车统计查询
*
* @param orderReceivedStatisticsFindDTO
* @param orderReceivedStatisticsFindDTO
* @return
* @return
*/
*/
...
@@ -50,8 +51,9 @@ public class OrderRentVehicleReceivedStatisticsBiz extends BaseBiz<OrderRentVehi
...
@@ -50,8 +51,9 @@ public class OrderRentVehicleReceivedStatisticsBiz extends BaseBiz<OrderRentVehi
/**
/**
* 租车统计处理
* 租车统计处理
*
* @param startDate 开始时间
* @param startDate 开始时间
* @param endDate 结束时间
* @param endDate
结束时间
*/
*/
public
void
orderRentVehicleReceivedStatistics
(
Date
startDate
,
Date
endDate
)
{
public
void
orderRentVehicleReceivedStatistics
(
Date
startDate
,
Date
endDate
)
{
List
<
OrderRentVehicleReceivedStatistics
>
orderRentVehicleReceivedStatisticsList
=
new
ArrayList
<>();
List
<
OrderRentVehicleReceivedStatistics
>
orderRentVehicleReceivedStatisticsList
=
new
ArrayList
<>();
...
@@ -109,11 +111,11 @@ public class OrderRentVehicleReceivedStatisticsBiz extends BaseBiz<OrderRentVehi
...
@@ -109,11 +111,11 @@ public class OrderRentVehicleReceivedStatisticsBiz extends BaseBiz<OrderRentVehi
/**
/**
* 创建剩余状态数据
* 创建剩余状态数据
*
*
* @param startDate 时间
* @param startDate
时间
* @param statisticsStateGroups 状态组合 集合
* @param statisticsStateGroups
状态组合 集合
* @param companyIds 公司ids
* @param companyIds
公司ids
* @param totalNoPayAmount 未支付金额
* @param totalNoPayAmount
未支付金额
* @param totalNoPayOrderQuantity
未支付订单数
* @param totalNoPayOrderQuantity 未支付订单数
* @return
* @return
*/
*/
private
List
<
OrderRentVehicleReceivedStatistics
>
createOtherStatisticsStateGroupList
(
Date
startDate
,
private
List
<
OrderRentVehicleReceivedStatistics
>
createOtherStatisticsStateGroupList
(
Date
startDate
,
...
@@ -123,14 +125,14 @@ public class OrderRentVehicleReceivedStatisticsBiz extends BaseBiz<OrderRentVehi
...
@@ -123,14 +125,14 @@ public class OrderRentVehicleReceivedStatisticsBiz extends BaseBiz<OrderRentVehi
Integer
totalNoPayOrderQuantity
)
{
Integer
totalNoPayOrderQuantity
)
{
List
<
OrderRentVehicleReceivedStatistics
>
orderRentVehicleReceivedStatisticsList
=
new
ArrayList
<>();
List
<
OrderRentVehicleReceivedStatistics
>
orderRentVehicleReceivedStatisticsList
=
new
ArrayList
<>();
//获取剩余状态组合
//获取剩余状态组合
List
<
String
>
otherStatisticsStateGroup
=
StatisticsStatusEnum
.
getOtherStatisticsStateGroup
(
companyIds
,
statisticsStateGroups
);
List
<
String
>
otherStatisticsStateGroup
=
StatisticsStatusEnum
.
getOtherStatisticsStateGroup
(
companyIds
,
statisticsStateGroups
);
//创建租车统计克隆对象
//创建租车统计克隆对象
OrderRentVehicleReceivedStatistics
orderRentVehicleReceivedStatistics
=
new
OrderRentVehicleReceivedStatistics
();
OrderRentVehicleReceivedStatistics
orderRentVehicleReceivedStatistics
=
new
OrderRentVehicleReceivedStatistics
();
//统计对象的生成
//统计对象的生成
otherStatisticsStateGroup
.
parallelStream
().
map
(
stateGroup
->
{
otherStatisticsStateGroup
.
parallelStream
().
map
(
stateGroup
->
{
OrderRentVehicleReceivedStatistics
orderRentVehicleReceivedStatisticsClone
=
StatisticsStatusEnum
.
wrapStatisticsObject
(
startDate
,
stateGroup
,
ObjectUtil
.
cloneByStream
(
orderRentVehicleReceivedStatistics
));
OrderRentVehicleReceivedStatistics
orderRentVehicleReceivedStatisticsClone
=
StatisticsStatusEnum
.
wrapStatisticsObject
(
startDate
,
stateGroup
,
ObjectUtil
.
cloneByStream
(
orderRentVehicleReceivedStatistics
));
orderRentVehicleReceivedStatisticsClone
=
wrapOrderRentVehicleReceivedStatistics
(
stateGroup
,
totalNoPayAmount
,
totalNoPayOrderQuantity
,
orderRentVehicleReceivedStatisticsClone
);
orderRentVehicleReceivedStatisticsClone
=
wrapOrderRentVehicleReceivedStatistics
(
stateGroup
,
totalNoPayAmount
,
totalNoPayOrderQuantity
,
orderRentVehicleReceivedStatisticsClone
);
orderRentVehicleReceivedStatisticsList
.
add
(
orderRentVehicleReceivedStatisticsClone
);
orderRentVehicleReceivedStatisticsList
.
add
(
orderRentVehicleReceivedStatisticsClone
);
return
orderRentVehicleReceivedStatisticsClone
;
return
orderRentVehicleReceivedStatisticsClone
;
}).
count
();
}).
count
();
...
@@ -138,14 +140,13 @@ public class OrderRentVehicleReceivedStatisticsBiz extends BaseBiz<OrderRentVehi
...
@@ -138,14 +140,13 @@ public class OrderRentVehicleReceivedStatisticsBiz extends BaseBiz<OrderRentVehi
}
}
/**
/**
*
* @param stateGroup 状态组合
* @param stateGroup 状态组合
* @param totalNoPayAmount 未支付金额
* @param totalNoPayAmount 未支付金额
* @param totalNoPayOrderQuantity 未支付订单量
* @param totalNoPayOrderQuantity 未支付订单量
* @param orderRentVehicleReceivedStatistics 租车统计对象
* @param orderRentVehicleReceivedStatistics 租车统计对象
* @return
* @return
*/
*/
private
OrderRentVehicleReceivedStatistics
wrapOrderRentVehicleReceivedStatistics
(
String
stateGroup
,
BigDecimal
totalNoPayAmount
,
Integer
totalNoPayOrderQuantity
,
OrderRentVehicleReceivedStatistics
orderRentVehicleReceivedStatistics
)
{
private
OrderRentVehicleReceivedStatistics
wrapOrderRentVehicleReceivedStatistics
(
String
stateGroup
,
BigDecimal
totalNoPayAmount
,
Integer
totalNoPayOrderQuantity
,
OrderRentVehicleReceivedStatistics
orderRentVehicleReceivedStatistics
)
{
if
(
stateGroup
.
contains
(
NO_PAY_STATE_STR
))
{
if
(
stateGroup
.
contains
(
NO_PAY_STATE_STR
))
{
orderRentVehicleReceivedStatistics
.
setTotalAmount
(
totalNoPayAmount
);
orderRentVehicleReceivedStatistics
.
setTotalAmount
(
totalNoPayAmount
);
orderRentVehicleReceivedStatistics
.
setTotalQuantity
(
totalNoPayOrderQuantity
);
orderRentVehicleReceivedStatistics
.
setTotalQuantity
(
totalNoPayOrderQuantity
);
...
@@ -157,10 +158,21 @@ public class OrderRentVehicleReceivedStatisticsBiz extends BaseBiz<OrderRentVehi
...
@@ -157,10 +158,21 @@ public class OrderRentVehicleReceivedStatisticsBiz extends BaseBiz<OrderRentVehi
}
}
/**
/**
* 批量插入数据
* 批量插入数据 mysql sql语句默认不能超过4M
*
* @param orderRentVehicleReceivedStatistics
* @param orderRentVehicleReceivedStatistics
*/
*/
public
void
insertMemberReceivedStatisticsBatch
(
List
<
OrderRentVehicleReceivedStatistics
>
orderRentVehicleReceivedStatistics
)
{
public
void
insertMemberReceivedStatisticsBatch
(
List
<
OrderRentVehicleReceivedStatistics
>
orderRentVehicleReceivedStatistics
)
{
mapper
.
insertList
(
orderRentVehicleReceivedStatistics
);
int
orderSize
=
orderRentVehicleReceivedStatistics
.
size
();
int
sqlAdq
=
orderSize
/
StatisticsStatusEnum
.
DEFAULT_SQL_SIZE
;
int
sqlMod
=
orderSize
%
StatisticsStatusEnum
.
DEFAULT_SQL_SIZE
;
sqlAdq
=
sqlMod
==
0
?
sqlAdq
+
1
:
sqlAdq
;
for
(
int
i
=
0
;
i
<
sqlAdq
;
i
++)
{
int
fromIndex
=
sqlAdq
*
i
;
int
toIndex
=
sqlAdq
*
(
i
+
1
);
toIndex
=
toIndex
>
orderSize
?
orderSize
:
toIndex
;
List
<
OrderRentVehicleReceivedStatistics
>
orderRentVehicleReceivedStatisticsList
=
orderRentVehicleReceivedStatistics
.
subList
(
fromIndex
,
toIndex
);
mapper
.
insertList
(
orderRentVehicleReceivedStatisticsList
);
}
}
}
}
}
\ 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