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
87101fa0
Commit
87101fa0
authored
Sep 18, 2019
by
周健威
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master-modify-cutAmount' into dev
parents
f6194b69
8f3631a4
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
88 additions
and
39 deletions
+88
-39
CancelNoStartVO.java
...a/com/xxfc/platform/order/pojo/price/CancelNoStartVO.java
+1
-1
CancelStartedVO.java
...a/com/xxfc/platform/order/pojo/price/CancelStartedVO.java
+5
-0
CostDetailExtend.java
.../com/xxfc/platform/order/pojo/price/CostDetailExtend.java
+14
-1
RentVehiclePriceVO.java
...om/xxfc/platform/order/pojo/price/RentVehiclePriceVO.java
+16
-16
TourPriceVO.java
.../java/com/xxfc/platform/order/pojo/price/TourPriceVO.java
+13
-13
OrderAccountBiz.java
...ain/java/com/xxfc/platform/order/biz/OrderAccountBiz.java
+34
-4
OrderCancelBiz.java
...ava/com/xxfc/platform/order/biz/inner/OrderCancelBiz.java
+4
-2
BaseOrderMapper.xml
...rder-server/src/main/resources/mapper/BaseOrderMapper.xml
+1
-2
No files found.
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/price/CancelNoStartVO.java
View file @
87101fa0
...
...
@@ -11,7 +11,7 @@ public class CancelNoStartVO extends CostDetailExtend{
/**
* 违约金描述
*/
private
String
violateDesc
;
private
String
violateDesc
=
""
;
/**
* 违约金额
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/price/CancelStartedVO.java
View file @
87101fa0
...
...
@@ -60,4 +60,9 @@ public class CancelStartedVO extends CostDetailExtend {
* 原订单是否包含优惠券
*/
private
Boolean
hadConpon
=
Boolean
.
FALSE
;
/**
* 赔偿金
*/
private
BigDecimal
damagesAmount
=
BigDecimal
.
ZERO
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/price/CostDetailExtend.java
View file @
87101fa0
...
...
@@ -3,6 +3,8 @@ package com.xxfc.platform.order.pojo.price;
import
cn.hutool.json.JSONUtil
;
import
lombok.Data
;
import
java.math.BigDecimal
;
@Data
public
class
CostDetailExtend
{
...
...
@@ -10,14 +12,25 @@ public class CostDetailExtend {
public
static
final
int
CANCEL_STARTED
=
2
;
public
static
final
int
FINLISH_ADVANCE
=
3
;
public
static
final
int
FINLISH_DELAY
=
4
;
public
static
final
int
FINLISH_ONTIME
=
5
;
private
String
costDetail
;
private
String
costDetail
=
""
;
/**
* type:1--取消违约金;2--取消费用明细;3--提前还车费用明细;4--延期还车费用明细
*/
protected
Integer
type
;
/**
* 违约金描述
*/
private
String
violateDesc
;
/**
* 违约金金额
*/
private
BigDecimal
violateAmount
=
BigDecimal
.
ZERO
;
/**
* 参数json
*/
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/price/RentVehiclePriceVO.java
View file @
87101fa0
...
...
@@ -8,31 +8,31 @@ import java.math.BigDecimal;
@Data
public
class
RentVehiclePriceVO
extends
OrderPriceVO
{
@ApiModelProperty
(
value
=
"车辆价格"
)
BigDecimal
vehicleAmount
;
BigDecimal
vehicleAmount
=
BigDecimal
.
ZERO
;
@ApiModelProperty
(
value
=
"司机价格"
)
BigDecimal
driverAmount
;
BigDecimal
driverAmount
=
BigDecimal
.
ZERO
;
@ApiModelProperty
(
value
=
"免赔付价格"
)
BigDecimal
damageSafeAmount
;
BigDecimal
damageSafeAmount
=
BigDecimal
.
ZERO
;
@ApiModelProperty
(
value
=
"押金价格"
)
BigDecimal
deposit
;
BigDecimal
deposit
=
BigDecimal
.
ZERO
;
@ApiModelProperty
(
value
=
"天数"
)
Integer
dayNum
;
Integer
dayNum
=
0
;
@ApiModelProperty
(
value
=
"车辆天数"
)
Integer
vehicleDayNum
;
Integer
vehicleDayNum
=
0
;
@ApiModelProperty
(
value
=
"车辆个数"
)
Integer
vehicleNum
;
Integer
vehicleNum
=
0
;
@ApiModelProperty
(
value
=
"司机个数"
)
Integer
driverNum
;
Integer
driverNum
=
0
;
@ApiModelProperty
(
value
=
"车型名称"
)
String
modelName
;
String
modelName
=
""
;
@ApiModelProperty
(
value
=
"车型价格"
)
BigDecimal
modelAmount
;
BigDecimal
modelAmount
=
BigDecimal
.
ZERO
;
@ApiModelProperty
(
value
=
"司机单价"
)
BigDecimal
driverPrice
;
BigDecimal
driverPrice
=
BigDecimal
.
ZERO
;
@ApiModelProperty
(
value
=
"免赔付单价"
)
BigDecimal
damageSafePrice
;
BigDecimal
damageSafePrice
=
BigDecimal
.
ZERO
;
@ApiModelProperty
(
value
=
"费用详情"
)
private
String
costDetail
;
private
String
costDetail
=
""
;
// /**
// * 原租车天数
...
...
@@ -42,17 +42,17 @@ public class RentVehiclePriceVO extends OrderPriceVO{
/**
* 免费天数
*/
private
Integer
freeDayNum
;
private
Integer
freeDayNum
=
0
;
/**
* 免费价格
*/
private
BigDecimal
freeAmount
;
private
BigDecimal
freeAmount
=
BigDecimal
.
ZERO
;
/**
* 购买的租车金额
*/
private
BigDecimal
buyVehicleAmount
;
private
BigDecimal
buyVehicleAmount
=
BigDecimal
.
ZERO
;
/**
* 优惠描述
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/price/TourPriceVO.java
View file @
87101fa0
...
...
@@ -8,49 +8,49 @@ import java.math.BigDecimal;
@Data
public
class
TourPriceVO
extends
OrderPriceVO
{
@ApiModelProperty
(
value
=
"费用详情"
)
private
String
costDetail
;
private
String
costDetail
=
""
;
@ApiModelProperty
(
value
=
"成人人数"
)
private
Integer
number
;
private
Integer
number
=
0
;
@ApiModelProperty
(
value
=
"儿童人数"
)
private
Integer
childNumber
;
private
Integer
childNumber
=
0
;
//大人单价"
@ApiModelProperty
(
value
=
"大人单价"
)
private
BigDecimal
price
;
private
BigDecimal
price
=
BigDecimal
.
ZERO
;
//大人总价
@ApiModelProperty
(
value
=
"大人总价"
)
private
BigDecimal
totalPrice
;
private
BigDecimal
totalPrice
=
BigDecimal
.
ZERO
;
//大人真实总价(优惠后的价格)
@ApiModelProperty
(
value
=
"大人真实总价(优惠后的价格)"
)
private
BigDecimal
realPrice
;
private
BigDecimal
realPrice
=
BigDecimal
.
ZERO
;
//儿童单价
@ApiModelProperty
(
value
=
"儿童单价"
)
private
BigDecimal
childPrice
;
private
BigDecimal
childPrice
=
BigDecimal
.
ZERO
;
//儿童总价
@ApiModelProperty
(
value
=
"儿童总价"
)
private
BigDecimal
totalChildPrice
;
private
BigDecimal
totalChildPrice
=
BigDecimal
.
ZERO
;
//儿童真实总价(优惠后的价格)
@ApiModelProperty
(
value
=
"儿童真实总价(优惠后的价格)"
)
private
BigDecimal
realChildPrice
;
private
BigDecimal
realChildPrice
=
BigDecimal
.
ZERO
;
//保险费用
@ApiModelProperty
(
value
=
"保险费用"
)
private
BigDecimal
insureAmount
;
private
BigDecimal
insureAmount
=
BigDecimal
.
ZERO
;
//保险单价
@ApiModelProperty
(
value
=
"保险单价"
)
private
BigDecimal
insurePrice
;
private
BigDecimal
insurePrice
=
BigDecimal
.
ZERO
;
//天数
@ApiModelProperty
(
value
=
"天数"
)
private
Integer
dayNum
;
private
Integer
dayNum
=
0
;
//总人数
@ApiModelProperty
(
value
=
"总人数"
)
private
Integer
totalNumber
;
private
Integer
totalNumber
=
0
;
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderAccountBiz.java
View file @
87101fa0
...
...
@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.util.IntervalUtil
;
...
...
@@ -12,11 +13,15 @@ import com.xxfc.platform.order.biz.inner.OrderCalculateBiz;
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.mapper.OrderAccountMapper
;
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.calculate.InProgressVO
;
import
com.xxfc.platform.order.pojo.mq.OrderMQDTO
;
import
com.xxfc.platform.order.pojo.price.CancelStartedVO
;
import
com.xxfc.platform.order.pojo.price.CostDetailExtend
;
import
com.xxfc.platform.universal.constant.DictionaryKey
;
import
com.xxfc.platform.universal.entity.Dictionary
;
import
com.xxfc.platform.universal.feign.ThirdFeign
;
...
...
@@ -27,9 +32,6 @@ import org.mockito.internal.util.collections.Sets;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.xxfc.platform.order.mapper.OrderAccountMapper
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.List
;
...
...
@@ -248,6 +250,7 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
return
refundStatus
;
}
public
void
refundTrigger
(
BaseOrder
baseOrder
,
OrderRentVehicleDetail
orvd
,
BigDecimal
residueAmount
,
BigDecimal
originalRefundAmount
,
BigDecimal
refundAmont
,
String
refundDesc
,
Integer
refundStatus
,
AccountTypeEnum
accountTypeEnum
,
OrderAccountDetail
oad
)
{
//退款子流程: 订单基础,退款描述,退款金额
refundSubProcess
(
baseOrder
,
refundDesc
,
originalRefundAmount
,
refundAmont
,
accountTypeEnum
.
getCode
(),
refundStatus
,
oad
);
...
...
@@ -298,7 +301,7 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
}
OrderAccountDetail
oad
=
new
OrderAccountDetail
();
orderCalculateBiz
.
calculateOrderComplete
(
orderMQDTO
,
orderMQDTO
.
getOrderRentVehicleDetail
(),
oad
,
orderItem
,
orderMQDTO
.
getOrderRentVehicleDetail
().
getUsedDay
());
InProgressVO
inProgressVO
=
orderCalculateBiz
.
calculateOrderComplete
(
orderMQDTO
,
orderMQDTO
.
getOrderRentVehicleDetail
(),
oad
,
orderItem
,
orderMQDTO
.
getOrderRentVehicleDetail
().
getUsedDay
());
//还车扣除款 剩余的 钱,再减去违章预备金
oad
.
getDeductions
().
add
(
...
...
@@ -318,6 +321,33 @@ public class OrderAccountBiz extends BaseBiz<OrderAccountMapper,OrderAccount> {
refundTrigger
(
orderMQDTO
,
orderMQDTO
.
getOrderRentVehicleDetail
(),
illegalReserve
,
originalRefundAmount
,
refundAmont
,
refundDesc
,
RefundStatusEnum
.
RESIDUE_ILLEGAL
.
getCode
(),
AccountTypeEnum
.
OUT_PART_DEPOSIT
,
oad
);
orderDepositRefundRecordBiz
.
completeRecordStatus
(
crosstown
.
getId
(),
depositRefundRecordStatus
);
//生成额外的费用明细
CancelStartedVO
csv
=
new
CancelStartedVO
();
csv
.
setConsumeAmount
(
inProgressVO
.
getConsumeAmount
());
csv
.
setModelAmount
(
orderItem
.
getUnitPrice
());
csv
.
setUsedAmount
(
inProgressVO
.
getUsedAmount
());
csv
.
setUsedDayNum
(
inProgressVO
.
getUsedDays
());
csv
.
setUsedFreeAmount
(
inProgressVO
.
getUsedFreeDaysAmount
());
csv
.
setHadConpon
((
StrUtil
.
isNotBlank
(
orderMQDTO
.
getCouponTickerNos
())?
Boolean
.
TRUE
:
Boolean
.
FALSE
));
if
(
csv
.
getUsedDayNum
()
==
orderMQDTO
.
getOrderRentVehicleDetail
().
getDayNum
())
{
csv
.
setType
(
CostDetailExtend
.
FINLISH_ONTIME
);
}
else
if
(
csv
.
getUsedDayNum
()
>
orderMQDTO
.
getOrderRentVehicleDetail
().
getDayNum
()){
csv
.
setType
(
CostDetailExtend
.
FINLISH_DELAY
);
}
else
if
(
csv
.
getUsedDayNum
()
<
orderMQDTO
.
getOrderRentVehicleDetail
().
getDayNum
()){
csv
.
setType
(
CostDetailExtend
.
FINLISH_ADVANCE
);
}
csv
.
initParamJson
();
//设置明细
orderRentVehicleBiz
.
updateSelectiveById
(
new
OrderRentVehicleDetail
(){{
setId
(
orderMQDTO
.
getId
());
handelCostDetailExtend
(
csv
);
}});
orderMsgBiz
.
handelMsgDeposit
(
orderMQDTO
.
getOrderRentVehicleDetail
(),
orderMQDTO
,
userFeign
.
userDetailById
(
orderMQDTO
.
getUserId
()).
getData
());
}
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/inner/OrderCancelBiz.java
View file @
87101fa0
...
...
@@ -159,13 +159,15 @@ 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
());
csv
.
setHadConpon
((
StrUtil
.
isNotBlank
(
baseOrder
.
getCouponTickerNos
())?
Boolean
.
TRUE
:
Boolean
.
FALSE
));
//如果有扣款项,则生成额外的费用明细
if
(
oad
.
getDeductions
().
size
()
>
0
)
{
for
(
OrderAccountDeduction
deduction
:
oad
.
getDeductions
())
{
if
(
DeductionTypeEnum
.
VIOLATE_CANCEL
.
getCode
().
equals
(
deduction
.
getType
()))
{
...
...
@@ -258,7 +260,7 @@ public class OrderCancelBiz {
cnsv
.
initParamJson
();
//orderTemplateBiz.handleCostDetailExtend(cnsv);
otd
.
setCostDetailExtend
(
cnsv
.
getCostDetail
()
);
otd
.
handelCostDetailExtend
(
cnsv
);
orderTourDetailBiz
.
updateSelectiveByIdRe
(
otd
);
}
}
...
...
xx-order/xx-order-server/src/main/resources/mapper/BaseOrderMapper.xml
View file @
87101fa0
...
...
@@ -181,7 +181,7 @@
select b.*
from base_order b
LEFT JOIN order_rent_vehicle_detail r on r.order_id = b.id
where b.type = 1 and r.end_time
>
=
now()
where b.type = 1 and r.end_time
>
=
unix_timestamp(now())*1000
<if
test=
"userIds != null and userIds.size > 0"
>
and b.user_id in
<foreach
collection=
"userIds"
item=
"id"
open=
"("
separator=
","
close=
")"
>
...
...
@@ -209,7 +209,6 @@
<foreach
collection=
"companyIds"
item=
"id"
open=
"("
separator=
","
close=
")"
>
#{id}
</foreach>
</if>
<if
test=
"status == 4"
>
order by r.start_time
...
...
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