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
4b6097bb
Commit
4b6097bb
authored
Sep 09, 2019
by
jiaorz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改提前还车逻辑
parent
d761a749
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
19 deletions
+16
-19
OrderVehicleCrosstownBiz.java
...com/xxfc/platform/order/biz/OrderVehicleCrosstownBiz.java
+16
-19
No files found.
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderVehicleCrosstownBiz.java
View file @
4b6097bb
...
...
@@ -4,7 +4,6 @@ import cn.hutool.core.bean.BeanUtil;
import
cn.hutool.core.bean.copier.CopyOptions
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.wxiaoqi.security.admin.entity.AppUserDetail
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.admin.feign.dto.UserDTO
;
...
...
@@ -36,12 +35,13 @@ import lombok.extern.slf4j.Slf4j;
import
org.apache.commons.collections4.map.HashedMap
;
import
org.apache.commons.lang3.StringUtils
;
import
org.joda.time.DateTime
;
import
org.joda.time.format.DateTimeFormat
;
import
org.joda.time.format.DateTimeFormatter
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.TimeZone
;
...
...
@@ -66,17 +66,13 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
@Autowired
UserFeign
userFeign
;
@Autowired
private
OrderRentVehicleBiz
orderRentVehicleBiz
;
OrderRentVehicleBiz
orderRentVehicleBiz
;
@Autowired
private
OrderDepositRefundRecordBiz
orderDepositRefundRecordBiz
;
OrderDepositRefundRecordBiz
orderDepositRefundRecordBiz
;
@Autowired
BaseOrderBiz
baseOrderBiz
;
@Autowired
OrderItemBiz
orderItemBiz
;
@Autowired
OrderCalculateBiz
orderCalculateBiz
;
...
...
@@ -84,6 +80,8 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
return
selectById
(
id
);
}
public
static
final
DateTimeFormatter
DEFAULT_DATE_TIME_FORMATTER
=
DateTimeFormat
.
forPattern
(
"yyyy-MM-dd"
);
public
List
<
OrderVehicleCrosstownDto
>
selectByOrderId
(
OrderVehicleCrosstownDto
orderVehicleCrosstownDto
)
{
List
<
OrderVehicleCrosstownDto
>
list
=
mapper
.
selectByOrderId
(
orderVehicleCrosstownDto
);
...
...
@@ -157,7 +155,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
ObjectRestResponse
<
OrderVehicleCrosstownDto
>
add
(
OrderVehicleCrosstownDto
orderVehicleCrosstownDto
)
{
log
.
info
(
"
添加的
参数:orderVehicaleCrosstown = {}"
,
orderVehicleCrosstownDto
);
log
.
info
(
"
交还车
参数:orderVehicaleCrosstown = {}"
,
orderVehicleCrosstownDto
);
UserDTO
userDTO
=
userInfoBiz
.
getAdminUserInfo
();
if
(
userDTO
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
RSTOKEN_EXPIRED_CODE
,
"token is null or invalid"
);
...
...
@@ -170,7 +168,6 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
if
(
baseOrder
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
ResCode
.
ORDER_IS_NOT_EXIST
.
getCode
(),
ResCode
.
ORDER_IS_NOT_EXIST
.
getDesc
());
}
OrderRentVehicleDetail
orderRentVehicleDetail
=
orderRentVehicleBiz
.
selectById
(
baseOrder
.
getDetailId
());
if
(
orderVehicleCrosstownDto
.
getType
()
==
CrosstownTypeEnum
.
DEPARTURE
.
getCode
())
{
boolean
flag
=
getTodayTime
(
orderRentVehicleDetail
.
getEndTime
());
...
...
@@ -201,7 +198,6 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
return
ObjectRestResponse
.
createFailedResult
(
ResCode
.
VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED
.
getCode
(),
ResCode
.
VEHICLE_BOOKED_RECORD_MILEAGE_CHANGED
.
getDesc
());
}
}
}
AppUserDTO
appUserDTO
=
userFeign
.
userDetailById
(
baseOrder
.
getUserId
()).
getData
();
//调用车辆管理的出车还车
...
...
@@ -280,6 +276,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
}
return
ObjectRestResponse
.
succ
(
oldValue
.
get
(
0
));
}
else
if
(
oldValue
.
size
()
<=
0
)
{
orderVehicleCrosstownDto
.
setDeductionCost
(
amount
);
//扣除费用
orderVehicleCrosstownDto
.
setRestDeposit
(
orderRentVehicleDetail
.
getDeposit
().
subtract
(
orderVehicleCrosstownDto
.
getDeductionCost
()));
if
(
orderVehicleCrosstownDto
.
getRestDeposit
().
compareTo
(
getAmount
())
==
-
1
)
{
//剩余金额小于保证金
...
...
@@ -306,14 +303,14 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
baseOrder
=
baseOrderBiz
.
updateSelectiveByIdReT
(
baseOrder
);
}
else
if
(
baseOrder
.
getStatus
()
==
OrderStatusEnum
.
ORDER_WAIT
.
getCode
())
{
//还车
//提前还车,结束时间大于当前时间
DateTime
nowTime
=
DateTime
.
now
(
);
DateTime
endTime
=
new
DateTime
(
orderRentVehicleDetail
.
getEndTime
()
);
DateTime
startTime
=
new
DateTime
(
orderRentVehicleDetail
.
getStartTime
()
);
DateTime
nowTime
=
DateTime
.
parse
(
DateTime
.
now
().
toString
(
DEFAULT_DATE_TIME_FORMATTER
),
DEFAULT_DATE_TIME_FORMATTER
);
DateTime
endTime
=
DateTime
.
parse
(
new
DateTime
(
orderRentVehicleDetail
.
getEndTime
()).
toString
(
DEFAULT_DATE_TIME_FORMATTER
),
DEFAULT_DATE_TIME_FORMATTER
);
DateTime
startTime
=
DateTime
.
parse
(
new
DateTime
(
orderRentVehicleDetail
.
getStartTime
()).
toString
(
DEFAULT_DATE_TIME_FORMATTER
),
DEFAULT_DATE_TIME_FORMATTER
);
//实际预定的天数
int
actualDay
=
getDaysBetweenDateTime
(
startTime
,
endTime
);
if
(
orderRentVehicleDetail
.
getEndTime
()
>
nowTime
.
getMillis
())
{
//提前的天数
int
noUsedDay
=
getDaysBetweenDateTime
(
nowTime
,
endTime
);
//提前的天数
, 当天就算使用一天
int
noUsedDay
=
getDaysBetweenDateTime
(
nowTime
,
endTime
)
-
1
;
//退还未使用的天数,或者金额,扣除违约金,实际未使用天数的金额,最多3000元
InProgressVO
inProgressVO
=
orderCalculateBiz
.
inProgressCalculate
(
baseOrder
,
actualDay
-
noUsedDay
);
if
(
inProgressVO
!=
null
)
{
...
...
@@ -327,7 +324,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
}
BigDecimal
cost
=
new
BigDecimal
(
0
);
cost
.
add
(
inProgressVO
.
getExtraAmount
()).
add
(
inProgressVO
.
getViolateAmount
());
updateCrossRefund
(
orderVehicleCrosstown
,
cost
,
OrderViolateEnum
.
AFTER
.
getCode
());
updateCrossRefund
(
orderVehicleCrosstown
,
cost
,
OrderViolateEnum
.
BEFORE
.
getCode
());
//延期还车,结束时间小于当前时间
}
else
if
(
orderRentVehicleDetail
.
getEndTime
()
<
nowTime
.
getMillis
())
{
//延期的天数, 延期违约金是延期天数*200%
...
...
@@ -352,11 +349,11 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
if
(
orderVehicleCrosstown
.
getType
()
==
CrosstownTypeEnum
.
ARRIVE
.
getCode
())
{
//不定损直接还车
//添加非定损记录
Integer
orderId
=
baseOrder
.
getId
();
List
<
OrderVehicleCrosstownDto
>
list
=
orderVehicleCrosstownBiz
.
selectByOrderId
(
new
OrderVehicleCrosstownDto
(){{
List
<
OrderVehicleCrosstownDto
>
list
=
orderVehicleCrosstownBiz
.
selectByOrderId
(
new
OrderVehicleCrosstownDto
()
{{
setOrderId
(
orderId
);
setType
(
CrosstownTypeEnum
.
ARRIVE
.
getCode
());
}});
if
(
list
!=
null
&&
list
.
size
()
>
0
)
{
if
(
list
!=
null
&&
list
.
size
()
>
0
)
{
OrderVehicleCrosstownDto
orderVehicleCrosstownDto
=
list
.
get
(
0
);
OrderVehicleCrosstown
orderVehicleCrosstown1
=
new
OrderVehicleCrosstown
();
BeanUtil
.
copyProperties
(
orderVehicleCrosstownDto
,
orderVehicleCrosstown1
,
CopyOptions
.
create
().
setIgnoreNullValue
(
true
).
setIgnoreError
(
true
));
...
...
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