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
0c954fd5
Commit
0c954fd5
authored
Sep 17, 2019
by
jiaorz
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master-modify-cutAmount' into master-modify-cutAmount
parents
a4b93a66
a8248fb0
Changes
34
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
34 changed files
with
1139 additions
and
325 deletions
+1139
-325
OrderCostEnum.java
.../xxfc/platform/order/contant/enumerate/OrderCostEnum.java
+10
-5
BaseOrder.java
...c/main/java/com/xxfc/platform/order/entity/BaseOrder.java
+2
-2
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
OrderRentVehicleDetail.java
...om/xxfc/platform/order/entity/OrderRentVehicleDetail.java
+4
-0
OrderStatistics.java
.../java/com/xxfc/platform/order/entity/OrderStatistics.java
+27
-17
OrderTourDetail.java
.../java/com/xxfc/platform/order/entity/OrderTourDetail.java
+4
-0
HomePageOrderData.java
.../java/com/xxfc/platform/order/pojo/HomePageOrderData.java
+23
-0
OrderAccountDTO.java
...com/xxfc/platform/order/pojo/account/OrderAccountDTO.java
+18
-0
OrderAccountDetail.java
.../xxfc/platform/order/pojo/account/OrderAccountDetail.java
+2
-2
InProgressVO.java
.../com/xxfc/platform/order/pojo/calculate/InProgressVO.java
+5
-0
CancelNoStartVO.java
...a/com/xxfc/platform/order/pojo/price/CancelNoStartVO.java
+24
-0
CancelStartedVO.java
...a/com/xxfc/platform/order/pojo/price/CancelStartedVO.java
+48
-0
CostDetailExtend.java
.../com/xxfc/platform/order/pojo/price/CostDetailExtend.java
+19
-0
OrderPriceVO.java
...java/com/xxfc/platform/order/pojo/price/OrderPriceVO.java
+1
-1
BaseOrderBiz.java
...c/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
+3
-2
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
+30
-5
OrderStatisticsBiz.java
.../java/com/xxfc/platform/order/biz/OrderStatisticsBiz.java
+27
-14
OrderTemplateBiz.java
...in/java/com/xxfc/platform/order/biz/OrderTemplateBiz.java
+31
-0
OrderCalculateBiz.java
.../com/xxfc/platform/order/biz/inner/OrderCalculateBiz.java
+5
-1
OrderCancelBiz.java
...ava/com/xxfc/platform/order/biz/inner/OrderCancelBiz.java
+60
-3
OrderAccountMapper.java
...va/com/xxfc/platform/order/mapper/OrderAccountMapper.java
+7
-1
OrderStatisticsController.java
...form/order/rest/background/OrderStatisticsController.java
+19
-3
OrderRentVehicleService.java
.../xxfc/platform/order/service/OrderRentVehicleService.java
+3
-7
OrderTourService.java
...ava/com/xxfc/platform/order/service/OrderTourService.java
+1
-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/contant/enumerate/OrderCostEnum.java
View file @
0c954fd5
...
...
@@ -4,12 +4,17 @@ import java.util.HashMap;
import
java.util.Map
;
public
enum
OrderCostEnum
{
RentVehicle
(
1
,
"租车费用明细"
),
RENT_VEHICLE
(
"01"
,
"租车费用明细"
),
TOUR
(
"02"
,
"旅游费用明细"
),
CANCEL_NO_START
(
"03"
,
"取消违约金明细"
),
CANCEL_STARTED
(
"04"
,
"取消费用明细"
),
FINLISH_ADVANCE
(
"05"
,
"租车费用明细"
),
FINLISH_DELAY
(
"06"
,
"租车费用明细"
),
;
/**
* 编码
*/
private
Integer
code
;
private
String
code
;
/**
* 类型描述
*/
...
...
@@ -17,16 +22,16 @@ public enum OrderCostEnum {
private
static
Map
<
Integer
,
String
>
codeAndDesc
=
new
HashMap
<
Integer
,
String
>();
OrderCostEnum
(
Integer
code
,
String
desc
){
OrderCostEnum
(
String
code
,
String
desc
){
this
.
code
=
code
;
this
.
desc
=
desc
;
}
public
Integer
getCode
()
{
public
String
getCode
()
{
return
code
;
}
public
void
setCode
(
Integer
code
)
{
public
void
setCode
(
String
code
)
{
this
.
code
=
code
;
}
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/BaseOrder.java
View file @
0c954fd5
...
...
@@ -78,10 +78,10 @@ public class BaseOrder implements Serializable {
private
BigDecimal
goodsAmount
;
/**
* 订单
价格
* 订单
总金额
*/
@Column
(
name
=
"order_amount"
)
@ApiModelProperty
(
value
=
"订单
价格
"
)
@ApiModelProperty
(
value
=
"订单
总金额
"
)
private
BigDecimal
orderAmount
;
/**
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/DailyOrderStatistics.java
View file @
0c954fd5
...
...
@@ -7,6 +7,7 @@ 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
;
import
java.util.Date
;
...
...
@@ -15,7 +16,9 @@ import java.util.Date;
* @author Administrator
*/
@Data
public
class
DailyOrderStatistics
{
public
class
DailyOrderStatistics
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
private
Integer
id
;
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/DailyTravelOrderStatistics.java
View file @
0c954fd5
...
...
@@ -13,9 +13,15 @@ import java.math.BigDecimal;
@Data
@Table
(
name
=
"daily_travel_order_statistics"
)
public
class
DailyTravelOrderStatistics
extends
DailyOrderStatistics
{
/**
* 违约总额
*/
@Column
(
name
=
"default_money "
)
private
BigDecimal
defaultMoney
;
/**
*
取消订单总
额
*
退还订单金
额
*/
@Column
(
name
=
"
penal_sum
"
)
private
BigDecimal
penalSum
;
@Column
(
name
=
"
return_gmv
"
)
private
BigDecimal
returnGmv
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/DailyVehicleOrderStatistics.java
View file @
0c954fd5
...
...
@@ -17,27 +17,28 @@ import java.util.Date;
/**
* 每日租车订单统计
*
* @author Administrator
*/
@Data
@Table
(
name
=
"daily_vehicle_order_statistics"
)
public
class
DailyVehicleOrderStatistics
extends
DailyOrderStatistics
{
public
class
DailyVehicleOrderStatistics
extends
DailyOrderStatistics
{
/**
* 预交押金总额
*/
@Column
(
name
=
"security_deposit"
)
private
BigDecimal
securityDeposit
;
private
BigDecimal
securityDeposit
;
/**
* 退还押金总额
*/
@Column
(
name
=
"refund_security_deposit"
)
private
BigDecimal
refundSecurityDeposit
;
private
BigDecimal
refundSecurityDeposit
;
/**
* 赔偿总额
*
损坏
赔偿总额
*/
@Column
(
name
=
"compensation"
)
private
BigDecimal
compensation
;
...
...
@@ -46,19 +47,25 @@ public class DailyVehicleOrderStatistics extends DailyOrderStatistics{
* 违章总额
*/
@Column
(
name
=
"forfeit"
)
private
BigDecimal
violationMoney
;
private
BigDecimal
violationMoney
;
/**
*
延期总
额
*
退还订单金
额
*/
@Column
(
name
=
"
postpone
"
)
private
BigDecimal
postpone
;
@Column
(
name
=
"
return_gmv
"
)
private
BigDecimal
returnGmv
;
/**
*
取消订单扣款
总额
*
违约
总额
*/
@Column
(
name
=
"penal_sum"
)
private
BigDecimal
penalSum
;
@Column
(
name
=
"default_money "
)
private
BigDecimal
defaultMoney
;
/**
* 消费金总额
*/
@Column
(
name
=
"total_expenditure"
)
private
BigDecimal
totalExpenditure
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderRentVehicleDetail.java
View file @
0c954fd5
...
...
@@ -323,4 +323,8 @@ public class OrderRentVehicleDetail implements Serializable {
@Column
(
name
=
"used_day"
)
Integer
usedDay
;
@Column
(
name
=
"cost_detail_extend"
)
@ApiModelProperty
(
value
=
"费用其他明细 type:1--取消违约金;2--取消费用明细;3--提前还车费用明细;4--延期还车费用明细"
)
private
String
costDetailExtend
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderStatistics.java
View file @
0c954fd5
...
...
@@ -12,48 +12,58 @@ import java.math.BigDecimal;
*/
@Data
@ApiModel
(
value
=
"
月
订单统计实体"
)
@ApiModel
(
value
=
"
历史
订单统计实体"
)
public
class
OrderStatistics
{
/**
*
月成
交总金额
*
历史
交总金额
*/
@ApiModelProperty
(
value
=
"
月成
交总金额"
)
@ApiModelProperty
(
value
=
"
历史
交总金额"
)
private
BigDecimal
totalGmv
;
/**
*
月
押金总额
*
历史
押金总额
*/
@ApiModelProperty
(
value
=
"
月
押金总额"
)
@ApiModelProperty
(
value
=
"
历史
押金总额"
)
private
BigDecimal
totalSecurityDeposit
;
/**
*
月
退还押金总额
*
历史
退还押金总额
*/
@ApiModelProperty
(
value
=
"
月
退还押金总额"
)
@ApiModelProperty
(
value
=
"
历史
退还押金总额"
)
private
BigDecimal
totalRefundSecurityDeposit
;
/**
*
月
赔偿总额
*
历史
赔偿总额
*/
@ApiModelProperty
(
value
=
"
月
赔偿总额"
)
@ApiModelProperty
(
value
=
"
历史
赔偿总额"
)
private
BigDecimal
totalCompensation
;
/**
*
月
违章总额
*
历史
违章总额
*/
@ApiModelProperty
(
value
=
"
月
违章总额"
)
@ApiModelProperty
(
value
=
"
历史
违章总额"
)
private
BigDecimal
totalForfeit
;
/**
* 历史订单退款
*/
@ApiModelProperty
(
value
=
"历史订单退款"
)
private
BigDecimal
totalReturnGmv
;
/**
*
月取消订单
扣款总额
*
历史延期
扣款总额
*/
@ApiModelProperty
(
value
=
"
月取消订单
扣款总额"
)
private
BigDecimal
total
PenalSum
;
@ApiModelProperty
(
value
=
"
历史延期
扣款总额"
)
private
BigDecimal
total
DefaultMoney
;
/**
*
月延期扣款
总额
*
历史实际消费
总额
*/
@ApiModelProperty
(
value
=
"
月延期扣款
总额"
)
private
BigDecimal
total
Postpon
e
;
@ApiModelProperty
(
value
=
"
实际消费
总额"
)
private
BigDecimal
total
Expenditur
e
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderTourDetail.java
View file @
0c954fd5
...
...
@@ -245,6 +245,10 @@ public class OrderTourDetail implements Serializable {
@ApiModelProperty
(
value
=
"是否省外 1--省外;0--省内"
)
private
Integer
isOutside
;
@Column
(
name
=
"cost_detail_extend"
)
@ApiModelProperty
(
value
=
"费用其他明细 type:1--取消违约金;2--取消费用明细;3--提前还车费用明细;4--延期还车费用明细"
)
private
String
costDetailExtend
;
@Transient
private
List
<
TourUser
>
userVoList
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/HomePageOrderData.java
0 → 100644
View file @
0c954fd5
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 @
0c954fd5
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-api/src/main/java/com/xxfc/platform/order/pojo/account/OrderAccountDetail.java
View file @
0c954fd5
...
...
@@ -9,7 +9,7 @@ import java.util.List;
@Data
public
class
OrderAccountDetail
{
/**
* 实际返回订单款
* 实际返回订单款
账单的的orderAmount 对应的是 订单的商品金额
*/
BigDecimal
orderAmount
;
/**
...
...
@@ -17,7 +17,7 @@ public class OrderAccountDetail {
*/
BigDecimal
depositAmount
;
/**
* 原来要返回的订单款
* 原来要返回的订单款
账单的的orderAmount 对应的是 订单的商品金额
*/
BigDecimal
originOrderAmount
;
/**
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/calculate/InProgressVO.java
View file @
0c954fd5
...
...
@@ -23,6 +23,11 @@ public class InProgressVO {
*/
BigDecimal
extraAmount
=
BigDecimal
.
ZERO
;
/**
* 实际消费金额
*/
BigDecimal
consumeAmount
=
BigDecimal
.
ZERO
;
/**
* 已使用天数
*/
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/price/CancelNoStartVO.java
0 → 100644
View file @
0c954fd5
package
com
.
xxfc
.
platform
.
order
.
pojo
.
price
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.math.BigDecimal
;
@Data
public
class
CancelNoStartVO
extends
CostDetailExtend
{
/**
* 违约金描述
*/
private
String
violateDesc
;
/**
* 违约金额
*/
private
BigDecimal
violateAmount
=
BigDecimal
.
ZERO
;
public
CancelNoStartVO
()
{
this
.
type
=
CANCEL_NO_START
;
}
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/price/CancelStartedVO.java
0 → 100644
View file @
0c954fd5
package
com
.
xxfc
.
platform
.
order
.
pojo
.
price
;
import
lombok.Data
;
import
java.math.BigDecimal
;
@Data
public
class
CancelStartedVO
extends
CostDetailExtend
{
/**
* 消费金额(实际计费)
*/
private
BigDecimal
consumeAmount
;
/**
* 租车单价
*/
private
BigDecimal
modelAmount
;
/**
* 使用天数
*/
private
Integer
usedDayNum
;
/**
* 使用金额
*/
private
BigDecimal
usedAmount
;
/**
* 使用免费天数
*/
private
Integer
usedfreeDayNum
;
/**
* 使用免费金额
*/
private
BigDecimal
usedFreeAmount
;
/**
* 违约金描述
*/
private
String
violateDesc
;
/**
* 违约金金额
*/
private
BigDecimal
violateAmount
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/price/CostDetailExtend.java
0 → 100644
View file @
0c954fd5
package
com
.
xxfc
.
platform
.
order
.
pojo
.
price
;
import
lombok.Data
;
@Data
public
class
CostDetailExtend
{
public
static
final
int
CANCEL_NO_START
=
1
;
public
static
final
int
CANCEL_STARTED
=
2
;
public
static
final
int
FINLISH_ADVANCE
=
3
;
public
static
final
int
FINLISH_DELAY
=
4
;
private
String
costDetail
;
/**
* type:1--取消违约金;2--取消费用明细;3--提前还车费用明细;4--延期还车费用明细
*/
protected
Integer
type
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/price/OrderPriceVO.java
View file @
0c954fd5
...
...
@@ -7,7 +7,7 @@ import java.math.BigDecimal;
@Data
public
class
OrderPriceVO
{
@ApiModelProperty
(
value
=
"订单
价格
"
)
@ApiModelProperty
(
value
=
"订单
总金额
"
)
public
BigDecimal
orderAmount
;
@ApiModelProperty
(
value
=
"商品价格"
)
public
BigDecimal
goodsAmount
;
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
View file @
0c954fd5
...
...
@@ -435,8 +435,9 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
//订单账款类
OrderAccountDetail
oad
=
new
OrderAccountDetail
();
oad
.
setOriginOrderAmount
(
baseOrder
.
getRealAmount
());
oad
.
setOrderAmount
(
baseOrder
.
getRealAmount
());
oad
.
setOriginOrderAmount
(
baseOrder
.
getGoodsAmount
());
//账单的的orderAmount 对应 的是商品金额
oad
.
setOrderAmount
(
baseOrder
.
getGoodsAmount
());
//如果是会员订单,则触发会员效益
if
(
OrderTypeEnum
.
MEMBER
.
getCode
().
equals
(
baseOrder
.
getType
()))
{
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/DailyMembersOrderStatisticsBiz.java
View file @
0c954fd5
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.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.OrderAccount
;
import
com.xxfc.platform.order.entity.OrderStatistics
;
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
org.apache.commons.beanutils.BeanUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
import
tk.mybatis.mapper.entity.Example
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -33,31 +42,31 @@ public class DailyMembersOrderStatisticsBiz extends BaseBiz<DailyMembersOrderSta
@Value
(
"${order.day}"
)
private
Integer
day
;
/**
* 总公司id默认为1
*/
private
final
Integer
OMPANY_ID
=
1
;
@Autowired
private
OrderAccountBiz
accountBiz
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
memberOrderStatistics
()
{
public
boolean
saveDailyMembersOrderRecord
()
{
try
{
List
<
OrderAccountDTO
>
accountList
=
accountBiz
.
getOrderAccountByOrderType
(
OrderTypeEnum
.
MEMBER
.
getCode
(),
day
);
Map
<
String
,
Object
>
travelGmv
=
mapper
.
getTravelGmv
(
day
);
if
(
travelGmv
.
isEmpty
())
{
return
true
;
}
DailyMembersOrderStatistics
MembersStatistics
=
new
DailyMembersOrderStatistics
();
BeanUtils
.
copyProperties
(
MembersStatistics
,
travelGmv
);
String
oneDay
=
MembersStatistics
.
getOneDay
();
if
(
StringUtils
.
isBlank
(
oneDay
))
{
throw
new
BaseException
();
if
(
CollectionUtils
.
isNotEmpty
(
accountList
))
{
DailyMembersOrderStatistics
orderStatistics
=
new
DailyMembersOrderStatistics
();
ArrayList
<
OrderAccountDetail
>
orderAccountDetails
=
getOrderAccountDetail
(
accountList
);
if
(
CollectionUtils
.
isNotEmpty
(
orderAccountDetails
))
{
//获取订单总额
BigDecimal
gmv
=
getOrderAmountTotal
(
orderAccountDetails
);
orderStatistics
.
setGmv
(
gmv
);
orderStatistics
.
setBranchCompanyId
(
OMPANY_ID
);
orderStatistics
.
setOneDay
(
accountList
.
get
(
0
).
getOneDay
());
}
insertSelectiveRe
(
orderStatistics
);
}
Example
exa
=
new
Example
(
DailyMembersOrderStatistics
.
class
);
exa
.
createCriteria
().
andEqualTo
(
"oneDay"
,
oneDay
);
List
<
DailyMembersOrderStatistics
>
statistics
=
selectByExample
(
exa
);
if
(
CollectionUtils
.
isEmpty
(
statistics
))
{
insertSelective
(
MembersStatistics
);
}
return
true
;
}
catch
(
Exception
e
)
{
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
...
...
@@ -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
public
int
insertSelectiveRe
(
DailyMembersOrderStatistics
entity
)
{
Date
date
=
new
Date
();
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/DailyOrderStatisticsBiz.java
View file @
0c954fd5
...
...
@@ -27,9 +27,9 @@ public class DailyOrderStatisticsBiz extends BaseBiz<DailyOrderStatisticsMapper,
@Scheduled
(
cron
=
"0 0 2 * * ?"
)
public
boolean
statisticalOrder
(){
boolean
vehicleFlag
=
vehicleStatisticsBiz
.
StatisticsOfCarRentalOrders
();
boolean
travelFlag
=
travelStatisticsBiz
.
StatisticsOfTravelOrders
();
boolean
membersFlag
=
membersStatisticsBiz
.
memberOrderStatistics
();
boolean
vehicleFlag
=
vehicleStatisticsBiz
.
saveDailyVehicleOrderRecord
();
boolean
travelFlag
=
travelStatisticsBiz
.
saveDailyTravelOrderRecord
();
boolean
membersFlag
=
membersStatisticsBiz
.
saveDailyMembersOrderRecord
();
if
(
vehicleFlag
&&
travelFlag
&&
membersFlag
){
log
.
info
(
"----statisticalOrder:成功-----"
);
return
true
;
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/DailyTravelOrderStatisticsBiz.java
View file @
0c954fd5
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 @
0c954fd5
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 @
0c954fd5
...
...
@@ -13,6 +13,7 @@ import com.xxfc.platform.order.biz.inner.OrderMsgBiz;
import
com.xxfc.platform.order.contant.enumerate.*
;
import
com.xxfc.platform.order.entity.*
;
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.OrderAccountDetail
;
import
com.xxfc.platform.order.pojo.mq.OrderMQDTO
;
...
...
@@ -85,17 +86,19 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
* @param timeLag 与开始时间的时间差
* @param dicParentKey
*/
public
BigDecimal
rentRefundProcessCancel
(
BaseOrder
baseOrder
,
BigDecimal
mainItemRealAmount
,
Long
timeLag
,
String
dicParentKey
,
BigDecimal
depositAmount
,
BigDecimal
originalDeductAmount
)
{
public
BigDecimal
rentRefundProcessCancel
(
BaseOrder
baseOrder
,
BigDecimal
mainItemRealAmount
,
Long
timeLag
,
String
dicParentKey
,
BigDecimal
depositAmount
,
BigDecimal
originalDeductAmount
,
OrderAccountDetail
oad
)
{
//计算退款金额
//商品价格 - 优惠券减免的价格
BigDecimal
originalRefundAmount
=
BigDecimal
.
ZERO
.
add
(
mainItemRealAmount
);
StringBuilder
refundDescBuilder
=
new
StringBuilder
(
"取消订单退款:"
);
OrderAccountDetail
oad
=
new
OrderAccountDetail
();
if
(
null
==
oad
)
{
oad
=
new
OrderAccountDetail
();
}
BigDecimal
refundMainGoodsAmount
=
calculateRefund
(
originalRefundAmount
,
timeLag
,
dicParentKey
,
refundDescBuilder
,
oad
);
refundMainGoodsAmount
=
refundMainGoodsAmount
.
setScale
(
2
,
RoundingMode
.
HALF_UP
);
//退款金额 = 主要商品退款 + (其他商品退款) 即--> 主要商品退款 + (
订单
总商品款 - 主要商品款)
oad
.
setOrderAmount
(
refundMainGoodsAmount
.
add
(
baseOrder
.
get
Order
Amount
().
subtract
(
mainItemRealAmount
)));
//退款金额 = 主要商品退款 + (其他商品退款) 即--> 主要商品退款 + (总商品款 - 主要商品款)
oad
.
setOrderAmount
(
refundMainGoodsAmount
.
add
(
baseOrder
.
get
Goods
Amount
().
subtract
(
mainItemRealAmount
)));
BigDecimal
refundAmount
=
oad
.
getOrderAmount
();
// 押金
...
...
@@ -187,7 +190,9 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
set
(
"ga"
,
goodsAmount
);
}})).
toString
());
refundDescBuilder
=
refundDescBuilder
.
insert
(
0
,
names
[
1
]+
","
);
orderAccountDetail
.
getDeductions
().
add
(
initDeduction
(
goodsAmount
.
subtract
(
refundGoodsAmount
),
names
[
1
],
DeductionTypeEnum
.
VIOLATE_CANCEL
,
OrderAccountDeduction
.
ORIGIN_DEPOSIT
));
if
(
goodsAmount
.
subtract
(
refundGoodsAmount
).
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
orderAccountDetail
.
getDeductions
().
add
(
initDeduction
(
goodsAmount
.
subtract
(
refundGoodsAmount
),
names
[
1
],
DeductionTypeEnum
.
VIOLATE_CANCEL
,
OrderAccountDeduction
.
ORIGIN_DEPOSIT
));
}
break
;
}
}
...
...
@@ -353,4 +358,24 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
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 @
0c954fd5
package
com
.
xxfc
.
platform
.
order
.
biz
;
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.mapper.OrderStatisticsMapper
;
import
com.xxfc.platform.order.pojo.HomePageOrderData
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -26,37 +28,48 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
@Autowired
private
DailyMembersOrderStatisticsBiz
membersBiz
;
public
OrderStatistics
getTotalOrder
(
Integer
companyId
)
{
OrderStatistics
result
=
new
OrderStatistics
();
ArrayList
<
OrderStatistics
>
orderStatistics
=
new
ArrayList
<>();
public
HomePageOrderData
getTotalOrder
(
Integer
companyId
)
{
HomePageOrderData
result
=
new
HomePageOrderData
();
ArrayList
<
HomePageOrderData
>
orderStatistics
=
new
ArrayList
<>();
OrderStatistics
vehicle
=
vehicleBiz
.
findAll
(
companyId
);
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
);
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
);
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
;
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderTemplateBiz.java
View file @
0c954fd5
...
...
@@ -6,11 +6,16 @@ import cn.hutool.extra.template.TemplateEngine;
import
cn.hutool.extra.template.TemplateUtil
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.google.common.collect.Maps
;
import
com.xxfc.platform.order.contant.enumerate.OrderCostEnum
;
import
com.xxfc.platform.order.entity.OrderTemplate
;
import
com.xxfc.platform.order.mapper.OrderTemplateMapper
;
import
com.xxfc.platform.order.pojo.price.CancelNoStartVO
;
import
com.xxfc.platform.order.pojo.price.CancelStartedVO
;
import
com.xxfc.platform.order.pojo.price.CostDetailExtend
;
import
org.springframework.stereotype.Service
;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
...
...
@@ -58,6 +63,32 @@ public class OrderTemplateBiz extends BaseBiz<OrderTemplateMapper,OrderTemplate>
return
template
.
render
(
map
);
}
public
OrderTemplate
selectByCode
(
String
code
)
{
return
selectOne
(
new
OrderTemplate
(){{
setCode
(
code
);
}});
}
/**
* 计算费用明细
* @param vo
* @return
*/
public
void
handleCostDetailExtend
(
CancelNoStartVO
vo
)
{
OrderTemplate
template
=
selectByCode
(
OrderCostEnum
.
CANCEL_NO_START
.
getCode
());
vo
.
setCostDetail
(
result
(
template
.
getTemplate
(),
Dict
.
parse
(
vo
)));
}
/**
* 取消费用明细
* @param vo
* @return
*/
public
void
handleCostDetailExtend
(
CancelStartedVO
vo
)
{
OrderTemplate
template
=
selectByCode
(
OrderCostEnum
.
CANCEL_STARTED
.
getCode
());
vo
.
setCostDetail
(
result
(
template
.
getTemplate
(),
Dict
.
parse
(
vo
)));
}
public
static
void
main
(
String
[]
args
)
{
String
tempStr
=
"{\"key\":\"费用明细\", \"val\":\"\", \"consumeAmount\":\"${consumeAmount}\",\"children\":[${children}]}"
;
Map
map
=
Maps
.
newHashMap
();
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/inner/OrderCalculateBiz.java
View file @
0c954fd5
package
com
.
xxfc
.
platform
.
order
.
biz
.
inner
;
import
cn.hutool.core.lang.Dict
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.xxfc.platform.activity.entity.Coupon
;
import
com.xxfc.platform.activity.feign.ActivityFeign
;
...
...
@@ -12,6 +13,7 @@ import com.xxfc.platform.order.entity.*;
import
com.xxfc.platform.order.pojo.account.OrderAccountDeduction
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDetail
;
import
com.xxfc.platform.order.pojo.calculate.InProgressVO
;
import
com.xxfc.platform.order.pojo.price.RentVehiclePriceVO
;
import
com.xxfc.platform.universal.feign.ThirdFeign
;
import
com.xxfc.platform.vehicle.feign.VehicleFeign
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -20,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
import
java.util.HashMap
;
import
java.util.List
;
/**
...
...
@@ -59,6 +62,7 @@ public class OrderCalculateBiz {
public
InProgressVO
inProgressCalculate
(
BaseOrder
baseOrder
,
OrderItem
orderItem
,
Integer
freeDays
,
Integer
useDays
,
OrderAccountDetail
oad
)
{
BigDecimal
refundAmount
=
BigDecimal
.
ZERO
;
BigDecimal
consumeAmount
=
BigDecimal
.
ZERO
;
InProgressVO
inProgressVO
=
new
InProgressVO
();
inProgressVO
.
setUsedDays
(
useDays
);
inProgressVO
.
setUsedfreeDays
(
freeDays
);
...
...
@@ -80,7 +84,7 @@ public class OrderCalculateBiz {
//消费天数
Integer
consumeDays
=
0
-
backFreeDays
;
//计算使用天数的费用
BigDecimal
consumeAmount
=
orderItem
.
getUnitPrice
().
multiply
(
new
BigDecimal
(
consumeDays
+
""
));
consumeAmount
=
orderItem
.
getUnitPrice
().
multiply
(
new
BigDecimal
(
consumeDays
+
""
));
List
<
BigDecimal
>
couponAmounts
=
Lists
.
newArrayList
();
for
(
String
tickerNo
:
baseOrder
.
getCouponTickerNos
().
split
(
","
))
{
BigDecimal
couponAmount
=
activityFeign
.
use
(
baseOrder
.
getUserId
(),
Lists
.
newArrayList
(
tickerNo
),
baseOrder
.
getNo
(),
Coupon
.
CHANNEL_RENT
,
consumeAmount
,
ActivityFeign
.
TYPE_CHECK
);
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/inner/OrderCancelBiz.java
View file @
0c954fd5
...
...
@@ -11,9 +11,12 @@ import com.xxfc.platform.activity.feign.ActivityFeign;
import
com.xxfc.platform.order.biz.*
;
import
com.xxfc.platform.order.contant.enumerate.*
;
import
com.xxfc.platform.order.entity.*
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDeduction
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDetail
;
import
com.xxfc.platform.order.pojo.calculate.InProgressVO
;
import
com.xxfc.platform.order.pojo.mq.OrderMQDTO
;
import
com.xxfc.platform.order.pojo.price.CancelNoStartVO
;
import
com.xxfc.platform.order.pojo.price.CancelStartedVO
;
import
com.xxfc.platform.tour.feign.TourFeign
;
import
com.xxfc.platform.universal.feign.ThirdFeign
;
import
com.xxfc.platform.vehicle.common.RestResponse
;
...
...
@@ -67,6 +70,9 @@ public class OrderCancelBiz {
@Autowired
OrderAccountBiz
orderAccountBiz
;
@Autowired
OrderTemplateBiz
orderTemplateBiz
;
@Autowired
UserFeign
userFeign
;
...
...
@@ -152,6 +158,25 @@ public class OrderCancelBiz {
//退款子流程: 订单基础,退款描述,退款金额
orderAccountBiz
.
refundSubProcess
(
baseOrder
,
""
,
baseOrder
.
getRealAmount
().
subtract
(
orvd
.
getDeposit
()),
oad
.
getDepositAmount
().
add
(
oad
.
getOrderAmount
()),
AccountTypeEnum
.
OUT_ORDER_FUND
.
getCode
(),
RefundStatusEnum
.
ALL
.
getCode
(),
oad
);
//如果有扣款项,则生成额外的费用明细
CancelStartedVO
csv
=
new
CancelStartedVO
();
csv
.
setConsumeAmount
(
inProgressVO
.
getConsumeAmount
());
csv
.
setModelAmount
(
orderItem
.
getUnitPrice
());
csv
.
setUsedAmount
(
inProgressVO
.
getUsedAmount
());
csv
.
setUsedDayNum
(
inProgressVO
.
getUsedDays
());
csv
.
setUsedFreeAmount
(
inProgressVO
.
getUsedFreeDaysAmount
());
if
(
oad
.
getDeductions
().
size
()
>
0
)
{
for
(
OrderAccountDeduction
deduction
:
oad
.
getDeductions
())
{
if
(
DeductionTypeEnum
.
VIOLATE_CANCEL
.
getCode
().
equals
(
deduction
.
getType
()))
{
csv
.
setViolateAmount
(
deduction
.
getAmount
());
csv
.
setViolateDesc
(
deduction
.
getName
());
}
}
}
orderTemplateBiz
.
handleCostDetailExtend
(
csv
);
orvd
.
setCostDetailExtend
(
csv
.
getCostDetail
());
orderRentVehicleBiz
.
updateSelectiveByIdRe
(
orvd
);
}
else
{
//没到出车时间
//判断是否使用免费天数,并且进行扣款
...
...
@@ -165,7 +190,22 @@ public class OrderCancelBiz {
}
}
//退款流程
orderAccountBiz
.
rentRefundProcessCancel
(
hasUpdateOrder
,
orderItem
.
getRealAmount
(),
timeLag
,
APP_ORDER
+
"_"
+
RENT_REFUND
,
orvd
.
getDeposit
(),
freeDayAmount
);
orderAccountBiz
.
rentRefundProcessCancel
(
hasUpdateOrder
,
orderItem
.
getRealAmount
(),
timeLag
,
APP_ORDER
+
"_"
+
RENT_REFUND
,
orvd
.
getDeposit
(),
freeDayAmount
,
null
);
//如果有扣款项,则生成额外的费用明细
if
(
oad
.
getDeductions
().
size
()
>
0
)
{
for
(
OrderAccountDeduction
deduction
:
oad
.
getDeductions
())
{
if
(
DeductionTypeEnum
.
VIOLATE_CANCEL
.
getCode
().
equals
(
deduction
.
getType
()))
{
CancelNoStartVO
cnsv
=
new
CancelNoStartVO
(){{
setViolateAmount
(
deduction
.
getAmount
());
setViolateDesc
(
deduction
.
getName
());
}};
orderTemplateBiz
.
handleCostDetailExtend
(
cnsv
);
orvd
.
setCostDetailExtend
(
cnsv
.
getCostDetail
());
orderRentVehicleBiz
.
updateSelectiveByIdRe
(
orvd
);
}
}
}
}
//已付款的取消订单发送消息
...
...
@@ -199,8 +239,24 @@ public class OrderCancelBiz {
if
(
SYS_TRUE
.
equals
(
otd
.
getIsOutside
()))
{
key
=
TOUR_REFUND
;
}
//退款流程
orderAccountBiz
.
rentRefundProcessCancel
(
hasUpdateOrder
,
adultItem
.
getRealAmount
().
add
(
childItem
.
getRealAmount
()),
timeLag
,
APP_ORDER
+
"_"
+
key
,
BigDecimal
.
ZERO
,
BigDecimal
.
ZERO
);
orderAccountBiz
.
rentRefundProcessCancel
(
hasUpdateOrder
,
adultItem
.
getRealAmount
().
add
(
childItem
.
getRealAmount
()),
timeLag
,
APP_ORDER
+
"_"
+
key
,
BigDecimal
.
ZERO
,
BigDecimal
.
ZERO
,
oad
);
//如果有扣款项,则生成额外的费用明细
if
(
oad
.
getDeductions
().
size
()
>
0
)
{
for
(
OrderAccountDeduction
deduction
:
oad
.
getDeductions
())
{
if
(
DeductionTypeEnum
.
VIOLATE_CANCEL
.
getCode
().
equals
(
deduction
.
getType
()))
{
CancelNoStartVO
cnsv
=
new
CancelNoStartVO
(){{
setViolateAmount
(
deduction
.
getAmount
());
setViolateDesc
(
deduction
.
getName
());
}};
orderTemplateBiz
.
handleCostDetailExtend
(
cnsv
);
otd
.
setCostDetailExtend
(
cnsv
.
getCostDetail
());
orderTourDetailBiz
.
updateSelectiveByIdRe
(
otd
);
}
}
}
//站点总人数减少
tourFeign
.
updateTourGoodPersonNum
(
otd
.
getVerificationId
(),
TourFeign
.
TOTAL_PERSON
,
(
otd
.
getTotalNumber
()
*
-
1
));
...
...
@@ -213,10 +269,11 @@ public class OrderCancelBiz {
setOrderId
(
baseOrder
.
getId
());
}});
//取消租车预定
//取消租车预定
和 记录生成额外的费用明细
//已支付,并且是待出行状态,取消预约
if
(
OrderStatusEnum
.
ORDER_TOSTART
.
getCode
().
equals
(
baseOrder
.
getStatus
())
&&
SYS_TRUE
.
equals
(
baseOrder
.
getHasPay
())){
vehicleFeign
.
rentUnbookVehicle
(
orvd
.
getBookRecordId
());
}
else
{
//未支付,拒绝之前的预约
RestResponse
<
Integer
>
restResponse
=
vehicleFeign
.
rentRejectVehicleBooking
(
orvd
.
getBookRecordId
());
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/mapper/OrderAccountMapper.java
View file @
0c954fd5
package
com
.
xxfc
.
platform
.
order
.
mapper
;
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
java.util.List
;
/**
* 订单帐目
*
...
...
@@ -11,5 +16,6 @@ import tk.mybatis.mapper.common.Mapper;
* @date 2019-09-09 15:51:16
*/
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 @
0c954fd5
...
...
@@ -12,6 +12,7 @@ import com.xxfc.platform.order.biz.DailyTravelOrderStatisticsBiz;
import
com.xxfc.platform.order.biz.DailyVehicleOrderStatisticsBiz
;
import
com.xxfc.platform.order.biz.OrderStatisticsBiz
;
import
com.xxfc.platform.order.entity.OrderStatistics
;
import
com.xxfc.platform.order.pojo.HomePageOrderData
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -88,15 +89,28 @@ public class OrderStatisticsController extends BaseController<OrderStatisticsBiz
if
(
TYPE_VEHICLE
.
equals
(
type
))
{
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
))
{
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
))
{
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
))
{
...
...
@@ -110,4 +124,6 @@ public class OrderStatisticsController extends BaseController<OrderStatisticsBiz
}
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderRentVehicleService.java
View file @
0c954fd5
...
...
@@ -15,7 +15,6 @@ import com.github.wxiaoqi.security.common.util.process.ResultCode;
import
com.xxfc.platform.activity.entity.Coupon
;
import
com.xxfc.platform.activity.feign.ActivityFeign
;
import
com.xxfc.platform.order.biz.OrderCostDetailBiz
;
import
com.xxfc.platform.order.biz.OrderItemBiz
;
import
com.xxfc.platform.order.biz.OrderRentVehicleBiz
;
import
com.xxfc.platform.order.biz.OrderTemplateBiz
;
import
com.xxfc.platform.order.contant.enumerate.ItemTypeEnum
;
...
...
@@ -25,18 +24,15 @@ import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import
com.xxfc.platform.order.entity.OrderItem
;
import
com.xxfc.platform.order.entity.OrderTemplate
;
import
com.xxfc.platform.order.pojo.OrderAccompanyDTO
;
import
com.xxfc.platform.order.pojo.order.OrderItemDTO
;
import
com.xxfc.platform.order.pojo.order.RentVehicleBO
;
import
com.xxfc.platform.order.pojo.price.RentVehiclePriceVO
;
import
com.xxfc.platform.universal.constant.DictionaryKey
;
import
com.xxfc.platform.universal.feign.ThirdFeign
;
import
com.xxfc.platform.vehicle.constant.AccompanyingItemType
;
import
com.xxfc.platform.vehicle.entity.AccompanyingItem
;
import
com.xxfc.platform.vehicle.entity.BranchCompany
;
import
com.xxfc.platform.vehicle.entity.VehicleBookRecord
;
import
com.xxfc.platform.vehicle.entity.VehicleModel
;
import
com.xxfc.platform.vehicle.feign.VehicleFeign
;
import
com.xxfc.platform.vehicle.pojo.CompanyDetail
;
import
com.xxfc.platform.vehicle.pojo.RentVehicleBookDTO
;
import
com.xxfc.platform.vehicle.pojo.vo.AccompanyingItemVo
;
import
lombok.Data
;
...
...
@@ -386,9 +382,9 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
private
String
handleChildren
(
RentVehicleBO
detail
,
Integer
vehicleDayNum
)
{
StringBuffer
childrenStr
=
new
StringBuffer
(
""
);
if
(
vehicleDayNum
>
0
)
{
//
if(vehicleDayNum > 0) {
childrenStr
.
append
(
",${tem_0101}"
);
}
//
}
if
(
DRIVER_TYPE_COMPANY
.
equals
(
detail
.
getDriverType
()))
{
childrenStr
.
append
(
",${tem_0102}"
);
}
...
...
@@ -414,7 +410,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
* @return
*/
private
void
costDetail
(
RentVehiclePriceVO
vo
,
String
children
)
{
OrderTemplate
template
=
orderTemplateBiz
.
selectById
(
OrderCostEnum
.
R
entVehicle
.
getCode
());
OrderTemplate
template
=
orderTemplateBiz
.
selectById
(
OrderCostEnum
.
R
ENT_VEHICLE
.
getCode
());
template
.
setTemplate
(
orderTemplateBiz
.
result
(
template
.
getTemplate
(),
new
HashMap
(){{
put
(
"children"
,
children
);
put
(
"vehicleAmount"
,
vo
.
getVehicleAmount
());
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderTourService.java
View file @
0c954fd5
...
...
@@ -3,7 +3,6 @@ package com.xxfc.platform.order.service;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.lang.Dict
;
import
cn.hutool.core.util.StrUtil
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.auth.client.config.UserAuthConfig
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
...
...
@@ -12,7 +11,6 @@ import com.github.wxiaoqi.security.common.util.process.ResultCode;
import
com.xxfc.platform.activity.entity.Coupon
;
import
com.xxfc.platform.activity.feign.ActivityFeign
;
import
com.xxfc.platform.order.biz.OrderCostDetailBiz
;
import
com.xxfc.platform.order.biz.OrderItemBiz
;
import
com.xxfc.platform.order.biz.OrderTemplateBiz
;
import
com.xxfc.platform.order.biz.OrderTourDetailBiz
;
import
com.xxfc.platform.order.contant.enumerate.ItemTypeEnum
;
...
...
@@ -312,7 +310,7 @@ public class OrderTourService extends AbstractOrderHandle<OrderTourDetailBiz, To
* @return
*/
private
void
costDetail
(
TourPriceVO
vo
,
String
children
)
{
OrderTemplate
template
=
orderTemplateBiz
.
selectById
(
OrderCostEnum
.
R
entVehicle
.
getCode
());
OrderTemplate
template
=
orderTemplateBiz
.
selectById
(
OrderCostEnum
.
R
ENT_VEHICLE
.
getCode
());
template
.
setTemplate
(
orderTemplateBiz
.
result
(
template
.
getTemplate
(),
new
HashMap
(){{
put
(
"children"
,
children
);
}}));
...
...
xx-order/xx-order-server/src/main/resources/mapper/DailyMembersOrderStatisticsMapper.xml
View file @
0c954fd5
...
...
@@ -17,24 +17,13 @@
<select
id=
"monthOrderTotal"
resultType=
"com.xxfc.platform.order.entity.OrderStatistics"
>
SELECT
IFNULL(
sum(gmv),0) as
totalGmv
IFNULL(
sum( gmv ), 0 ) AS
totalGmv
FROM
(
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
daily_vehicle_order_statistics
WHERE
1=1
<if
test=
"companyId != null"
>
and branch_company_id =#{companyId}
and branch_company_id =
#{companyId}
</if>
</select>
...
...
xx-order/xx-order-server/src/main/resources/mapper/DailyTravelOrderStatisticsMapper.xml
View file @
0c954fd5
...
...
@@ -51,26 +51,15 @@
<select
id=
"monthOrderTotal"
resultType=
"com.xxfc.platform.order.entity.OrderStatistics"
>
SELECT
IFNULL(sum(gmv),0) as totalGmv,
IFNULL(sum(penal_sum) ,0) as totalPenalSum
IFNULL( sum( gmv ), 0 ) AS totalGmv,
IFNULL( sum( default_money ), 0 ) AS totalDefaultMoney,
IFNULL( sum( return_gmv ), 0 ) AS totalReturnGmv
FROM
(
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
daily_vehicle_order_statistics
WHERE
1=1
<if
test=
"companyId != null"
>
and branch_company_id =#{companyId}
and branch_company_id =
#{companyId}
</if>
</select>
...
...
xx-order/xx-order-server/src/main/resources/mapper/DailyVehicleOrderStatisticsMapper.xml
View file @
0c954fd5
...
...
@@ -79,33 +79,19 @@
v.start_company_id
</select>
<!--
获取赔偿和延期JSON字符串
-->
<!-- -->
<select
id=
"monthOrderTotal"
resultType=
"com.xxfc.platform.order.entity.OrderStatistics"
>
SELECT
IFNULL(sum(gmv),0) as totalGmv,
(IFNULL(sum(security_deposit),0)-IFNULL(sum(refund_security_deposit) ,0)) as totalSecurityDeposit,
IFNULL(sum(refund_security_deposit) ,0) as totalRefundSecurityDeposit,
IFNULL(sum(compensation) ,0) as totalCompensation,
IFNULL(sum(forfeit) ,0) as totalForfeit,
IFNULL(sum(penal_sum) ,0) as totalPenalSum,
IFNULL(sum(postpone) ,0) as totalPostpone
FROM
(
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
IFNULL( sum( gmv ), 0 ) AS totalGmv,
IFNULL( sum( security_deposit ), 0 ) AS totalSecurityDeposit,
IFNULL( sum( refund_security_deposit ), 0 ) AS totalRefundSecurityDeposit,
IFNULL( sum( forfeit ), 0 ) AS totalForfeit,
IFNULL( sum( compensation ), 0 ) AS totalCompensation,
IFNULL( sum( return_gmv ), 0 ) AS totalReturnGmv,
IFNULL( sum( default_money ), 0 ) AS totalDefaultMoney,
IFNULL( sum( total_expenditure ), 0 ) AS totalExpenditure
FROM
daily_vehicle_order_statistics
GROUP BY
one_day,branch_company_id
) a
WHERE
1=1
<if
test=
"companyId != null"
>
...
...
xx-order/xx-order-server/src/main/resources/mapper/OrderAccountMapper.xml
0 → 100644
View file @
0c954fd5
<?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