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
2d79ced1
Commit
2d79ced1
authored
Nov 06, 2020
by
hezhen
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev-chw' of
http://113.105.137.151:22280/youjj/cloud-platform
into dev-chw
parents
d2036301
d0e67a05
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
65 additions
and
33 deletions
+65
-33
InProgressVO.java
.../com/xxfc/platform/order/pojo/calculate/InProgressVO.java
+9
-0
OrderVehicleCrosstownBiz.java
...com/xxfc/platform/order/biz/OrderVehicleCrosstownBiz.java
+31
-27
OrderViolationBiz.java
...n/java/com/xxfc/platform/order/biz/OrderViolationBiz.java
+7
-1
OrderCalculateBiz.java
.../com/xxfc/platform/order/biz/inner/OrderCalculateBiz.java
+17
-4
VehicleMapper.xml
...ehicle-server/src/main/resources/mapper/VehicleMapper.xml
+1
-1
No files found.
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/calculate/InProgressVO.java
View file @
2d79ced1
...
...
@@ -11,6 +11,15 @@ import java.util.List;
@Data
public
class
InProgressVO
{
public
static
final
int
VIOLATE_TYPE_NOT
=
0
;
public
static
final
int
VIOLATE_TYPE_ADVANCE
=
1
;
public
static
final
int
VIOLATE_TYPE_DELAY
=
2
;
/**
* 违约类型 0--没违约;1--提前还车;2--延期还车
*/
Integer
violateType
=
0
;
/**
* 违约金
*/
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderVehicleCrosstownBiz.java
View file @
2d79ced1
...
...
@@ -263,22 +263,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
}
userDTO
.
setCompanyId
(
orderRentVehicleDetail
.
getEndCompanyId
());
}
Vehicle
vehicle
=
null
;
RestResponse
<
Vehicle
>
vehicleRestResponse
=
vehicleFeign
.
findById
(
orderRentVehicleDetail
.
getVehicleId
());
if
(
vehicleRestResponse
.
getData
()
!=
null
)
{
vehicle
=
vehicleRestResponse
.
getData
();
}
else
{
return
ObjectRestResponse
.
createFailedResult
(
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNEXIST
.
getCode
(),
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNEXIST
.
getDesc
());
}
//非定损状态下要判断车辆公里数
if
(
baseOrder
.
getStatus
()
!=
-
1
)
{
if
(
vehicle
.
getMileageLastUpdate
()
!=
null
)
{
//判断车辆公里数
if
(
orderVehicleCrosstownDto
.
getMileage
()
==
null
||
orderVehicleCrosstownDto
.
getMileage
()
<
vehicle
.
getMileageLastUpdate
())
{
return
ObjectRestResponse
.
createFailedResult
(
ResCode
.
VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED
.
getCode
(),
ResCode
.
VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED
.
getDesc
());
}
}
}
//添加验车人信息
JSONArray
list
=
new
JSONArray
();
CheckUserInfoDto
checkUserInfoDto
=
null
;
...
...
@@ -360,18 +345,29 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
}
}
}
Double
violateAmount
=
0.0
;
//延期扣除费用
if
(
StringUtils
.
isNotBlank
(
orderVehicleCrosstownDto
.
getViolateDetail
()))
{
JSONArray
jsonArray
=
JSONArray
.
parseArray
(
orderVehicleCrosstownDto
.
getViolateDetail
());
if
(
jsonArray
!=
null
&&
jsonArray
.
size
()
>
0
)
{
for
(
int
i
=
0
;
i
<
jsonArray
.
size
();
i
++)
{
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
jsonArray
.
get
(
i
).
toString
());
if
(
jsonObject
.
getString
(
"cost"
)
!=
null
)
{
cost
+=
Double
.
parseDouble
(
jsonObject
.
getString
(
"cost"
));
}
if
(
jsonObject
.
getString
(
"excessCost"
)
!=
null
)
{
cost
+=
Double
.
parseDouble
(
jsonObject
.
getString
(
"excessCost"
));
}
if
(
jsonObject
.
getInteger
(
"type"
)
!=
1
)
{
if
(
jsonObject
.
getString
(
"cost"
)
!=
null
)
{
cost
+=
Double
.
parseDouble
(
jsonObject
.
getString
(
"cost"
));
}
if
(
jsonObject
.
getString
(
"excessCost"
)
!=
null
)
{
cost
+=
Double
.
parseDouble
(
jsonObject
.
getString
(
"excessCost"
));
}
}
else
{
//提前还车单独判断
if
(
jsonObject
.
getString
(
"cost"
)
!=
null
)
{
violateAmount
+=
Double
.
parseDouble
(
jsonObject
.
getString
(
"cost"
));
}
if
(
jsonObject
.
getString
(
"excessCost"
)
!=
null
)
{
violateAmount
+=
Double
.
parseDouble
(
jsonObject
.
getString
(
"excessCost"
));
}
}
}
}
}
...
...
@@ -397,8 +393,12 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
orderVehicleCrosstownDto
.
setDeductionCost
(
amount
);
//扣除费用
orderVehicleCrosstownDto
.
setRestDeposit
(
orderRentVehicleDetail
.
getDeposit
().
subtract
(
orderVehicleCrosstownDto
.
getDeductionCost
()));
if
(
orderVehicleCrosstownDto
.
getRestDeposit
().
compareTo
(
orderRentVehicleDetail
.
getTrafficDeposit
())
==
-
1
)
{
//剩余金额小于保证金
return
ObjectRestResponse
.
createFailedResult
(
500
,
"押金不足,不能交车,请联系客服!"
);
//只有当押金是线上的时候才判断押金是否足额
if
(
orderRentVehicleDetail
.
getGoodsDepositType
()
!=
2
)
{
//判断车辆押金是否足额
if
(
orderVehicleCrosstownDto
.
getRestDeposit
().
compareTo
(
orderRentVehicleDetail
.
getVehicleDeposit
())
==
-
1
)
{
//剩余金额小于保证金
return
ObjectRestResponse
.
createFailedResult
(
500
,
"押金不足,不能交车,请联系客服!"
);
}
}
if
(
StringUtils
.
isNotBlank
(
oldValue
.
get
(
0
).
getCheckUserInfo
()))
{
JSONArray
jsonArray
=
JSONArray
.
parseArray
(
oldValue
.
get
(
0
).
getCheckUserInfo
());
...
...
@@ -422,8 +422,12 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
orderVehicleCrosstownDto
.
setDeductionCost
(
amount
);
//剩余押金 = 总押金 - 扣除费用
orderVehicleCrosstownDto
.
setRestDeposit
(
orderRentVehicleDetail
.
getDeposit
().
subtract
(
orderVehicleCrosstownDto
.
getDeductionCost
()));
if
(
orderVehicleCrosstownDto
.
getRestDeposit
().
compareTo
(
orderRentVehicleDetail
.
getTrafficDeposit
())
==
-
1
)
{
//剩余金额小于保证金
return
ObjectRestResponse
.
createFailedResult
(
500
,
"押金不足,不能交车,请联系客服!"
);
//只有当押金是线上的时候才判断押金是否足额
if
(
orderRentVehicleDetail
.
getGoodsDepositType
()
!=
2
)
{
//判断车辆押金是否足额
if
(
orderVehicleCrosstownDto
.
getRestDeposit
().
compareTo
(
orderRentVehicleDetail
.
getVehicleDeposit
())
==
-
1
)
{
//剩余金额小于保证金
return
ObjectRestResponse
.
createFailedResult
(
500
,
"押金不足,不能交车,请联系客服!"
);
}
}
orderVehicleCrosstownDto
.
setCheckUserInfo
(
list
.
toJSONString
());
getOrderLicense
(
orderVehicleCrosstownDto
);
...
...
@@ -443,7 +447,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
private
void
handleOrderStatus
(
BaseOrder
baseOrder
,
OrderRentVehicleDetail
orderRentVehicleDetail
,
OrderVehicleCrosstown
orderVehicleCrosstown
,
AppUserDTO
appUserDTO
)
{
//交车完成 设置订单状态为出行中
BigDecimal
illegalReserve
=
orderRentVehicleDetail
.
get
Traffic
Deposit
();
BigDecimal
illegalReserve
=
orderRentVehicleDetail
.
get
Vehicle
Deposit
();
BigDecimal
totalAmount
=
orderRentVehicleDetail
.
getDeposit
();
if
(
baseOrder
.
getStatus
()
==
OrderStatusEnum
.
ORDER_TOSTART
.
getCode
())
{
//交车
baseOrder
.
setStatus
(
OrderStatusEnum
.
ORDER_WAIT
.
getCode
());
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderViolationBiz.java
View file @
2d79ced1
...
...
@@ -93,7 +93,7 @@ public class OrderViolationBiz extends BaseBiz<OrderViolationMapper, OrderViolat
orderViolation
.
setCrtTime
(
new
BigInteger
(
String
.
valueOf
(
System
.
currentTimeMillis
())));
insertSelective
(
orderViolation
);
detailMapper
.
updateByPrimaryKeySelective
(
orderRentVehicleDetail
);
BaseOrder
baseOrder
=
baseOrderBiz
.
select
ById
(
orderRentVehicleDetail
.
getOrderId
()
);
BaseOrder
baseOrder
=
baseOrderBiz
.
select
One
(
new
BaseOrder
(){{
setDetailId
(
orderViolation
.
getDetailId
());}}
);
if
(
baseOrder
!=
null
)
{
baseOrder
.
setRefundStatus
(
3
);
baseOrderBiz
.
updateSelectiveByIdRe
(
baseOrder
);
...
...
@@ -126,6 +126,12 @@ public class OrderViolationBiz extends BaseBiz<OrderViolationMapper, OrderViolat
orderViolation
.
setUpdUserId
(
userDTO
.
getId
());
orderViolation
.
setUpdTime
(
new
BigInteger
(
String
.
valueOf
(
System
.
currentTimeMillis
())));
updateSelectiveByIdRe
(
orderViolation
);
BaseOrder
baseOrder
=
baseOrderBiz
.
selectOne
(
new
BaseOrder
(){{
setDetailId
(
orderViolation
.
getDetailId
());}});
if
(
baseOrder
!=
null
)
{
baseOrder
.
setRefundStatus
(
3
);
baseOrderBiz
.
updateSelectiveByIdRe
(
baseOrder
);
}
}
else
{
throw
new
BaseException
(
"The operation cannot be changed at this time"
);
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/inner/OrderCalculateBiz.java
View file @
2d79ced1
...
...
@@ -46,6 +46,8 @@ import java.util.List;
import
java.util.Map
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_TRUE
;
import
static
com
.
xxfc
.
platform
.
order
.
pojo
.
calculate
.
InProgressVO
.
VIOLATE_TYPE_ADVANCE
;
import
static
com
.
xxfc
.
platform
.
order
.
pojo
.
calculate
.
InProgressVO
.
VIOLATE_TYPE_DELAY
;
import
static
com
.
xxfc
.
platform
.
universal
.
constant
.
DictionaryKey
.*;
/**
...
...
@@ -278,9 +280,11 @@ public class OrderCalculateBiz implements CalculateInterface {
violateDesc
+=
StrUtil
.
format
(
"(封顶{}元)"
,
residueAmount
);
}
inProgressVO
.
setViolateType
(
VIOLATE_TYPE_ADVANCE
);
inProgressVO
.
setViolateAmount
(
residueAmount
);
inProgressVO
.
setViolateDesc
(
" 提前还车违约金:"
+
violateDesc
);
OrderAccountDeduction
violateDeduction
=
orderAccountBiz
.
initDeduction
(
inProgressVO
.
getViolateAmount
(),
violateDesc
,
DeductionTypeEnum
.
VIOLATE_ADVANCE
,
OrderAccountDeduction
.
ORIGIN_DEPOSIT
);
//提前还车 修改ORIGIN_DEPOSIT 为 ORIGIN_ORDER_DEPOSIT
OrderAccountDeduction
violateDeduction
=
orderAccountBiz
.
initDeduction
(
inProgressVO
.
getViolateAmount
(),
violateDesc
,
DeductionTypeEnum
.
VIOLATE_ADVANCE
,
OrderAccountDeduction
.
ORIGIN_ORDER_DEPOSIT
);
oad
.
getDeductions
().
add
(
violateDeduction
);
}
else
if
(
realResidueDays
.
equals
(
0
))
{
//准时还车
//设置消耗费用列表
...
...
@@ -301,6 +305,7 @@ public class OrderCalculateBiz implements CalculateInterface {
.
map
(
VMCalendarPriceCostDTO:
:
getPrice
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
).
multiply
(
new
BigDecimal
(
2
+
""
));
//超过的天数 价格 * 200%
inProgressVO
.
setViolateType
(
VIOLATE_TYPE_DELAY
);
inProgressVO
.
setViolateAmount
(
overAmount
);
inProgressVO
.
setViolateDesc
(
" 延期还车违约金:"
+
violateDesc
);
inProgressVO
.
setOverAmountList
(
overAmountList
);
...
...
@@ -349,9 +354,17 @@ public class OrderCalculateBiz implements CalculateInterface {
public
InProgressVO
calculateOrderComplete
(
BaseOrder
baseOrder
,
OrderRentVehicleDetail
orvd
,
OrderAccountDetail
oad
,
VehicleItemDTO
vehicleItemDTO
,
Integer
useDays
,
Boolean
isCancel
)
{
InProgressVO
inProgressVO
=
inProgressCalculate
(
baseOrder
,
vehicleItemDTO
,
orvd
,
useDays
,
oad
,
isCancel
);
//定金 - (额外消费金额 + 违约金)
oad
.
setDepositAmount
(
orvd
.
getDeposit
().
subtract
(
inProgressVO
.
getExtraAmount
().
add
(
inProgressVO
.
getViolateAmount
())));
oad
.
setOrderAmount
(
inProgressVO
.
getRefundOrderAmount
());
//后修改为提前还车 订单款扣,延期还车 押金扣
if
(
InProgressVO
.
VIOLATE_TYPE_ADVANCE
==
inProgressVO
.
getViolateType
())
{
//定金 - (额外消费金额)
oad
.
setDepositAmount
(
orvd
.
getDeposit
().
subtract
(
inProgressVO
.
getExtraAmount
()));
//订单款 - 违约金
oad
.
setOrderAmount
(
inProgressVO
.
getRefundOrderAmount
().
subtract
(
inProgressVO
.
getViolateAmount
()));
}
else
{
//定金 - (额外消费金额 + 违约金)
oad
.
setDepositAmount
(
orvd
.
getDeposit
().
subtract
(
inProgressVO
.
getExtraAmount
().
add
(
inProgressVO
.
getViolateAmount
())));
oad
.
setOrderAmount
(
inProgressVO
.
getRefundOrderAmount
());
}
oad
.
setOriginDepositAmount
(
orvd
.
getDeposit
());
oad
.
setOriginOrderAmount
(
baseOrder
.
getGoodsAmount
().
subtract
(
baseOrder
.
getCouponAmount
()));
return
inProgressVO
;
...
...
xx-vehicle/xx-vehicle-server/src/main/resources/mapper/VehicleMapper.xml
View file @
2d79ced1
...
...
@@ -1192,7 +1192,7 @@
* 原(大于预约结束时间,小于预约开始时间的预约记录)
* 相交叉(大于预约开始时间,小于预约结束时间的预约记录)
-->
<if
test=
"recordIntersection == null "
>
<if
test=
"recordIntersection == null
or recordIntersection != true
"
>
left join (
<include
refid=
"aroundBookRecord"
></include>
) abr on v.`id` = abr.vehicle_id
...
...
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