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
14db7c81
Commit
14db7c81
authored
Sep 11, 2019
by
周健威
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改回原来的代码
parent
09fd3d31
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
46 additions
and
145 deletions
+46
-145
OrderVehicleCrosstownBiz.java
...com/xxfc/platform/order/biz/OrderVehicleCrosstownBiz.java
+46
-145
No files found.
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderVehicleCrosstownBiz.java
View file @
14db7c81
...
...
@@ -13,12 +13,11 @@ import com.github.wxiaoqi.security.common.exception.BaseException;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.xxfc.platform.activity.user.UserInfoBiz
;
import
com.xxfc.platform.order.biz.inner.OrderCalculateBiz
;
import
com.xxfc.platform.order.contant.enumerate.*
;
import
com.xxfc.platform.order.contant.enumerate.CrosstownTypeEnum
;
import
com.xxfc.platform.order.contant.enumerate.DepositRefundStatus
;
import
com.xxfc.platform.order.contant.enumerate.OrderStatusEnum
;
import
com.xxfc.platform.order.entity.*
;
import
com.xxfc.platform.order.mapper.OrderVehicaleCrosstownMapper
;
import
com.xxfc.platform.order.pojo.DedDetailDTO
;
import
com.xxfc.platform.order.pojo.calculate.InProgressVO
;
import
com.xxfc.platform.order.pojo.mq.OrderMQDTO
;
import
com.xxfc.platform.order.pojo.order.OrderPageVO
;
import
com.xxfc.platform.order.pojo.order.OrderVehicleCrosstownDto
;
...
...
@@ -35,15 +34,11 @@ import com.xxfc.platform.vehicle.pojo.VehicleDepartureVo;
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
;
...
...
@@ -76,25 +71,19 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
@Autowired
BaseOrderBiz
baseOrderBiz
;
@Autowired
OrderItemBiz
orderItemBiz
;
@Autowired
OrderCalculateBiz
orderCalculateBiz
;
public
OrderVehicleCrosstown
get
(
Integer
id
)
{
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
);
for
(
OrderVehicleCrosstownDto
value
:
list
)
{
if
(
value
!=
null
&&
value
.
getOrperaterId
()
!=
null
&&
value
.
getType
()
!=
1
)
{
if
(
value
!=
null
&&
value
.
getOrperaterId
()
!=
null
&&
value
.
getType
()
!=
1
)
{
UserDTO
userDTO
=
userFeign
.
userinfoByUid
(
value
.
getOrperaterId
()).
getData
();
if
(
userDTO
!=
null
)
{
if
(
userDTO
!=
null
)
{
CompanyDetail
branchCompany
=
vehicleFeign
.
getCompanyDetail
(
userDTO
.
getCompanyId
()).
getData
();
if
(
branchCompany
!=
null
)
{
if
(
branchCompany
!=
null
)
{
value
.
setCustomerPhone
(
branchCompany
.
getVehiceServicePhone
());
}
}
...
...
@@ -159,7 +148,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"
);
...
...
@@ -174,20 +163,20 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
}
OrderRentVehicleDetail
orderRentVehicleDetail
=
orderRentVehicleBiz
.
selectById
(
baseOrder
.
getDetailId
());
if
(
orderVehicleCrosstownDto
.
getType
()
==
CrosstownTypeEnum
.
DEPARTURE
.
getCode
())
{
if
(
orderVehicleCrosstownDto
.
getType
()
==
CrosstownTypeEnum
.
DEPARTURE
.
getCode
())
{
boolean
flag
=
getTodayTime
(
orderRentVehicleDetail
.
getEndTime
());
if
(!
flag
)
{
return
ObjectRestResponse
.
createFailedResult
(
3502
,
"今日不是交车日期"
);
}
if
(
userDTO
.
getCompanyId
()
!=
orderRentVehicleDetail
.
getStartCompanyId
())
{
if
(
userDTO
.
getCompanyId
()
!=
orderRentVehicleDetail
.
getStartCompanyId
())
{
return
ObjectRestResponse
.
createFailedResult
(
3501
,
"无交车权限"
);
}
}
else
{
if
(
userDTO
.
getCompanyId
()
!=
orderRentVehicleDetail
.
getEndCompanyId
())
{
if
(
userDTO
.
getCompanyId
()
!=
orderRentVehicleDetail
.
getEndCompanyId
())
{
return
ObjectRestResponse
.
createFailedResult
(
3503
,
"无收车权限"
);
}
}
if
(
baseOrder
.
getStatus
()
!=
-
1
)
{
if
(
baseOrder
.
getStatus
()
!=
-
1
)
{
Vehicle
vehicle
=
null
;
RestResponse
<
Vehicle
>
restResponse
=
vehicleFeign
.
findById
(
orderRentVehicleDetail
.
getVehicleId
());
log
.
info
(
"获取车辆信息返回消息:{}"
,
restResponse
.
getMessage
());
...
...
@@ -197,7 +186,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
if
(
vehicle
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNEXIST
.
getCode
(),
ResCode
.
VEHICLE_DEPARTURE_VEHICLE_UNEXIST
.
getDesc
());
}
if
(
vehicle
.
getMileageLastUpdate
()
!=
null
)
{
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
());
...
...
@@ -215,7 +204,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
vehicleDepartureVo
.
setDepartureBranchCompanyId
(
orderRentVehicleDetail
.
getStartCompanyId
());
vehicleDepartureVo
.
setExpectArrivalBranchCompanyId
(
orderRentVehicleDetail
.
getEndCompanyId
());
vehicleDepartureVo
.
setMileage
(
orderVehicleCrosstownDto
.
getMileage
());
if
(
appUserDTO
!=
null
)
{
if
(
appUserDTO
!=
null
)
{
vehicleDepartureVo
.
setUser
(
appUserDTO
.
getNickname
());
vehicleDepartureVo
.
setUserTel
(
appUserDTO
.
getUsername
());
}
else
{
...
...
@@ -240,7 +229,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
vehicleArrivalVo
.
setMileage
(
orderVehicleCrosstownDto
.
getMileage
());
vehicleArrivalVo
.
setRecycleMan
(
userDTO
.
getName
());
vehicleArrivalVo
.
setBookRecordId
(
orderRentVehicleDetail
.
getBookRecordId
());
if
(
appUserDTO
!=
null
)
{
if
(
appUserDTO
!=
null
)
{
vehicleArrivalVo
.
setRecycleManTel
(
appUserDTO
.
getUsername
());
}
else
{
vehicleArrivalVo
.
setRecycleManTel
(
"13565235623"
);
...
...
@@ -257,21 +246,21 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
JSONArray
jsonArray
=
JSONArray
.
parseArray
(
orderVehicleCrosstownDto
.
getDedDetail
());
for
(
int
i
=
0
;
i
<
jsonArray
.
size
();
i
++)
{
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
jsonArray
.
get
(
i
).
toString
());
if
(
jsonObject
!=
null
)
{
if
(
jsonObject
!=
null
)
{
cost
+=
Double
.
parseDouble
(
jsonObject
.
getString
(
"cost"
));
}
}
}
BigDecimal
amount
=
new
BigDecimal
(
cost
.
toString
()).
divide
(
new
BigDecimal
(
"1"
),
2
,
BigDecimal
.
ROUND_UP
);
BigDecimal
amount
=
new
BigDecimal
(
cost
.
toString
()).
divide
(
new
BigDecimal
(
"1"
),
2
,
BigDecimal
.
ROUND_UP
);
orderVehicleCrosstownDto
.
setDeductionCost
(
amount
);
//扣除费用
orderVehicleCrosstownDto
.
setRestDeposit
(
orderRentVehicleDetail
.
getDeposit
().
subtract
(
amount
));
if
(
orderVehicleCrosstownDto
.
getRestDeposit
().
compareTo
(
getAmount
())
==
-
1
)
{
//剩余金额小于保证金
return
ObjectRestResponse
.
createFailedResult
(
500
,
"押金不足,不能交车,请联系客服!"
);
}
//出车成功后修改订单状态
List
<
OrderVehicleCrosstownDto
>
oldValue
=
orderVehicleCrosstownBiz
.
selectByOrderId
(
orderVehicleCrosstownDto
);
if
(
oldValue
.
size
()
==
1
)
{
orderVehicleCrosstownDto
.
setDeductionCost
(
oldValue
.
get
(
0
).
getDeductionCost
().
add
(
amount
));
//扣除费用
orderVehicleCrosstownDto
.
setRestDeposit
(
orderRentVehicleDetail
.
getDeposit
().
subtract
(
orderVehicleCrosstownDto
.
getDeductionCost
()));
if
(
orderVehicleCrosstownDto
.
getRestDeposit
().
compareTo
(
getAmount
())
==
-
1
)
{
//剩余金额小于保证金
return
ObjectRestResponse
.
createFailedResult
(
500
,
"押金不足,不能交车,请联系客服!"
);
}
BeanUtil
.
copyProperties
(
orderVehicleCrosstownDto
,
oldValue
.
get
(
0
),
CopyOptions
.
create
().
setIgnoreNullValue
(
true
).
setIgnoreError
(
true
));
getOrderLicense
(
orderVehicleCrosstownDto
);
handleOrderStatus
(
baseOrder
,
orderRentVehicleDetail
,
oldValue
.
get
(
0
));
...
...
@@ -282,12 +271,6 @@ 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
)
{
//剩余金额小于保证金
return
ObjectRestResponse
.
createFailedResult
(
500
,
"押金不足,不能交车,请联系客服!"
);
}
getOrderLicense
(
orderVehicleCrosstownDto
);
orderVehicleCrosstownBiz
.
insertSelective
(
orderVehicleCrosstownDto
);
OrderVehicleCrosstown
orderVehicleCrosstown
=
orderVehicleCrosstownBiz
.
selectOne
(
orderVehicleCrosstownDto
);
...
...
@@ -303,80 +286,32 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
private
void
handleOrderStatus
(
BaseOrder
baseOrder
,
OrderRentVehicleDetail
orderRentVehicleDetail
,
OrderVehicleCrosstown
orderVehicleCrosstown
)
{
//交车完成 设置订单状态为出行中
BigDecimal
totalAmount
=
orderRentVehicleDetail
.
getDeposit
();
BigDecimal
totalAmount
=
new
BigDecimal
(
0
);
ObjectRestResponse
<
OrderPageVO
>
objectRestResponse
=
baseOrderBiz
.
getOrderDetail
(
baseOrder
.
getNo
());
if
(
objectRestResponse
.
getData
()
!=
null
&&
objectRestResponse
.
getData
().
getOrderRentVehicleDetail
()
!=
null
)
{
//总押金-保留金
totalAmount
=
objectRestResponse
.
getData
().
getOrderRentVehicleDetail
().
getDeposit
();
}
if
(
baseOrder
.
getStatus
()
==
OrderStatusEnum
.
ORDER_TOSTART
.
getCode
())
{
//交车
baseOrder
.
setStatus
(
OrderStatusEnum
.
ORDER_WAIT
.
getCode
());
baseOrder
=
baseOrderBiz
.
updateSelectiveByIdReT
(
baseOrder
);
}
else
if
(
baseOrder
.
getStatus
()
==
OrderStatusEnum
.
ORDER_WAIT
.
getCode
())
{
//还车
//提前还车,结束时间大于当前时间
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
)
-
1
;
//退还未使用的天数,或者金额,扣除违约金,实际未使用天数的金额,最多3000元
InProgressVO
inProgressVO
=
orderCalculateBiz
.
inProgressCalculate
(
baseOrder
,
actualDay
-
noUsedDay
);
if
(
inProgressVO
!=
null
)
{
baseOrder
.
setViolateAmount
(
inProgressVO
.
getViolateAmount
());
baseOrder
.
setExtraAmount
(
inProgressVO
.
getExtraAmount
());
if
(
inProgressVO
.
getBackCoupons
()
!=
null
&&
inProgressVO
.
getBackCoupons
().
size
()
>
0
)
{
StringBuilder
backCoupons
=
new
StringBuilder
();
inProgressVO
.
getBackCoupons
().
forEach
((
a
)
->
backCoupons
.
append
(
a
+
","
));
baseOrder
.
setBackCoupon
(
backCoupons
.
toString
());
}
}
BigDecimal
cost
=
new
BigDecimal
(
0
);
cost
.
add
(
inProgressVO
.
getExtraAmount
()).
add
(
inProgressVO
.
getViolateAmount
());
updateCrossRefund
(
orderVehicleCrosstown
,
cost
,
OrderViolateEnum
.
BEFORE
.
getCode
());
//延期还车,结束时间小于当前时间
}
else
if
(
orderRentVehicleDetail
.
getEndTime
()
<
nowTime
.
getMillis
())
{
//延期的天数, 延期违约金是延期天数*200%
int
usedDay
=
getDaysBetweenDateTime
(
endTime
,
nowTime
);
Integer
orderId
=
baseOrder
.
getId
();
List
<
OrderItem
>
items
=
orderItemBiz
.
selectList
(
new
OrderItem
()
{{
setOrderId
(
orderId
);
}});
BigDecimal
amount
=
new
BigDecimal
(
0
);
if
(
items
!=
null
&&
items
.
size
()
>
0
)
{
for
(
OrderItem
orderItem
:
items
)
{
if
(
orderItem
.
getType
()
==
ItemTypeEnum
.
VEHICLE_MODEL
.
getCode
())
{
amount
=
orderItem
.
getUnitPrice
();
break
;
}
}
}
BigDecimal
cost
=
amount
.
multiply
(
new
BigDecimal
(
usedDay
)).
multiply
(
new
BigDecimal
(
2
));
updateCrossRefund
(
orderVehicleCrosstown
,
cost
,
OrderViolateEnum
.
AFTER
.
getCode
());
}
if
(
orderVehicleCrosstown
.
getType
()
==
CrosstownTypeEnum
.
ARRIVE
.
getCode
())
{
//不定损直接还车
//添加非定损记录
Integer
orderId
=
baseOrder
.
getId
();
List
<
OrderVehicleCrosstownDto
>
list
=
orderVehicleCrosstownBiz
.
selectByOrderId
(
new
OrderVehicleCrosstownDto
(){{
setOrderId
(
orderId
);
setType
(
CrosstownTypeEnum
.
ARRIVE
.
getCode
());
}});
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
));
DepositRefundRecord
depositRefundRecord
=
new
DepositRefundRecord
();
depositRefundRecord
.
setAmount
(
orderVehicleCrosstown
.
getDeductionCost
());
depositRefundRecord
.
setRestAmount
(
totalAmount
.
subtract
(
getAmount
()).
subtract
(
orderVehicleCrosstown1
.
getDeductionCost
()));
depositRefundRecord
.
setTotalAmount
(
totalAmount
.
subtract
(
getAmount
()));
depositRefundRecord
.
setCrosstownId
(
orderVehicleCrosstown
.
getId
());
orderDepositRefundRecordBiz
.
saveNormalRecord
(
depositRefundRecord
);
//修改订单状态为已完成
baseOrder
.
setStatus
(
OrderStatusEnum
.
ORDER_FINISH
.
getCode
());
baseOrder
=
baseOrderBiz
.
updateSelectiveByIdReT
(
baseOrder
);
//修改订单详情是否押金全部退还
orderRentVehicleDetail
.
setFixedLossStatus
(
0
);
orderRentVehicleBiz
.
updateSelectiveByIdRe
(
orderRentVehicleDetail
);
baseOrderBiz
.
sendOrderMq
(
orderRentVehicleDetail
,
null
,
null
,
baseOrder
,
OrderMQDTO
.
ORDER_FINISH
);
}
DepositRefundRecord
depositRefundRecord
=
new
DepositRefundRecord
();
depositRefundRecord
.
setAmount
(
orderVehicleCrosstown
.
getDeductionCost
());
depositRefundRecord
.
setRestAmount
(
totalAmount
.
subtract
(
getAmount
()).
subtract
(
orderVehicleCrosstown
.
getDeductionCost
()));
depositRefundRecord
.
setTotalAmount
(
totalAmount
.
subtract
(
getAmount
()));
depositRefundRecord
.
setCrosstownId
(
orderVehicleCrosstown
.
getId
());
orderDepositRefundRecordBiz
.
saveNormalRecord
(
depositRefundRecord
);
//修改订单状态为已完成
baseOrder
.
setStatus
(
OrderStatusEnum
.
ORDER_FINISH
.
getCode
());
baseOrder
=
baseOrderBiz
.
updateSelectiveByIdReT
(
baseOrder
);
//修改订单详情是否押金全部退还
orderRentVehicleDetail
.
setFixedLossStatus
(
0
);
orderRentVehicleBiz
.
updateSelectiveByIdRe
(
orderRentVehicleDetail
);
baseOrderBiz
.
sendOrderMq
(
orderRentVehicleDetail
,
null
,
null
,
baseOrder
,
OrderMQDTO
.
ORDER_FINISH
);
}
else
if
(
orderVehicleCrosstown
.
getType
()
==
CrosstownTypeEnum
.
FIXED_LOSS
.
getCode
())
{
//定损还车,添加定损记录
//添加定损记录
DepositRefundRecord
depositRefundRecord
=
new
DepositRefundRecord
();
...
...
@@ -406,7 +341,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
newValue
.
setId
(
null
);
orderDepositRefundRecordBiz
.
save
(
newValue
);
DepositRefundRecord
nextValue
=
orderDepositRefundRecordBiz
.
findByCrossIdAndStatus
(
orderVehicleCrosstown
.
getId
(),
DepositRefundStatus
.
FIXLOSSREFUNDARRIVAL
.
getCode
());
if
(
nextValue
!=
null
)
{
if
(
nextValue
!=
null
)
{
nextValue
.
setRestAmount
(
newValue
.
getRestAmount
());
orderDepositRefundRecordBiz
.
update
(
nextValue
);
}
...
...
@@ -419,31 +354,6 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
}
}
public
void
updateCrossRefund
(
OrderVehicleCrosstown
orderVehicleCrosstown
,
BigDecimal
cost
,
Integer
type
)
{
DedDetailDTO
dedDetailDTO
=
new
DedDetailDTO
();
String
detailName
=
null
;
if
(
type
==
OrderViolateEnum
.
BEFORE
.
getCode
())
{
dedDetailDTO
.
setType
(
OrderViolateEnum
.
BEFORE
.
getCode
());
detailName
=
"提前还车违约金"
;
}
else
if
(
type
==
OrderViolateEnum
.
AFTER
.
getCode
())
{
dedDetailDTO
.
setType
(
OrderViolateEnum
.
AFTER
.
getCode
());
detailName
=
"延期还车违约金"
;
}
dedDetailDTO
.
setDeductions
(
detailName
);
dedDetailDTO
.
setCost
(
cost
);
dedDetailDTO
.
setId
(
1
);
dedDetailDTO
.
setStatusIndex
(
1
);
dedDetailDTO
.
setStatusName
(
detailName
);
orderVehicleCrosstown
.
setViolateDetail
(
JSONObject
.
toJSONString
(
dedDetailDTO
));
BigDecimal
restDeposit
=
orderVehicleCrosstown
.
getRestDeposit
().
subtract
(
dedDetailDTO
.
getCost
());
orderVehicleCrosstown
.
setRestDeposit
(
restDeposit
);
orderVehicleCrosstown
.
setDeductionCost
(
orderVehicleCrosstown
.
getDeductionCost
().
add
(
dedDetailDTO
.
getCost
()));
orderVehicleCrosstownBiz
.
updateSelectiveByIdRe
(
orderVehicleCrosstown
);
}
//添加订单驾驶人信息
public
void
getOrderLicense
(
OrderVehicleCrosstownDto
orderVehicleCrosstownDto
)
{
if
(
StringUtils
.
isNotBlank
(
orderVehicleCrosstownDto
.
getLicenseIdCard
()))
{
OrderUserLicense
orderUserLicense
=
new
OrderUserLicense
();
...
...
@@ -467,18 +377,9 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
public
boolean
getTodayTime
(
Long
time
)
{
long
current
=
System
.
currentTimeMillis
();
if
(
current
<=
(
time
/
(
1000
*
3600
*
24
)
*
(
1000
*
3600
*
24
)
-
TimeZone
.
getDefault
().
getRawOffset
()
)
+
24
*
60
*
60
*
1000
-
1
)
{
if
(
current
<=
(
time
/
(
1000
*
3600
*
24
)
*
(
1000
*
3600
*
24
)
-
TimeZone
.
getDefault
().
getRawOffset
()
)
+
24
*
60
*
60
*
1000
-
1
)
{
return
true
;
}
return
false
;
}
//获取两个日期之间的天数
public
int
getDaysBetweenDateTime
(
DateTime
startDay
,
DateTime
endDay
)
{
int
a
=
0
;
for
(
DateTime
curDate
=
startDay
.
plusDays
(
1
);
curDate
.
compareTo
(
endDay
)
<
0
;
curDate
=
curDate
.
plusDays
(
1
))
{
a
++;
}
return
a
;
}
}
}
\ 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