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
17e81367
Commit
17e81367
authored
Oct 30, 2019
by
hanfeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改订单统计
parent
22cbafc9
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
230 additions
and
67 deletions
+230
-67
OrderStatistics.java
.../java/com/xxfc/platform/order/entity/OrderStatistics.java
+14
-0
OrderAccountDTO.java
...com/xxfc/platform/order/pojo/account/OrderAccountDTO.java
+118
-1
DailyMembersOrderStatisticsBiz.java
...fc/platform/order/biz/DailyMembersOrderStatisticsBiz.java
+4
-1
DailyTravelOrderStatisticsBiz.java
...xfc/platform/order/biz/DailyTravelOrderStatisticsBiz.java
+4
-3
DailyVehicleOrderStatisticsBiz.java
...fc/platform/order/biz/DailyVehicleOrderStatisticsBiz.java
+16
-4
OrderStatisticsBiz.java
.../java/com/xxfc/platform/order/biz/OrderStatisticsBiz.java
+73
-57
OrderAccountMapper.xml
...r-server/src/main/resources/mapper/OrderAccountMapper.xml
+1
-1
No files found.
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderStatistics.java
View file @
17e81367
...
...
@@ -66,4 +66,18 @@ public class OrderStatistics {
*/
@ApiModelProperty
(
value
=
"历史订单补偿总额"
)
private
BigDecimal
totalOrderCompensation
=
BigDecimal
.
ZERO
;
@Override
public
String
toString
()
{
return
"OrderStatistics{"
+
"totalGmv="
+
totalGmv
+
", totalSecurityDeposit="
+
totalSecurityDeposit
+
", totalRefundSecurityDeposit="
+
totalRefundSecurityDeposit
+
", totalCompensation="
+
totalCompensation
+
", totalForfeit="
+
totalForfeit
+
", totalReturnGmv="
+
totalReturnGmv
+
", totalDefaultMoney="
+
totalDefaultMoney
+
", totalOrderCompensation="
+
totalOrderCompensation
+
'}'
;
}
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/account/OrderAccountDTO.java
View file @
17e81367
...
...
@@ -2,17 +2,134 @@ package com.xxfc.platform.order.pojo.account;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.xxfc.platform.order.entity.OrderAccount
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
javax.persistence.Column
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* @author Administrator
*/
@Data
public
class
OrderAccountDTO
extends
OrderAccount
{
public
class
OrderAccountDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 主键
*/
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
@ApiModelProperty
(
"主键"
)
private
Integer
id
;
/**
* 订单id
*/
@Column
(
name
=
"order_id"
)
@ApiModelProperty
(
value
=
"订单id"
)
private
Integer
orderId
;
/**
* 账款对应的流水号
*/
@Column
(
name
=
"trade_no"
)
@ApiModelProperty
(
value
=
"账款对应的流水号"
)
private
String
tradeNo
;
/**
* 记账时间
*/
@Column
(
name
=
"account_time"
)
@ApiModelProperty
(
value
=
"记账时间"
)
private
Long
accountTime
;
/**
* 记帐类型 101--订单支付;201--取消订单退款;202--全部押金退款;203--部分押金退款;204--剩余押金退款
*/
@Column
(
name
=
"account_type"
)
@ApiModelProperty
(
value
=
"记帐类型 101--订单支付;201--取消订单退款;202--全部押金退款;203--部分押金退款;204--剩余押金退款"
)
private
Integer
accountType
;
/**
* 账款状态 1--成功;2--失败
*/
@Column
(
name
=
"account_status"
)
@ApiModelProperty
(
value
=
"账款状态 1--成功;2--失败"
)
private
Integer
accountStatus
;
/**
* 账款金额
*/
@Column
(
name
=
"account_amount"
)
@ApiModelProperty
(
value
=
"账款金额"
)
private
BigDecimal
accountAmount
;
/**
* 账款说明
*/
@Column
(
name
=
"account_desc"
)
@ApiModelProperty
(
value
=
"账款说明"
)
private
String
accountDesc
;
/**
* 账款详情
*/
@Column
(
name
=
"account_detail"
)
@ApiModelProperty
(
value
=
"账款详情"
)
private
String
accountDetail
;
/**
* 创建时间
*/
@Column
(
name
=
"crt_time"
)
@ApiModelProperty
(
value
=
"创建时间"
,
hidden
=
true
)
private
Long
crtTime
;
/**
* 原金额
*/
@Column
(
name
=
"original_amount"
)
@ApiModelProperty
(
value
=
"原金额"
)
private
BigDecimal
originalAmount
;
/**
* 扣除金额
*/
@Column
(
name
=
"deduct_amount"
)
@ApiModelProperty
(
value
=
"扣除金额"
)
private
BigDecimal
deductAmount
;
@Column
(
name
=
"companyId"
)
private
Integer
companyId
;
@Column
(
name
=
"oneDay"
)
private
String
oneDay
;
@Override
public
String
toString
()
{
final
StringBuffer
sb
=
new
StringBuffer
(
"OrderAccountDTO{"
);
sb
.
append
(
"id="
).
append
(
id
);
sb
.
append
(
", orderId="
).
append
(
orderId
);
sb
.
append
(
", tradeNo='"
).
append
(
tradeNo
).
append
(
'\''
);
sb
.
append
(
", accountTime="
).
append
(
accountTime
);
sb
.
append
(
", accountType="
).
append
(
accountType
);
sb
.
append
(
", accountStatus="
).
append
(
accountStatus
);
sb
.
append
(
", accountAmount="
).
append
(
accountAmount
);
sb
.
append
(
", accountDesc='"
).
append
(
accountDesc
).
append
(
'\''
);
sb
.
append
(
", accountDetail='"
).
append
(
accountDetail
).
append
(
'\''
);
sb
.
append
(
", crtTime="
).
append
(
crtTime
);
sb
.
append
(
", originalAmount="
).
append
(
originalAmount
);
sb
.
append
(
", deductAmount="
).
append
(
deductAmount
);
sb
.
append
(
", companyId="
).
append
(
companyId
);
sb
.
append
(
", oneDay='"
).
append
(
oneDay
).
append
(
'\''
);
sb
.
append
(
'}'
);
return
sb
.
toString
();
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/DailyMembersOrderStatisticsBiz.java
View file @
17e81367
...
...
@@ -81,9 +81,12 @@ public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderSta
public
DailyMembersOrderStatistics
statistics
(
Term
term
)
{
List
<
OrderAccountDTO
>
accountList
=
accountBiz
.
getOrderAccountByOrderType
(
term
);
log
.
error
(
"Members:accountList:"
+
accountList
);
if
(
CollectionUtils
.
isNotEmpty
(
accountList
))
{
DailyMembersOrderStatistics
orderStatistics
=
new
DailyMembersOrderStatistics
();
ArrayList
<
OrderAccountDetail
>
orderAccountDetails
=
getOrderAccountDetail
(
accountList
);
if
(
CollectionUtils
.
isNotEmpty
(
orderAccountDetails
))
{
//获取订单总额
BigDecimal
gmv
=
getOrderAmountTotal
(
orderAccountDetails
);
...
...
@@ -135,7 +138,7 @@ public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderSta
private
ArrayList
<
OrderAccountDetail
>
getOrderAccountDetail
(
List
<
OrderAccountDTO
>
orderAccountDTOS
)
{
ArrayList
<
OrderAccountDetail
>
arrayList
=
Lists
.
newArrayList
();
orderAccountDTOS
.
parallelStream
()
.
map
(
OrderAccount:
:
getAccountDetail
)
.
map
(
OrderAccount
DTO
:
:
getAccountDetail
)
.
forEach
(
detail
->
{
if
(
StringUtils
.
isNotBlank
(
detail
))
{
arrayList
.
add
(
JSONUtil
.
toBean
(
detail
,
OrderAccountDetail
.
class
));
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/DailyTravelOrderStatisticsBiz.java
View file @
17e81367
...
...
@@ -101,6 +101,7 @@ public class DailyTravelOrderStatisticsBiz extends BaseBiz<DailyTravelOrderStati
public
List
<
DailyTravelOrderStatistics
>
getDailyTravelOrderStatistics
(
Term
term
)
{
//获取当天所有订单账目
List
<
OrderAccountDTO
>
accountList
=
accountBiz
.
getOrderAccountByOrderType
(
term
);
log
.
error
(
"accountList:"
+
accountList
);
if
(
CollectionUtils
.
isEmpty
(
accountList
))
{
return
null
;
}
...
...
@@ -220,8 +221,8 @@ public class DailyTravelOrderStatisticsBiz extends BaseBiz<DailyTravelOrderStati
*/
private
ArrayList
<
OrderAccountDetail
>
getOrderAccountDetail
(
List
<
OrderAccountDTO
>
orderAccountDTOS
)
{
ArrayList
<
OrderAccountDetail
>
arrayList
=
Lists
.
newArrayList
();
orderAccountDTOS
.
parallelS
tream
()
.
map
(
OrderAccount:
:
getAccountDetail
)
orderAccountDTOS
.
s
tream
()
.
map
(
OrderAccount
DTO
:
:
getAccountDetail
)
.
forEach
(
detail
->
{
if
(
StringUtils
.
isNotBlank
(
detail
))
{
arrayList
.
add
(
JSONUtil
.
toBean
(
detail
,
OrderAccountDetail
.
class
));
...
...
@@ -252,7 +253,7 @@ public class DailyTravelOrderStatisticsBiz extends BaseBiz<DailyTravelOrderStati
*/
private
List
<
OrderAccountDeduction
>
gettDeductions
(
ArrayList
<
OrderAccountDetail
>
orderAccountDetails
)
{
ArrayList
<
OrderAccountDeduction
>
arrayList
=
Lists
.
newArrayList
();
orderAccountDetails
.
parallelS
tream
().
map
(
OrderAccountDetail:
:
getDeductions
).
forEach
(
e
->
arrayList
.
addAll
(
e
));
orderAccountDetails
.
s
tream
().
map
(
OrderAccountDetail:
:
getDeductions
).
forEach
(
e
->
arrayList
.
addAll
(
e
));
return
arrayList
;
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/DailyVehicleOrderStatisticsBiz.java
View file @
17e81367
...
...
@@ -67,6 +67,7 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
* @return
*/
private
BigDecimal
get
(
List
<
OrderAccountDeduction
>
list
,
List
<
Integer
>
types
)
{
return
list
.
parallelStream
()
.
filter
(
el
->
types
.
contains
(
el
.
getType
()))
.
map
(
OrderAccountDeduction:
:
getAmount
)
...
...
@@ -150,6 +151,7 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
public
List
<
DailyVehicleOrderStatistics
>
getDailyVehicleOrderRecord
(
Term
term
)
{
//获取当天所有订单账目
List
<
OrderAccountDTO
>
accountList
=
accountBiz
.
getOrderAccountByOrderType
(
term
);
log
.
error
(
"record:"
+
accountList
);
if
(
CollectionUtils
.
isEmpty
(
accountList
))
{
return
null
;
}
...
...
@@ -267,13 +269,21 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
private
void
refundAndDeductions
(
Map
<
Integer
,
List
<
OrderAccountDTO
>>
map
,
DailyVehicleOrderStatistics
orderStatistics
)
{
ArrayList
<
OrderAccountDTO
>
arrayList
=
Lists
.
newArrayList
();
for
(
Integer
key
:
map
.
keySet
())
{
if
(!
key
.
equals
(
AccountTypeEnum
.
IN_ORDER_PAY
.
getCode
()))
{
List
<
OrderAccountDTO
>
orderAccountDTOS
=
map
.
get
(
key
);
log
.
error
(
orderAccountDTOS
.
toString
());
arrayList
.
addAll
(
map
.
get
(
key
));
}
}
if
(
CollectionUtils
.
isNotEmpty
(
arrayList
))
{
ArrayList
<
OrderAccountDetail
>
orderAccountDetail
=
getOrderAccountDetail
(
arrayList
);
if
(
CollectionUtils
.
isNotEmpty
(
orderAccountDetail
))
{
log
.
error
(
"orderAccountDetail"
+
orderAccountDetail
);
//获取退还订总额
BigDecimal
returnGmv
=
getOrderAmountTotal
(
orderAccountDetail
);
orderStatistics
.
setReturnGmv
(
returnGmv
);
...
...
@@ -318,6 +328,7 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
if
(
CollectionUtils
.
isNotEmpty
(
orderAccountDTOS
))
{
ArrayList
<
OrderAccountDetail
>
orderAccountDetails
=
getOrderAccountDetail
(
orderAccountDTOS
);
if
(
CollectionUtils
.
isNotEmpty
(
orderAccountDetails
))
{
System
.
out
.
println
(
orderAccountDetails
);
//获取订单总额
BigDecimal
gmv
=
getOrderAmountTotal
(
orderAccountDetails
);
orderStatistics
.
setGmv
(
gmv
);
...
...
@@ -350,9 +361,10 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
* @return
*/
private
BigDecimal
getOrderAmountTotal
(
ArrayList
<
OrderAccountDetail
>
orderAccountDetails
)
{
return
orderAccountDetails
.
stream
()
BigDecimal
reduce
=
orderAccountDetails
.
stream
()
.
map
(
OrderAccountDetail:
:
getOrderAmount
)
.
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
return
reduce
;
}
/**
...
...
@@ -363,7 +375,7 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
*/
private
List
<
OrderAccountDeduction
>
gettDeductions
(
ArrayList
<
OrderAccountDetail
>
orderAccountDetails
)
{
ArrayList
<
OrderAccountDeduction
>
arrayList
=
Lists
.
newArrayList
();
orderAccountDetails
.
parallelS
tream
().
map
(
OrderAccountDetail:
:
getDeductions
).
forEach
(
e
->
arrayList
.
addAll
(
e
));
orderAccountDetails
.
s
tream
().
map
(
OrderAccountDetail:
:
getDeductions
).
forEach
(
e
->
arrayList
.
addAll
(
e
));
return
arrayList
;
}
...
...
@@ -375,8 +387,8 @@ public class DailyVehicleOrderStatisticsBiz extends BaseBiz<DailyVehicleOrderSta
*/
private
ArrayList
<
OrderAccountDetail
>
getOrderAccountDetail
(
List
<
OrderAccountDTO
>
orderAccountDTOS
)
{
ArrayList
<
OrderAccountDetail
>
arrayList
=
Lists
.
newArrayList
();
orderAccountDTOS
.
parallelS
tream
()
.
map
(
OrderAccount:
:
getAccountDetail
)
orderAccountDTOS
.
s
tream
()
.
map
(
OrderAccount
DTO
:
:
getAccountDetail
)
.
forEach
(
detail
->
{
if
(
StringUtils
.
isNotBlank
(
detail
))
{
arrayList
.
add
(
JSONUtil
.
toBean
(
detail
,
OrderAccountDetail
.
class
));
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderStatisticsBiz.java
View file @
17e81367
...
...
@@ -12,6 +12,7 @@ import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import
com.xxfc.platform.order.entity.*
;
import
com.xxfc.platform.order.mapper.OrderStatisticsMapper
;
import
com.xxfc.platform.order.pojo.*
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.aspectj.weaver.ast.Var
;
...
...
@@ -29,6 +30,7 @@ import java.util.stream.Collectors;
* @author Administrator
*/
@Service
@Slf4j
public
class
OrderStatisticsBiz
extends
BaseBiz
<
OrderStatisticsMapper
,
OrderStatistics
>
{
@Autowired
private
DailyVehicleOrderStatisticsBiz
vehicleBiz
;
...
...
@@ -47,7 +49,7 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
public
HomePageOrderData
getTotalOrder
(
List
<
Integer
>
companyIds
)
{
HomePageOrderData
result
=
new
HomePageOrderData
();
ArrayList
<
HomePageOrderData
>
list
=
new
ArrayList
<>();
list
.
add
(
getVehicleHomePageOrderData
(
companyIds
))
;
list
.
add
(
getVehicleHomePageOrderData
(
companyIds
));
list
.
add
(
getTourHomePageOrderData
(
companyIds
));
list
.
add
(
getMemberHomePageOrderData
(
companyIds
));
result
.
setTotalOrders
(
list
.
stream
().
map
(
HomePageOrderData:
:
getTotalOrders
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
));
...
...
@@ -58,34 +60,41 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
/**
* 会员数据
*
* @param companyIds
* @return
*/
public
HomePageOrderData
getMemberHomePageOrderData
(
List
<
Integer
>
companyIds
)
{
public
HomePageOrderData
getMemberHomePageOrderData
(
List
<
Integer
>
companyIds
)
{
//今天之前的数据
OrderStatistics
member
=
membersBiz
.
findAll
(
companyIds
);
log
.
error
(
"member:"
+
member
);
//当天的数据
OrderStatistics
sameDayData
=
getMemberOrderDataOfTheDay
(
companyIds
);
add
(
member
,
sameDayData
);
log
.
error
(
"member:sameDayData:"
+
sameDayData
);
if
(
member
!=
null
)
{
HomePageOrderData
data
=
new
HomePageOrderData
()
{{
setTotalOrders
(
member
.
getTotalGmv
());
}};
return
data
;
if
(
member
==
null
)
{
member
=
new
OrderStatistics
();
}
return
new
HomePageOrderData
();
add
(
member
,
sameDayData
);
OrderStatistics
finalMember
=
member
;
HomePageOrderData
data
=
new
HomePageOrderData
()
{{
setTotalOrders
(
finalMember
.
getTotalGmv
());
}};
return
data
;
}
/**
* 获取会员订单当天数据
*
* @param companyIds
* @return
*/
public
OrderStatistics
getMemberOrderDataOfTheDay
(
List
<
Integer
>
companyIds
)
{
OrderStatistics
member
=
new
OrderStatistics
();
DailyMembersOrderStatistics
statistics
=
membersStatisticsBiz
.
statistics
(
new
Term
(
OrderTypeEnum
.
MEMBER
.
getCode
(),
0
,
1
,
null
,
null
,
companyIds
));
if
(
statistics
==
null
)
{
if
(
statistics
==
null
)
{
return
new
OrderStatistics
();
}
...
...
@@ -96,7 +105,7 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
//加上当天数据
private
void
add
(
OrderStatistics
original
,
OrderStatistics
add
)
{
private
void
add
(
OrderStatistics
original
,
OrderStatistics
add
)
{
original
.
setTotalGmv
(
original
.
getTotalGmv
().
add
(
add
.
getTotalGmv
()));
original
.
setTotalReturnGmv
(
original
.
getTotalReturnGmv
().
add
(
add
.
getTotalReturnGmv
()));
original
.
setTotalSecurityDeposit
(
original
.
getTotalSecurityDeposit
().
add
(
add
.
getTotalSecurityDeposit
()));
...
...
@@ -110,26 +119,31 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
/**
* 旅游数据
*
* @param companyIds
* @return
*/
public
HomePageOrderData
getTourHomePageOrderData
(
List
<
Integer
>
companyIds
)
{
//今天之前的数据
OrderStatistics
tour
=
TravelBiz
.
findAll
(
companyIds
);
OrderStatistics
sameDayData
=
getTourOrderDataOfTheDay
(
companyIds
);
add
(
tour
,
sameDayData
);
if
(
tour
!=
null
)
{
HomePageOrderData
data
=
new
HomePageOrderData
()
{{
setTotalOrders
(
tour
.
getTotalGmv
().
subtract
(
tour
.
getTotalReturnGmv
()));
setAdditionalIndemnity
(
tour
.
getTotalDefaultMoney
());
}};
return
data
;
log
.
error
(
"tour:"
+
tour
);
if
(
tour
==
null
)
{
tour
=
new
OrderStatistics
();
}
return
new
HomePageOrderData
();
OrderStatistics
sameDayData
=
getTourOrderDataOfTheDay
(
companyIds
);
log
.
error
(
"tour:sameDayData:"
+
sameDayData
);
add
(
tour
,
sameDayData
);
OrderStatistics
finalTour
=
tour
;
HomePageOrderData
data
=
new
HomePageOrderData
()
{{
setTotalOrders
(
finalTour
.
getTotalGmv
().
subtract
(
finalTour
.
getTotalReturnGmv
()));
setAdditionalIndemnity
(
finalTour
.
getTotalDefaultMoney
());
}};
return
data
;
}
/**
* 获取租车订单当天数据
*
* @param companyIds
* @return
*/
...
...
@@ -142,80 +156,83 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
return
new
OrderStatistics
();
}
//加入当天旅游路线订单总和
tour
.
setTotalGmv
(
tour
.
getTotalGmv
().
add
(
record
.
parallelStream
().
map
(
DailyTravelOrderStatistics:
:
getGmv
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
)));
tour
.
setTotalGmv
(
tour
.
getTotalGmv
().
add
(
record
.
parallelStream
().
map
(
DailyTravelOrderStatistics:
:
getGmv
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
)));
//加入当天退还订单总和
tour
.
setTotalReturnGmv
(
tour
.
getTotalReturnGmv
().
add
(
record
.
parallelStream
().
map
(
DailyTravelOrderStatistics:
:
getReturnGmv
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
)));
tour
.
setTotalReturnGmv
(
tour
.
getTotalReturnGmv
().
add
(
record
.
parallelStream
().
map
(
DailyTravelOrderStatistics:
:
getReturnGmv
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
)));
//加入当违约总和
tour
.
setTotalDefaultMoney
(
tour
.
getTotalDefaultMoney
().
add
(
record
.
parallelStream
().
map
(
DailyTravelOrderStatistics:
:
getDefaultMoney
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
)));
tour
.
setTotalDefaultMoney
(
tour
.
getTotalDefaultMoney
().
add
(
record
.
parallelStream
().
map
(
DailyTravelOrderStatistics:
:
getDefaultMoney
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
)));
return
tour
;
}
/**
* 车辆数据
*
* @param companyIds
* @return
*/
public
HomePageOrderData
getVehicleHomePageOrderData
(
List
<
Integer
>
companyIds
)
{
//今天之前的数据
//今天之前的数据
OrderStatistics
vehicle
=
vehicleBiz
.
findAll
(
companyIds
);
OrderStatistics
sameDayData
=
getVehicleOrderDataOfTheDay
(
companyIds
);
add
(
vehicle
,
sameDayData
);
if
(
vehicle
!=
null
)
{
HomePageOrderData
data
=
new
HomePageOrderData
()
{{
setTotalOrders
(
vehicle
.
getTotalGmv
().
subtract
(
vehicle
.
getTotalReturnGmv
()));
setAdditionalIndemnity
(
vehicle
.
getTotalCompensation
()
.
add
(
vehicle
.
getTotalForfeit
())
.
add
(
vehicle
.
getTotalDefaultMoney
())
.
add
(
vehicle
.
getTotalOrderCompensation
()));
setTotalOutstandingDeposit
(
vehicle
.
getTotalSecurityDeposit
()
.
subtract
(
vehicle
.
getTotalRefundSecurityDeposit
())
.
subtract
(
getAdditionalIndemnity
()));
}};
return
data
;
log
.
error
(
"vehicle:"
+
vehicle
);
if
(
vehicle
==
null
)
{
vehicle
=
new
OrderStatistics
();
}
return
new
HomePageOrderData
();
OrderStatistics
sameDayData
=
getVehicleOrderDataOfTheDay
(
companyIds
);
log
.
error
(
"vehicle:sameDayData:"
+
sameDayData
);
add
(
vehicle
,
sameDayData
);
OrderStatistics
finalVehicle
=
vehicle
;
HomePageOrderData
data
=
new
HomePageOrderData
()
{{
setTotalOrders
(
finalVehicle
.
getTotalGmv
().
subtract
(
finalVehicle
.
getTotalReturnGmv
()));
setAdditionalIndemnity
(
finalVehicle
.
getTotalCompensation
()
.
add
(
finalVehicle
.
getTotalForfeit
())
.
add
(
finalVehicle
.
getTotalDefaultMoney
())
.
add
(
finalVehicle
.
getTotalOrderCompensation
()));
setTotalOutstandingDeposit
(
finalVehicle
.
getTotalSecurityDeposit
()
.
subtract
(
finalVehicle
.
getTotalRefundSecurityDeposit
())
.
subtract
(
getAdditionalIndemnity
()));
}};
return
data
;
}
/**
* 获取车来个你当天数据
*
* @param companyIds
* @return
*/
public
OrderStatistics
getVehicleOrderDataOfTheDay
(
List
<
Integer
>
companyIds
)
{
OrderStatistics
vehicle
=
new
OrderStatistics
();
//当天的数据
List
<
DailyVehicleOrderStatistics
>
record
=
vehicleStatisticsBiz
.
getDailyVehicleOrderRecord
(
new
Term
(
OrderTypeEnum
.
RENT_VEHICLE
.
getCode
(),
0
,
1
,
null
,
null
,
companyIds
));
List
<
DailyVehicleOrderStatistics
>
record
=
vehicleStatisticsBiz
.
getDailyVehicleOrderRecord
(
new
Term
(
OrderTypeEnum
.
RENT_VEHICLE
.
getCode
(),
0
,
1
,
null
,
null
,
companyIds
));
if
(
CollectionUtils
.
isEmpty
(
record
))
{
return
new
OrderStatistics
();
}
//加入当天租车订单总和
vehicle
.
setTotalGmv
(
vehicle
.
getTotalGmv
().
add
(
record
.
parallelStream
().
map
(
DailyVehicleOrderStatistics:
:
getGmv
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
)));
vehicle
.
setTotalGmv
(
vehicle
.
getTotalGmv
().
add
(
record
.
parallelStream
().
map
(
DailyVehicleOrderStatistics:
:
getGmv
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
)));
//加入当天退还订单总和
vehicle
.
setTotalReturnGmv
(
vehicle
.
getTotalReturnGmv
().
add
(
record
.
parallelStream
().
map
(
DailyVehicleOrderStatistics:
:
getReturnGmv
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
)));
vehicle
.
setTotalReturnGmv
(
vehicle
.
getTotalReturnGmv
().
add
(
record
.
parallelStream
().
map
(
DailyVehicleOrderStatistics:
:
getReturnGmv
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
)));
//加入当违约总和
vehicle
.
setTotalDefaultMoney
(
vehicle
.
getTotalDefaultMoney
().
add
(
record
.
parallelStream
().
map
(
DailyVehicleOrderStatistics:
:
getDefaultMoney
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
)));
vehicle
.
setTotalDefaultMoney
(
vehicle
.
getTotalDefaultMoney
().
add
(
record
.
parallelStream
().
map
(
DailyVehicleOrderStatistics:
:
getDefaultMoney
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
)));
//加入当天押金总和
vehicle
.
setTotalSecurityDeposit
(
vehicle
.
getTotalSecurityDeposit
().
add
(
record
.
parallelStream
().
map
(
DailyVehicleOrderStatistics:
:
getSecurityDeposit
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
)));
vehicle
.
setTotalSecurityDeposit
(
vehicle
.
getTotalSecurityDeposit
().
add
(
record
.
parallelStream
().
map
(
DailyVehicleOrderStatistics:
:
getSecurityDeposit
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
)));
//加入退还押金总和
vehicle
.
setTotalRefundSecurityDeposit
(
vehicle
.
getTotalRefundSecurityDeposit
().
add
(
record
.
parallelStream
().
map
(
DailyVehicleOrderStatistics:
:
getRefundSecurityDeposit
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
)));
vehicle
.
setTotalRefundSecurityDeposit
(
vehicle
.
getTotalRefundSecurityDeposit
().
add
(
record
.
parallelStream
().
map
(
DailyVehicleOrderStatistics:
:
getRefundSecurityDeposit
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
)));
//加入赔偿
vehicle
.
setTotalCompensation
(
vehicle
.
getTotalCompensation
().
add
(
record
.
parallelStream
().
map
(
DailyVehicleOrderStatistics:
:
getCompensation
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
)));
//加入违章
vehicle
.
setTotalForfeit
(
vehicle
.
getTotalForfeit
().
add
(
record
.
parallelStream
().
map
(
DailyVehicleOrderStatistics:
:
getForfeit
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
)));
vehicle
.
setTotalForfeit
(
vehicle
.
getTotalForfeit
().
add
(
record
.
parallelStream
().
map
(
DailyVehicleOrderStatistics:
:
getForfeit
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
)));
//损坏赔偿
vehicle
.
setTotalOrderCompensation
(
vehicle
.
getTotalOrderCompensation
().
add
(
record
.
parallelStream
().
map
(
DailyVehicleOrderStatistics:
:
getOrderCompensation
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
)));
vehicle
.
setTotalOrderCompensation
(
vehicle
.
getTotalOrderCompensation
().
add
(
record
.
parallelStream
().
map
(
DailyVehicleOrderStatistics:
:
getOrderCompensation
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
)));
return
vehicle
;
}
/**
* 会员统计列表
*
* @param memberLevels
* @param query
* @return
...
...
@@ -227,7 +244,7 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
//按每天分类
if
(
CollectionUtil
.
isEmpty
(
membersOrderList
))
{
return
PageResult
.
nowPageResult
(
query
.
getPage
(),
query
.
getLimit
(),
Lists
.
newArrayList
());
return
PageResult
.
nowPageResult
(
query
.
getPage
(),
query
.
getLimit
(),
Lists
.
newArrayList
());
}
//按每天分类
if
(
CollectionUtil
.
isEmpty
(
memberLevels
))
{
...
...
@@ -307,11 +324,10 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
//进行分页处理
return
PageResult
.
nowPageResult
(
query
.
getPage
(),
query
.
getLimit
(),
arrayList
);
return
PageResult
.
nowPageResult
(
query
.
getPage
(),
query
.
getLimit
(),
arrayList
);
}
private
void
TotalPaymentAndMemberName
(
HashMap
<
Integer
,
String
>
map
,
MembersOrder
mb
,
MembersOrderDto
mbdto
)
{
BigDecimal
totalPayment
=
BigDecimal
.
ZERO
;
List
<
Member
>
members
=
mb
.
getMembers
();
...
...
@@ -356,6 +372,6 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
amount
=
collect
.
get
(
0
).
getAmount
();
}
map
.
put
(
memberLevel
.
getName
()
+
"购买量"
,
number
);
map
.
put
(
"支付金额("
+
memberLevel
.
getName
()
+
")"
,
amount
);
map
.
put
(
"支付金额("
+
memberLevel
.
getName
()
+
")"
,
amount
);
}
}
xx-order/xx-order-server/src/main/resources/mapper/OrderAccountMapper.xml
View file @
17e81367
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.xxfc.platform.order.mapper.OrderAccountMapper"
>
<select
id=
"getOrderAccountByOrderType"
resultType=
"com.xxfc.platform.order.pojo.account.OrderAccountDTO"
>
<select
id=
"getOrderAccountByOrderType"
parameterType=
"com.xxfc.platform.order.pojo.Term"
resultType=
"com.xxfc.platform.order.pojo.account.OrderAccountDTO"
>
SELECT
<if
test=
"subdivide !=null and subdivide ==1"
>
date( FROM_UNIXTIME( a.crt_time / 1000 ) ) as oneDay,
...
...
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