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
91f4dd4b
Commit
91f4dd4b
authored
Sep 17, 2019
by
hanfeng
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master-modify-cutAmount' into dev
parents
9e3587e5
c43fa74d
Changes
18
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
908 additions
and
294 deletions
+908
-294
DailyOrderStatistics.java
.../com/xxfc/platform/order/entity/DailyOrderStatistics.java
+4
-1
DailyTravelOrderStatistics.java
...xfc/platform/order/entity/DailyTravelOrderStatistics.java
+9
-3
DailyVehicleOrderStatistics.java
...fc/platform/order/entity/DailyVehicleOrderStatistics.java
+18
-11
OrderStatistics.java
.../java/com/xxfc/platform/order/entity/OrderStatistics.java
+27
-17
HomePageOrderData.java
.../java/com/xxfc/platform/order/pojo/HomePageOrderData.java
+23
-0
OrderAccountDTO.java
...com/xxfc/platform/order/pojo/account/OrderAccountDTO.java
+18
-0
DailyMembersOrderStatisticsBiz.java
...fc/platform/order/biz/DailyMembersOrderStatisticsBiz.java
+60
-20
DailyOrderStatisticsBiz.java
.../com/xxfc/platform/order/biz/DailyOrderStatisticsBiz.java
+3
-3
DailyTravelOrderStatisticsBiz.java
...xfc/platform/order/biz/DailyTravelOrderStatisticsBiz.java
+243
-36
DailyVehicleOrderStatisticsBiz.java
...fc/platform/order/biz/DailyVehicleOrderStatisticsBiz.java
+383
-132
OrderAccountBiz.java
...ain/java/com/xxfc/platform/order/biz/OrderAccountBiz.java
+21
-0
OrderStatisticsBiz.java
.../java/com/xxfc/platform/order/biz/OrderStatisticsBiz.java
+27
-14
OrderAccountMapper.java
...va/com/xxfc/platform/order/mapper/OrderAccountMapper.java
+7
-1
OrderStatisticsController.java
...form/order/rest/background/OrderStatisticsController.java
+19
-3
DailyMembersOrderStatisticsMapper.xml
...in/resources/mapper/DailyMembersOrderStatisticsMapper.xml
+3
-14
DailyTravelOrderStatisticsMapper.xml
...ain/resources/mapper/DailyTravelOrderStatisticsMapper.xml
+5
-16
DailyVehicleOrderStatisticsMapper.xml
...in/resources/mapper/DailyVehicleOrderStatisticsMapper.xml
+9
-23
OrderAccountMapper.xml
...r-server/src/main/resources/mapper/OrderAccountMapper.xml
+29
-0
No files found.
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/DailyOrderStatistics.java
View file @
91f4dd4b
...
@@ -7,6 +7,7 @@ import org.springframework.format.annotation.DateTimeFormat;
...
@@ -7,6 +7,7 @@ import org.springframework.format.annotation.DateTimeFormat;
import
javax.persistence.Column
;
import
javax.persistence.Column
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
import
javax.persistence.Id
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.Date
;
...
@@ -15,7 +16,9 @@ import java.util.Date;
...
@@ -15,7 +16,9 @@ import java.util.Date;
* @author Administrator
* @author Administrator
*/
*/
@Data
@Data
public
class
DailyOrderStatistics
{
public
class
DailyOrderStatistics
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@Id
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
@GeneratedValue
(
generator
=
"JDBC"
)
private
Integer
id
;
private
Integer
id
;
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/DailyTravelOrderStatistics.java
View file @
91f4dd4b
...
@@ -13,9 +13,15 @@ import java.math.BigDecimal;
...
@@ -13,9 +13,15 @@ import java.math.BigDecimal;
@Data
@Data
@Table
(
name
=
"daily_travel_order_statistics"
)
@Table
(
name
=
"daily_travel_order_statistics"
)
public
class
DailyTravelOrderStatistics
extends
DailyOrderStatistics
{
public
class
DailyTravelOrderStatistics
extends
DailyOrderStatistics
{
/**
* 违约总额
*/
@Column
(
name
=
"default_money "
)
private
BigDecimal
defaultMoney
;
/**
/**
*
取消订单总
额
*
退还订单金
额
*/
*/
@Column
(
name
=
"
penal_sum
"
)
@Column
(
name
=
"
return_gmv
"
)
private
BigDecimal
penalSum
;
private
BigDecimal
returnGmv
;
}
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/DailyVehicleOrderStatistics.java
View file @
91f4dd4b
...
@@ -17,27 +17,28 @@ import java.util.Date;
...
@@ -17,27 +17,28 @@ import java.util.Date;
/**
/**
* 每日租车订单统计
* 每日租车订单统计
*
* @author Administrator
* @author Administrator
*/
*/
@Data
@Data
@Table
(
name
=
"daily_vehicle_order_statistics"
)
@Table
(
name
=
"daily_vehicle_order_statistics"
)
public
class
DailyVehicleOrderStatistics
extends
DailyOrderStatistics
{
public
class
DailyVehicleOrderStatistics
extends
DailyOrderStatistics
{
/**
/**
* 预交押金总额
* 预交押金总额
*/
*/
@Column
(
name
=
"security_deposit"
)
@Column
(
name
=
"security_deposit"
)
private
BigDecimal
securityDeposit
;
private
BigDecimal
securityDeposit
;
/**
/**
* 退还押金总额
* 退还押金总额
*/
*/
@Column
(
name
=
"refund_security_deposit"
)
@Column
(
name
=
"refund_security_deposit"
)
private
BigDecimal
refundSecurityDeposit
;
private
BigDecimal
refundSecurityDeposit
;
/**
/**
* 赔偿总额
*
损坏
赔偿总额
*/
*/
@Column
(
name
=
"compensation"
)
@Column
(
name
=
"compensation"
)
private
BigDecimal
compensation
;
private
BigDecimal
compensation
;
...
@@ -46,19 +47,25 @@ public class DailyVehicleOrderStatistics extends DailyOrderStatistics{
...
@@ -46,19 +47,25 @@ public class DailyVehicleOrderStatistics extends DailyOrderStatistics{
* 违章总额
* 违章总额
*/
*/
@Column
(
name
=
"forfeit"
)
@Column
(
name
=
"forfeit"
)
private
BigDecimal
violationMoney
;
private
BigDecimal
violationMoney
;
/**
/**
*
延期总
额
*
退还订单金
额
*/
*/
@Column
(
name
=
"
postpone
"
)
@Column
(
name
=
"
return_gmv
"
)
private
BigDecimal
postpone
;
private
BigDecimal
returnGmv
;
/**
/**
*
取消订单扣款
总额
*
违约
总额
*/
*/
@Column
(
name
=
"penal_sum"
)
@Column
(
name
=
"default_money "
)
private
BigDecimal
penalSum
;
private
BigDecimal
defaultMoney
;
/**
* 消费金总额
*/
@Column
(
name
=
"total_expenditure"
)
private
BigDecimal
totalExpenditure
;
}
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderStatistics.java
View file @
91f4dd4b
...
@@ -12,48 +12,58 @@ import java.math.BigDecimal;
...
@@ -12,48 +12,58 @@ import java.math.BigDecimal;
*/
*/
@Data
@Data
@ApiModel
(
value
=
"
月
订单统计实体"
)
@ApiModel
(
value
=
"
历史
订单统计实体"
)
public
class
OrderStatistics
{
public
class
OrderStatistics
{
/**
/**
*
月成
交总金额
*
历史
交总金额
*/
*/
@ApiModelProperty
(
value
=
"
月成
交总金额"
)
@ApiModelProperty
(
value
=
"
历史
交总金额"
)
private
BigDecimal
totalGmv
;
private
BigDecimal
totalGmv
;
/**
/**
*
月
押金总额
*
历史
押金总额
*/
*/
@ApiModelProperty
(
value
=
"
月
押金总额"
)
@ApiModelProperty
(
value
=
"
历史
押金总额"
)
private
BigDecimal
totalSecurityDeposit
;
private
BigDecimal
totalSecurityDeposit
;
/**
/**
*
月
退还押金总额
*
历史
退还押金总额
*/
*/
@ApiModelProperty
(
value
=
"
月
退还押金总额"
)
@ApiModelProperty
(
value
=
"
历史
退还押金总额"
)
private
BigDecimal
totalRefundSecurityDeposit
;
private
BigDecimal
totalRefundSecurityDeposit
;
/**
/**
*
月
赔偿总额
*
历史
赔偿总额
*/
*/
@ApiModelProperty
(
value
=
"
月
赔偿总额"
)
@ApiModelProperty
(
value
=
"
历史
赔偿总额"
)
private
BigDecimal
totalCompensation
;
private
BigDecimal
totalCompensation
;
/**
/**
*
月
违章总额
*
历史
违章总额
*/
*/
@ApiModelProperty
(
value
=
"
月
违章总额"
)
@ApiModelProperty
(
value
=
"
历史
违章总额"
)
private
BigDecimal
totalForfeit
;
private
BigDecimal
totalForfeit
;
/**
* 历史订单退款
*/
@ApiModelProperty
(
value
=
"历史订单退款"
)
private
BigDecimal
totalReturnGmv
;
/**
/**
*
月取消订单
扣款总额
*
历史延期
扣款总额
*/
*/
@ApiModelProperty
(
value
=
"
月取消订单
扣款总额"
)
@ApiModelProperty
(
value
=
"
历史延期
扣款总额"
)
private
BigDecimal
total
PenalSum
;
private
BigDecimal
total
DefaultMoney
;
/**
/**
*
月延期扣款
总额
*
历史实际消费
总额
*/
*/
@ApiModelProperty
(
value
=
"
月延期扣款
总额"
)
@ApiModelProperty
(
value
=
"
实际消费
总额"
)
private
BigDecimal
total
Postpon
e
;
private
BigDecimal
total
Expenditur
e
;
}
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/HomePageOrderData.java
0 → 100644
View file @
91f4dd4b
package
com
.
xxfc
.
platform
.
order
.
pojo
;
import
lombok.Data
;
import
java.math.BigDecimal
;
@Data
public
class
HomePageOrderData
{
/**
* 订单总额
*/
private
BigDecimal
totalOrders
;
/**
* 为退还押金总额
*/
private
BigDecimal
totalOutstandingDeposit
;
/**
* 额外赔款
*/
private
BigDecimal
additionalIndemnity
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/account/OrderAccountDTO.java
0 → 100644
View file @
91f4dd4b
package
com
.
xxfc
.
platform
.
order
.
pojo
.
account
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.xxfc.platform.order.entity.OrderAccount
;
import
lombok.Data
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
javax.persistence.Column
;
@Data
public
class
OrderAccountDTO
extends
OrderAccount
{
@Column
(
name
=
"companyId"
)
private
Integer
companyId
;
@Column
(
name
=
"oneDay"
)
private
String
oneDay
;
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/DailyMembersOrderStatisticsBiz.java
View file @
91f4dd4b
package
com
.
xxfc
.
platform
.
order
.
biz
;
package
com
.
xxfc
.
platform
.
order
.
biz
;
import
cn.hutool.json.JSONUtil
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.google.common.collect.Lists
;
import
com.xxfc.platform.order.contant.enumerate.OrderTypeEnum
;
import
com.xxfc.platform.order.entity.DailyMembersOrderStatistics
;
import
com.xxfc.platform.order.entity.DailyMembersOrderStatistics
;
import
com.xxfc.platform.order.entity.OrderAccount
;
import
com.xxfc.platform.order.entity.OrderStatistics
;
import
com.xxfc.platform.order.entity.OrderStatistics
;
import
com.xxfc.platform.order.mapper.DailyMembersOrderStatisticsMapper
;
import
com.xxfc.platform.order.mapper.DailyMembersOrderStatisticsMapper
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDTO
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDetail
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.beanutils.BeanUtils
;
import
org.apache.commons.beanutils.BeanUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
import
tk.mybatis.mapper.entity.Example
;
import
tk.mybatis.mapper.entity.Example
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -33,31 +42,31 @@ public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderSta
...
@@ -33,31 +42,31 @@ public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderSta
@Value
(
"${order.day}"
)
@Value
(
"${order.day}"
)
private
Integer
day
;
private
Integer
day
;
/**
* 总公司id默认为1
*/
private
final
Integer
OMPANY_ID
=
1
;
@Autowired
private
OrderAccountBiz
accountBiz
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
memberOrderStatistics
()
{
public
boolean
saveDailyMembersOrderRecord
()
{
try
{
try
{
List
<
OrderAccountDTO
>
accountList
=
accountBiz
.
getOrderAccountByOrderType
(
OrderTypeEnum
.
MEMBER
.
getCode
(),
day
);
Map
<
String
,
Object
>
travelGmv
=
mapper
.
getTravelGmv
(
day
);
if
(
CollectionUtils
.
isNotEmpty
(
accountList
))
{
if
(
travelGmv
.
isEmpty
())
{
DailyMembersOrderStatistics
orderStatistics
=
new
DailyMembersOrderStatistics
();
return
true
;
ArrayList
<
OrderAccountDetail
>
orderAccountDetails
=
getOrderAccountDetail
(
accountList
);
}
if
(
CollectionUtils
.
isNotEmpty
(
orderAccountDetails
))
{
//获取订单总额
BigDecimal
gmv
=
getOrderAmountTotal
(
orderAccountDetails
);
DailyMembersOrderStatistics
MembersStatistics
=
new
DailyMembersOrderStatistics
();
orderStatistics
.
setGmv
(
gmv
);
BeanUtils
.
copyProperties
(
MembersStatistics
,
travelGmv
);
orderStatistics
.
setBranchCompanyId
(
OMPANY_ID
);
orderStatistics
.
setOneDay
(
accountList
.
get
(
0
).
getOneDay
());
String
oneDay
=
MembersStatistics
.
getOneDay
();
}
insertSelectiveRe
(
orderStatistics
);
if
(
StringUtils
.
isBlank
(
oneDay
))
{
throw
new
BaseException
();
}
}
Example
exa
=
new
Example
(
DailyMembersOrderStatistics
.
class
);
exa
.
createCriteria
().
andEqualTo
(
"oneDay"
,
oneDay
);
List
<
DailyMembersOrderStatistics
>
statistics
=
selectByExample
(
exa
);
if
(
CollectionUtils
.
isEmpty
(
statistics
))
{
insertSelective
(
MembersStatistics
);
}
return
true
;
return
true
;
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
...
@@ -66,6 +75,37 @@ public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderSta
...
@@ -66,6 +75,37 @@ public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderSta
}
}
}
}
/**
* 获取押金和
*
* @param orderAccountDetails
* @return
*/
private
BigDecimal
getOrderAmountTotal
(
ArrayList
<
OrderAccountDetail
>
orderAccountDetails
)
{
return
orderAccountDetails
.
stream
()
.
map
(
OrderAccountDetail:
:
getOrderAmount
)
.
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
}
/**
* 获取所有订单详情数据
*
* @param orderAccountDTOS
* @return
*/
private
ArrayList
<
OrderAccountDetail
>
getOrderAccountDetail
(
List
<
OrderAccountDTO
>
orderAccountDTOS
)
{
ArrayList
<
OrderAccountDetail
>
arrayList
=
Lists
.
newArrayList
();
orderAccountDTOS
.
parallelStream
()
.
map
(
OrderAccount:
:
getAccountDetail
)
.
forEach
(
detail
->
{
if
(
StringUtils
.
isNotBlank
(
detail
))
{
arrayList
.
add
(
JSONUtil
.
toBean
(
detail
,
OrderAccountDetail
.
class
));
}
});
return
arrayList
;
}
@Override
@Override
public
int
insertSelectiveRe
(
DailyMembersOrderStatistics
entity
)
{
public
int
insertSelectiveRe
(
DailyMembersOrderStatistics
entity
)
{
Date
date
=
new
Date
();
Date
date
=
new
Date
();
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/DailyOrderStatisticsBiz.java
View file @
91f4dd4b
...
@@ -27,9 +27,9 @@ public class DailyOrderStatisticsBiz extends BaseBiz<DailyOrderStatisticsMapper,
...
@@ -27,9 +27,9 @@ public class DailyOrderStatisticsBiz extends BaseBiz<DailyOrderStatisticsMapper,
@Scheduled
(
cron
=
"0 0 2 * * ?"
)
@Scheduled
(
cron
=
"0 0 2 * * ?"
)
public
boolean
statisticalOrder
(){
public
boolean
statisticalOrder
(){
boolean
vehicleFlag
=
vehicleStatisticsBiz
.
StatisticsOfCarRentalOrders
();
boolean
vehicleFlag
=
vehicleStatisticsBiz
.
saveDailyVehicleOrderRecord
();
boolean
travelFlag
=
travelStatisticsBiz
.
StatisticsOfTravelOrders
();
boolean
travelFlag
=
travelStatisticsBiz
.
saveDailyTravelOrderRecord
();
boolean
membersFlag
=
membersStatisticsBiz
.
memberOrderStatistics
();
boolean
membersFlag
=
membersStatisticsBiz
.
saveDailyMembersOrderRecord
();
if
(
vehicleFlag
&&
travelFlag
&&
membersFlag
){
if
(
vehicleFlag
&&
travelFlag
&&
membersFlag
){
log
.
info
(
"----statisticalOrder:成功-----"
);
log
.
info
(
"----statisticalOrder:成功-----"
);
return
true
;
return
true
;
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/DailyTravelOrderStatisticsBiz.java
View file @
91f4dd4b
This diff is collapsed.
Click to expand it.
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/DailyVehicleOrderStatisticsBiz.java
View file @
91f4dd4b
This diff is collapsed.
Click to expand it.
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderAccountBiz.java
View file @
91f4dd4b
...
@@ -13,6 +13,7 @@ import com.xxfc.platform.order.biz.inner.OrderMsgBiz;
...
@@ -13,6 +13,7 @@ import com.xxfc.platform.order.biz.inner.OrderMsgBiz;
import
com.xxfc.platform.order.contant.enumerate.*
;
import
com.xxfc.platform.order.contant.enumerate.*
;
import
com.xxfc.platform.order.entity.*
;
import
com.xxfc.platform.order.entity.*
;
import
com.xxfc.platform.order.pojo.DedDetailDTO
;
import
com.xxfc.platform.order.pojo.DedDetailDTO
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDTO
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDeduction
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDeduction
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDetail
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDetail
;
import
com.xxfc.platform.order.pojo.mq.OrderMQDTO
;
import
com.xxfc.platform.order.pojo.mq.OrderMQDTO
;
...
@@ -353,4 +354,24 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
...
@@ -353,4 +354,24 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
log
.
error
(
"crosstown.getViolateDetail() crosstown id :"
+
crosstown
.
getId
()
+
" 转换失败"
);
log
.
error
(
"crosstown.getViolateDetail() crosstown id :"
+
crosstown
.
getId
()
+
" 转换失败"
);
}
}
}
}
/**
* 获取每日订单账目,用于统计
* @param code
* @param day
* @return
*/
public
List
<
OrderAccountDTO
>
getOrderAccountByOrderType
(
Integer
code
,
Integer
day
)
{
return
mapper
.
getOrderAccountByOrderType
(
code
,
day
);
}
}
}
\ No newline at end of file
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderStatisticsBiz.java
View file @
91f4dd4b
package
com
.
xxfc
.
platform
.
order
.
biz
;
package
com
.
xxfc
.
platform
.
order
.
biz
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.order.entity.OrderStatistics
;
import
com.xxfc.platform.order.entity.OrderStatistics
;
import
com.xxfc.platform.order.mapper.OrderStatisticsMapper
;
import
com.xxfc.platform.order.mapper.OrderStatisticsMapper
;
import
com.xxfc.platform.order.pojo.HomePageOrderData
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -26,37 +28,48 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
...
@@ -26,37 +28,48 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
@Autowired
@Autowired
private
DailyMembersOrderStatisticsBiz
membersBiz
;
private
DailyMembersOrderStatisticsBiz
membersBiz
;
public
OrderStatistics
getTotalOrder
(
Integer
companyId
)
{
public
HomePageOrderData
getTotalOrder
(
Integer
companyId
)
{
OrderStatistics
result
=
new
OrderStatistics
();
HomePageOrderData
result
=
new
HomePageOrderData
();
ArrayList
<
OrderStatistics
>
orderStatistics
=
new
ArrayList
<>();
ArrayList
<
HomePageOrderData
>
orderStatistics
=
new
ArrayList
<>();
OrderStatistics
vehicle
=
vehicleBiz
.
findAll
(
companyId
);
OrderStatistics
vehicle
=
vehicleBiz
.
findAll
(
companyId
);
if
(
vehicle
!=
null
)
{
if
(
vehicle
!=
null
)
{
orderStatistics
.
add
(
vehicle
);
HomePageOrderData
data
=
new
HomePageOrderData
()
{{
setTotalOrders
(
vehicle
.
getTotalGmv
().
subtract
(
vehicle
.
getTotalReturnGmv
()));
setAdditionalIndemnity
(
vehicle
.
getTotalCompensation
()
.
add
(
vehicle
.
getTotalForfeit
())
.
add
(
vehicle
.
getTotalDefaultMoney
())
.
add
(
vehicle
.
getTotalExpenditure
().
subtract
(
vehicle
.
getTotalGmv
().
subtract
(
vehicle
.
getTotalReturnGmv
())))
);
}};
orderStatistics
.
add
(
data
);
}
}
OrderStatistics
tour
=
TravelBiz
.
findAll
(
companyId
);
OrderStatistics
tour
=
TravelBiz
.
findAll
(
companyId
);
if
(
vehicle
!=
null
)
{
if
(
vehicle
!=
null
)
{
orderStatistics
.
add
(
tour
);
HomePageOrderData
data
=
new
HomePageOrderData
()
{{
setTotalOrders
(
tour
.
getTotalGmv
().
subtract
(
tour
.
getTotalReturnGmv
()));
setAdditionalIndemnity
(
tour
.
getTotalDefaultMoney
());
}};
orderStatistics
.
add
(
data
);
}
}
OrderStatistics
member
=
membersBiz
.
findAll
(
companyId
);
OrderStatistics
member
=
membersBiz
.
findAll
(
companyId
);
if
(
vehicle
!=
null
)
{
if
(
vehicle
!=
null
)
{
orderStatistics
.
add
(
member
);
HomePageOrderData
data
=
new
HomePageOrderData
()
{{
}
setTotalOrders
(
member
.
getTotalGmv
().
subtract
(
member
.
getTotalReturnGmv
()));
result
.
setTotalGmv
(
orderStatistics
.
stream
().
map
(
OrderStatistics:
:
getTotalGmv
).
filter
(
o
->
Objects
.
nonNull
(
o
)).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
));
}};
orderStatistics
.
add
(
data
);
}
result
.
setTotalForfeit
(
orderStatistics
.
stream
().
map
(
OrderStatistics:
:
getTotalForfeit
).
filter
(
o
->
Objects
.
nonNull
(
o
)).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
));
result
.
setTotalCompensation
(
orderStatistics
.
stream
().
map
(
OrderStatistics:
:
getTotalCompensation
).
filter
(
o
->
Objects
.
nonNull
(
o
)).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
));
result
.
setTotalRefundSecurityDeposit
(
orderStatistics
.
stream
().
map
(
OrderStatistics:
:
getTotalRefundSecurityDeposit
).
filter
(
o
->
Objects
.
nonNull
(
o
)).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
));
result
.
setTotal
SecurityDeposit
(
orderStatistics
.
stream
().
map
(
OrderStatistics:
:
getTotalSecurityDeposit
).
filter
(
o
->
Objects
.
nonNull
(
o
)).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
));
result
.
setTotal
Orders
(
orderStatistics
.
stream
().
map
(
HomePageOrderData:
:
getTotalOrders
).
filter
(
o
->
Objects
.
nonNull
(
o
)).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
));
result
.
setTotal
PenalSum
(
orderStatistics
.
stream
().
map
(
OrderStatistics:
:
getTotalPenalSum
).
filter
(
o
->
Objects
.
nonNull
(
o
)).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
));
result
.
setTotal
OutstandingDeposit
(
orderStatistics
.
stream
().
map
(
HomePageOrderData:
:
getTotalOutstandingDeposit
).
filter
(
o
->
Objects
.
nonNull
(
o
)).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
));
result
.
set
TotalPostpone
(
orderStatistics
.
stream
().
map
(
OrderStatistics:
:
getTotalPostpone
).
filter
(
o
->
Objects
.
nonNull
(
o
)).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
));
result
.
set
AdditionalIndemnity
(
orderStatistics
.
stream
().
map
(
HomePageOrderData:
:
getAdditionalIndemnity
).
filter
(
o
->
Objects
.
nonNull
(
o
)).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
));
return
result
;
return
result
;
}
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/mapper/OrderAccountMapper.java
View file @
91f4dd4b
package
com
.
xxfc
.
platform
.
order
.
mapper
;
package
com
.
xxfc
.
platform
.
order
.
mapper
;
import
com.xxfc.platform.order.entity.OrderAccount
;
import
com.xxfc.platform.order.entity.OrderAccount
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDTO
;
import
org.apache.ibatis.annotations.Param
;
import
tk.mybatis.mapper.common.Mapper
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
/**
/**
* 订单帐目
* 订单帐目
*
*
...
@@ -11,5 +16,6 @@ import tk.mybatis.mapper.common.Mapper;
...
@@ -11,5 +16,6 @@ import tk.mybatis.mapper.common.Mapper;
* @date 2019-09-09 15:51:16
* @date 2019-09-09 15:51:16
*/
*/
public
interface
OrderAccountMapper
extends
Mapper
<
OrderAccount
>
{
public
interface
OrderAccountMapper
extends
Mapper
<
OrderAccount
>
{
List
<
OrderAccountDTO
>
getOrderAccountByOrderType
(
@Param
(
"type"
)
Integer
type
,
@Param
(
"day"
)
Integer
day
);
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/background/OrderStatisticsController.java
View file @
91f4dd4b
...
@@ -12,6 +12,7 @@ import com.xxfc.platform.order.biz.DailyTravelOrderStatisticsBiz;
...
@@ -12,6 +12,7 @@ import com.xxfc.platform.order.biz.DailyTravelOrderStatisticsBiz;
import
com.xxfc.platform.order.biz.DailyVehicleOrderStatisticsBiz
;
import
com.xxfc.platform.order.biz.DailyVehicleOrderStatisticsBiz
;
import
com.xxfc.platform.order.biz.OrderStatisticsBiz
;
import
com.xxfc.platform.order.biz.OrderStatisticsBiz
;
import
com.xxfc.platform.order.entity.OrderStatistics
;
import
com.xxfc.platform.order.entity.OrderStatistics
;
import
com.xxfc.platform.order.pojo.HomePageOrderData
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -88,15 +89,28 @@ public class OrderStatisticsController extends BaseController<OrderStatisticsBiz
...
@@ -88,15 +89,28 @@ public class OrderStatisticsController extends BaseController<OrderStatisticsBiz
if
(
TYPE_VEHICLE
.
equals
(
type
))
{
if
(
TYPE_VEHICLE
.
equals
(
type
))
{
OrderStatistics
vehicle
=
vehicleBiz
.
findAll
(
companyId
);
OrderStatistics
vehicle
=
vehicleBiz
.
findAll
(
companyId
);
return
ObjectRestResponse
.
succ
(
vehicle
);
return
ObjectRestResponse
.
succ
(
new
HomePageOrderData
(){{
setTotalOrders
(
vehicle
.
getTotalGmv
().
subtract
(
vehicle
.
getTotalReturnGmv
()));
setAdditionalIndemnity
(
vehicle
.
getTotalCompensation
()
.
add
(
vehicle
.
getTotalForfeit
())
.
add
(
vehicle
.
getTotalDefaultMoney
())
.
add
(
vehicle
.
getTotalExpenditure
().
subtract
(
vehicle
.
getTotalGmv
().
subtract
(
vehicle
.
getTotalReturnGmv
())))
);
}});
}
}
if
(
TYPE_TOUR
.
equals
(
type
))
{
if
(
TYPE_TOUR
.
equals
(
type
))
{
OrderStatistics
tour
=
TravelBiz
.
findAll
(
companyId
);
OrderStatistics
tour
=
TravelBiz
.
findAll
(
companyId
);
return
ObjectRestResponse
.
succ
(
tour
);
return
ObjectRestResponse
.
succ
(
new
HomePageOrderData
(){{
setTotalOrders
(
tour
.
getTotalGmv
().
subtract
(
tour
.
getTotalReturnGmv
()));
setAdditionalIndemnity
(
tour
.
getTotalDefaultMoney
());
}});
}
}
if
(
TYPE_MEMBER
.
equals
(
type
))
{
if
(
TYPE_MEMBER
.
equals
(
type
))
{
OrderStatistics
member
=
membersBiz
.
findAll
(
companyId
);
OrderStatistics
member
=
membersBiz
.
findAll
(
companyId
);
return
ObjectRestResponse
.
succ
(
member
);
return
ObjectRestResponse
.
succ
(
new
HomePageOrderData
(){{
setTotalOrders
(
member
.
getTotalGmv
().
subtract
(
member
.
getTotalReturnGmv
()));
}});
}
}
if
(
TYPE_TOTAL
.
equals
(
type
))
{
if
(
TYPE_TOTAL
.
equals
(
type
))
{
...
@@ -110,4 +124,6 @@ public class OrderStatisticsController extends BaseController<OrderStatisticsBiz
...
@@ -110,4 +124,6 @@ public class OrderStatisticsController extends BaseController<OrderStatisticsBiz
}
}
}
}
}
}
xx-order/xx-order-server/src/main/resources/mapper/DailyMembersOrderStatisticsMapper.xml
View file @
91f4dd4b
...
@@ -17,24 +17,13 @@
...
@@ -17,24 +17,13 @@
<select
id=
"monthOrderTotal"
resultType=
"com.xxfc.platform.order.entity.OrderStatistics"
>
<select
id=
"monthOrderTotal"
resultType=
"com.xxfc.platform.order.entity.OrderStatistics"
>
SELECT
SELECT
IFNULL(
sum(gmv),0) as
totalGmv
IFNULL(
sum( gmv ), 0 ) AS
totalGmv
FROM
FROM
(
daily_vehicle_order_statistics
SELECT
ANY_VALUE(id) AS id ,
ANY_VALUE(branch_company_id) AS branch_company_id,
ANY_VALUE(one_day) AS one_day,
ANY_VALUE(gmv) AS gmv,
ANY_VALUE(crt_time) AS crt_time
FROM
daily_members_order_statistics
GROUP BY
one_day,branch_company_id
) m
WHERE
WHERE
1=1
1=1
<if
test=
"companyId != null"
>
<if
test=
"companyId != null"
>
and branch_company_id =#{companyId}
and branch_company_id =
#{companyId}
</if>
</if>
</select>
</select>
...
...
xx-order/xx-order-server/src/main/resources/mapper/DailyTravelOrderStatisticsMapper.xml
View file @
91f4dd4b
...
@@ -51,26 +51,15 @@
...
@@ -51,26 +51,15 @@
<select
id=
"monthOrderTotal"
resultType=
"com.xxfc.platform.order.entity.OrderStatistics"
>
<select
id=
"monthOrderTotal"
resultType=
"com.xxfc.platform.order.entity.OrderStatistics"
>
SELECT
SELECT
IFNULL(sum(gmv),0) as totalGmv,
IFNULL( sum( gmv ), 0 ) AS totalGmv,
IFNULL(sum(penal_sum) ,0) as totalPenalSum
IFNULL( sum( default_money ), 0 ) AS totalDefaultMoney,
IFNULL( sum( return_gmv ), 0 ) AS totalReturnGmv
FROM
FROM
(
daily_vehicle_order_statistics
SELECT
ANY_VALUE(id) AS id,
ANY_VALUE(branch_company_id) AS branch_company_id,
ANY_VALUE(one_day) AS one_day,
ANY_VALUE(gmv) AS gmv,
ANY_VALUE(penal_sum) AS penal_sum,
ANY_VALUE(crt_time) AS crt_time
FROM
daily_travel_order_statistics
GROUP BY
one_day,branch_company_id
) o
WHERE
WHERE
1=1
1=1
<if
test=
"companyId != null"
>
<if
test=
"companyId != null"
>
and branch_company_id =#{companyId}
and branch_company_id =
#{companyId}
</if>
</if>
</select>
</select>
...
...
xx-order/xx-order-server/src/main/resources/mapper/DailyVehicleOrderStatisticsMapper.xml
View file @
91f4dd4b
...
@@ -79,33 +79,19 @@
...
@@ -79,33 +79,19 @@
v.start_company_id
v.start_company_id
</select>
</select>
<!--
获取赔偿和延期JSON字符串
-->
<!-- -->
<select
id=
"monthOrderTotal"
resultType=
"com.xxfc.platform.order.entity.OrderStatistics"
>
<select
id=
"monthOrderTotal"
resultType=
"com.xxfc.platform.order.entity.OrderStatistics"
>
SELECT
SELECT
IFNULL(sum(gmv),0) as totalGmv,
IFNULL( sum( gmv ), 0 ) AS totalGmv,
(IFNULL(sum(security_deposit),0)-IFNULL(sum(refund_security_deposit) ,0)) as totalSecurityDeposit,
IFNULL( sum( security_deposit ), 0 ) AS totalSecurityDeposit,
IFNULL(sum(refund_security_deposit) ,0) as totalRefundSecurityDeposit,
IFNULL( sum( refund_security_deposit ), 0 ) AS totalRefundSecurityDeposit,
IFNULL(sum(compensation) ,0) as totalCompensation,
IFNULL( sum( forfeit ), 0 ) AS totalForfeit,
IFNULL(sum(forfeit) ,0) as totalForfeit,
IFNULL( sum( compensation ), 0 ) AS totalCompensation,
IFNULL(sum(penal_sum) ,0) as totalPenalSum,
IFNULL( sum( return_gmv ), 0 ) AS totalReturnGmv,
IFNULL(sum(postpone) ,0) as totalPostpone
IFNULL( sum( default_money ), 0 ) AS totalDefaultMoney,
FROM
IFNULL( sum( total_expenditure ), 0 ) AS totalExpenditure
(
SELECT
ANY_VALUE(id) as id,
one_day,
branch_company_id,
ANY_VALUE(gmv) AS gmv,
ANY_VALUE(security_deposit) AS security_deposit,
ANY_VALUE(refund_security_deposit) AS refund_security_deposit,
ANY_VALUE(forfeit) AS forfeit,ANY_VALUE(penal_sum) AS penal_sum,
ANY_VALUE(postpone) AS postpone,ANY_VALUE(crt_time) AS crt_time,
ANY_VALUE(compensation) AS compensation
FROM
FROM
daily_vehicle_order_statistics
daily_vehicle_order_statistics
GROUP BY
one_day,branch_company_id
) a
WHERE
WHERE
1=1
1=1
<if
test=
"companyId != null"
>
<if
test=
"companyId != null"
>
...
...
xx-order/xx-order-server/src/main/resources/mapper/OrderAccountMapper.xml
0 → 100644
View file @
91f4dd4b
<?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
date(DATE_SUB(now(),interval #{day} day)) as oneDay,
a.*
<if
test=
"type != null and type == 1"
>
, v.start_company_id as companyId
</if>
<if
test=
"type != null and type == 2"
>
, t.start_company_id as companyId
</if>
FROM
order_account a
LEFT JOIN base_order b ON a.order_id = b.id
<if
test=
"type != null and type==1"
>
LEFT JOIN order_rent_vehicle_detail v ON b.id = v.order_id
</if>
<if
test=
"type != null and type==2"
>
LEFT JOIN order_tour_detail t ON b.id = t.order_id
</if>
WHERE
a.account_status=1
AND
b.type = #{type}
AND date( FROM_UNIXTIME( a.crt_time / 1000 ) ) = date( DATE_SUB( now( ), INTERVAL #{day} DAY ) )
</select>
</mapper>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment