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
2b0c0a86
Commit
2b0c0a86
authored
Sep 16, 2019
by
jiaorz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改管家核销订单列表
parent
ffb06859
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
40 additions
and
107 deletions
+40
-107
DedDetailDTO.java
.../main/java/com/xxfc/platform/order/pojo/DedDetailDTO.java
+5
-0
OrderPageVO.java
.../java/com/xxfc/platform/order/pojo/order/OrderPageVO.java
+1
-3
BaseOrderBiz.java
...c/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
+25
-19
OrderVehicleCrosstownBiz.java
...com/xxfc/platform/order/biz/OrderVehicleCrosstownBiz.java
+9
-85
No files found.
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/DedDetailDTO.java
View file @
2b0c0a86
...
@@ -20,6 +20,11 @@ public class DedDetailDTO {
...
@@ -20,6 +20,11 @@ public class DedDetailDTO {
*/
*/
BigDecimal
cost
;
BigDecimal
cost
;
/**
* 订单超额费用
*/
BigDecimal
excessCost
;
/**
/**
* 编号(用于顺序)
* 编号(用于顺序)
*/
*/
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/order/OrderPageVO.java
View file @
2b0c0a86
...
@@ -35,9 +35,7 @@ public class OrderPageVO extends BaseOrder {
...
@@ -35,9 +35,7 @@ public class OrderPageVO extends BaseOrder {
private
String
telephone
;
private
String
telephone
;
//订单违约金
//订单违约金
private
DedDetailDTO
dedDetailDTO
;
private
String
dedDetailDTO
;
//订单消费超额金
private
DedDetailDTO
excessDedDetailDTO
;
/**
/**
* 車輛編碼
* 車輛編碼
*/
*/
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
View file @
2b0c0a86
...
@@ -14,14 +14,11 @@ import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
...
@@ -14,14 +14,11 @@ import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import
com.github.wxiaoqi.security.common.util.Query
;
import
com.github.wxiaoqi.security.common.util.Query
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
com.google.gson.JsonObject
;
import
com.xxfc.platform.activity.feign.ActivityFeign
;
import
com.xxfc.platform.activity.feign.ActivityFeign
;
import
com.xxfc.platform.order.biz.inner.OrderCalculateBiz
;
import
com.xxfc.platform.order.biz.inner.OrderCalculateBiz
;
import
com.xxfc.platform.order.biz.inner.OrderMsgBiz
;
import
com.xxfc.platform.order.biz.inner.OrderMsgBiz
;
import
com.xxfc.platform.order.contant.enumerate.AccountTypeEnum
;
import
com.xxfc.platform.order.contant.enumerate.*
;
import
com.xxfc.platform.order.contant.enumerate.ItemTypeEnum
;
import
com.xxfc.platform.order.contant.enumerate.OrderStatusEnum
;
import
com.xxfc.platform.order.contant.enumerate.OrderTypeEnum
;
import
com.xxfc.platform.order.contant.enumerate.OrderViolateEnum
;
import
com.xxfc.platform.order.entity.*
;
import
com.xxfc.platform.order.entity.*
;
import
com.xxfc.platform.order.mapper.BaseOrderMapper
;
import
com.xxfc.platform.order.mapper.BaseOrderMapper
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDetail
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDetail
;
...
@@ -168,6 +165,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
...
@@ -168,6 +165,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
List
<
Integer
>
companyIds
=
branchCompanies
.
stream
().
map
(
BranchCompany:
:
getId
).
collect
(
Collectors
.
toList
());
List
<
Integer
>
companyIds
=
branchCompanies
.
stream
().
map
(
BranchCompany:
:
getId
).
collect
(
Collectors
.
toList
());
if
(
orderPageVo
.
getOrderRentVehicleDetail
()
!=
null
)
{
if
(
orderPageVo
.
getOrderRentVehicleDetail
()
!=
null
)
{
if
(!
companyIds
.
contains
(
orderPageVo
.
getOrderRentVehicleDetail
().
getStartCompanyId
())
&&
!
companyIds
.
contains
(
orderPageVo
.
getOrderRentVehicleDetail
().
getEndCompanyId
()))
{
if
(!
companyIds
.
contains
(
orderPageVo
.
getOrderRentVehicleDetail
().
getStartCompanyId
())
&&
!
companyIds
.
contains
(
orderPageVo
.
getOrderRentVehicleDetail
().
getEndCompanyId
()))
{
return
ObjectRestResponse
.
createFailedResult
(
ResCode
.
YOU_AUTH_FAIL
.
getCode
(),
ResCode
.
YOU_AUTH_FAIL
.
getDesc
());
return
ObjectRestResponse
.
createFailedResult
(
ResCode
.
YOU_AUTH_FAIL
.
getCode
(),
ResCode
.
YOU_AUTH_FAIL
.
getDesc
());
}
}
...
@@ -181,6 +179,8 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
...
@@ -181,6 +179,8 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
// }
// }
getDriverInfo
(
orderPageVo
);
getDriverInfo
(
orderPageVo
);
}
else
if
(
orderPageVo
.
getStatus
()
>=
5
||
orderPageVo
.
getStatus
()
==
-
1
)
{
//出行中 已交车
}
else
if
(
orderPageVo
.
getStatus
()
>=
5
||
orderPageVo
.
getStatus
()
==
-
1
)
{
//出行中 已交车
//设置违约金金额
updateCrossRefund
(
orderPageVo
);
getDriverInfo
(
orderPageVo
);
getDriverInfo
(
orderPageVo
);
getUserLicense
(
orderPageVo
);
getUserLicense
(
orderPageVo
);
}
}
...
@@ -198,8 +198,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
...
@@ -198,8 +198,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
orderPageVo
.
setVehicalNumberPlat
(
response
.
getData
().
getNumberPlate
());
orderPageVo
.
setVehicalNumberPlat
(
response
.
getData
().
getNumberPlate
());
orderPageVo
.
setCode
(
response
.
getData
().
getCode
());
orderPageVo
.
setCode
(
response
.
getData
().
getCode
());
}
}
//设置违约金金额
updateCrossRefund
(
orderPageVo
);
}
else
if
(
orderPageVo
.
getOrderTourDetail
()
!=
null
)
{
}
else
if
(
orderPageVo
.
getOrderTourDetail
()
!=
null
)
{
if
(
StringUtils
.
isNotBlank
(
orderPageVo
.
getOrderTourDetail
().
getTourUserIds
()))
{
if
(
StringUtils
.
isNotBlank
(
orderPageVo
.
getOrderTourDetail
().
getTourUserIds
()))
{
List
<
TourUser
>
list
=
tourFeign
.
getTourUsers
(
orderPageVo
.
getOrderTourDetail
().
getTourUserIds
()).
getData
();
List
<
TourUser
>
list
=
tourFeign
.
getTourUsers
(
orderPageVo
.
getOrderTourDetail
().
getTourUserIds
()).
getData
();
...
@@ -254,6 +253,9 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
...
@@ -254,6 +253,9 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
}
}
}
}
}
}
/**
* 提前还车
*/
if
(
orderPageVO
.
getOrderRentVehicleDetail
().
getEndTime
()
>
nowTime
.
getMillis
())
{
if
(
orderPageVO
.
getOrderRentVehicleDetail
().
getEndTime
()
>
nowTime
.
getMillis
())
{
StringBuilder
stringBuilder
=
new
StringBuilder
();
StringBuilder
stringBuilder
=
new
StringBuilder
();
//提前的天数, 当天就算使用一天
//提前的天数, 当天就算使用一天
...
@@ -266,9 +268,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
...
@@ -266,9 +268,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
if
(
inProgressVO
!=
null
)
{
if
(
inProgressVO
!=
null
)
{
//消费超额金
//消费超额金
if
(
inProgressVO
.
getExtraAmount
()
!=
null
)
{
if
(
inProgressVO
.
getExtraAmount
()
!=
null
)
{
DedDetailDTO
excessDedDetailDTO
=
new
DedDetailDTO
();
dedDetailDTO
.
setExcessCost
(
inProgressVO
.
getExtraAmount
());
initDedDetail
(
excessDedDetailDTO
,
OrderViolateEnum
.
EXCESS
.
getCode
(),
inProgressVO
.
getExtraAmount
(),
stringBuilder
);
orderPageVO
.
setExcessDedDetailDTO
(
excessDedDetailDTO
);
}
}
stringBuilder
.
append
(
"违约金( ¥"
);
stringBuilder
.
append
(
"违约金( ¥"
);
stringBuilder
.
append
(
amount
);
stringBuilder
.
append
(
amount
);
...
@@ -279,7 +279,9 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
...
@@ -279,7 +279,9 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
stringBuilder
.
append
(
cost
);
stringBuilder
.
append
(
cost
);
initDedDetail
(
dedDetailDTO
,
OrderViolateEnum
.
BEFORE
.
getCode
(),
cost
,
stringBuilder
);
initDedDetail
(
dedDetailDTO
,
OrderViolateEnum
.
BEFORE
.
getCode
(),
cost
,
stringBuilder
);
}
}
//延期还车,结束时间小于当前时间
/**
* 延期还车
*/
}
else
if
(
orderPageVO
.
getOrderRentVehicleDetail
().
getEndTime
()
<
nowTime
.
getMillis
())
{
}
else
if
(
orderPageVO
.
getOrderRentVehicleDetail
().
getEndTime
()
<
nowTime
.
getMillis
())
{
StringBuilder
stringBuilder
=
new
StringBuilder
();
StringBuilder
stringBuilder
=
new
StringBuilder
();
stringBuilder
.
append
(
"违约金( ¥"
);
stringBuilder
.
append
(
"违约金( ¥"
);
...
@@ -296,7 +298,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
...
@@ -296,7 +298,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
stringBuilder
.
append
(
"元"
);
stringBuilder
.
append
(
"元"
);
initDedDetail
(
dedDetailDTO
,
OrderViolateEnum
.
AFTER
.
getCode
(),
cost
,
stringBuilder
);
initDedDetail
(
dedDetailDTO
,
OrderViolateEnum
.
AFTER
.
getCode
(),
cost
,
stringBuilder
);
}
}
orderPageVO
.
setDedDetailDTO
(
dedDetailDTO
);
orderPageVO
.
setDedDetailDTO
(
JSONObject
.
toJSONString
(
dedDetailDTO
)
);
}
}
public
void
initDedDetail
(
DedDetailDTO
dedDetailDTO
,
Integer
type
,
BigDecimal
cost
,
StringBuilder
stringBuilder
)
{
public
void
initDedDetail
(
DedDetailDTO
dedDetailDTO
,
Integer
type
,
BigDecimal
cost
,
StringBuilder
stringBuilder
)
{
String
detailName
=
null
;
String
detailName
=
null
;
...
@@ -306,9 +308,6 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
...
@@ -306,9 +308,6 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
}
else
if
(
type
==
OrderViolateEnum
.
AFTER
.
getCode
())
{
}
else
if
(
type
==
OrderViolateEnum
.
AFTER
.
getCode
())
{
dedDetailDTO
.
setType
(
OrderViolateEnum
.
AFTER
.
getCode
());
dedDetailDTO
.
setType
(
OrderViolateEnum
.
AFTER
.
getCode
());
detailName
=
"延期还车违约金"
;
detailName
=
"延期还车违约金"
;
}
else
if
(
type
==
OrderViolateEnum
.
EXCESS
.
getCode
())
{
dedDetailDTO
.
setType
(
OrderViolateEnum
.
EXCESS
.
getCode
());
detailName
=
"消费超额金"
;
}
}
//900元+违约金(¥900x2天=)1800元
//900元+违约金(¥900x2天=)1800元
dedDetailDTO
.
setDeductions
(
stringBuilder
.
toString
());
dedDetailDTO
.
setDeductions
(
stringBuilder
.
toString
());
...
@@ -322,16 +321,23 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
...
@@ -322,16 +321,23 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
OrderVehicleCrosstownDto
orderVehicleCrosstownDto
=
new
OrderVehicleCrosstownDto
();
OrderVehicleCrosstownDto
orderVehicleCrosstownDto
=
new
OrderVehicleCrosstownDto
();
orderVehicleCrosstownDto
.
setOrderId
(
orderPageVo
.
getId
());
orderVehicleCrosstownDto
.
setOrderId
(
orderPageVo
.
getId
());
orderVehicleCrosstownDto
.
setOrderNo
(
orderPageVo
.
getNo
());
orderVehicleCrosstownDto
.
setOrderNo
(
orderPageVo
.
getNo
());
List
<
OrderVehicleCrosstownDto
>
orderVehicleCrosstown
s
=
orderVehicleCrosstownBiz
.
selectByOrderId
(
orderVehicleCrosstownDto
);
List
<
OrderVehicleCrosstownDto
>
orderVehicleCrosstown
=
orderVehicleCrosstownBiz
.
selectByOrderId
(
orderVehicleCrosstownDto
);
if
(
orderVehicleCrosstown
s
!=
null
&&
orderVehicleCrosstowns
.
size
()
>
0
)
{
if
(
orderVehicleCrosstown
!=
null
&&
orderVehicleCrosstown
.
size
()
>
0
)
{
List
<
OrderUserLicense
>
orderUserLicenses
=
orderUserLicenseBiz
.
selectByIds
(
orderVehicleCrosstown
s
.
get
(
0
).
getUserLicenseId
()).
getData
();
List
<
OrderUserLicense
>
orderUserLicenses
=
orderUserLicenseBiz
.
selectByIds
(
orderVehicleCrosstown
.
get
(
0
).
getUserLicenseId
()).
getData
();
if
(
orderUserLicenses
!=
null
&&
orderUserLicenses
.
size
()
>
0
)
{
if
(
orderUserLicenses
!=
null
&&
orderUserLicenses
.
size
()
>
0
)
{
orderVehicleCrosstownDto
.
setLicenseIdCard
(
orderUserLicenses
.
get
(
0
).
getLicenseIdCard
());
orderVehicleCrosstownDto
.
setLicenseIdCard
(
orderUserLicenses
.
get
(
0
).
getLicenseIdCard
());
orderVehicleCrosstownDto
.
setLicenseImg
(
orderUserLicenses
.
get
(
0
).
getLicenseImg
());
orderVehicleCrosstownDto
.
setLicenseImg
(
orderUserLicenses
.
get
(
0
).
getLicenseImg
());
orderVehicleCrosstownDto
.
setLicenseName
(
orderUserLicenses
.
get
(
0
).
getLicenseName
());
orderVehicleCrosstownDto
.
setLicenseName
(
orderUserLicenses
.
get
(
0
).
getLicenseName
());
orderVehicleCrosstownDto
.
setLicensePhone
(
orderUserLicenses
.
get
(
0
).
getLicensePhone
());
orderVehicleCrosstownDto
.
setLicensePhone
(
orderUserLicenses
.
get
(
0
).
getLicensePhone
());
}
}
//设置保留金
for
(
OrderVehicleCrosstownDto
a
:
orderVehicleCrosstown
)
{
if
(
a
.
getType
()
!=
CrosstownTypeEnum
.
DEPARTURE
.
getCode
())
{
if
(
StringUtils
.
isNotBlank
(
a
.
getViolateDetail
()))
{
orderPageVo
.
setDedDetailDTO
(
a
.
getViolateDetail
());
}
}
}
}
}
orderPageVo
.
setOrderVehicleCrosstownDto
(
orderVehicleCrosstownDto
);
orderPageVo
.
setOrderVehicleCrosstownDto
(
orderVehicleCrosstownDto
);
}
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderVehicleCrosstownBiz.java
View file @
2b0c0a86
...
@@ -155,7 +155,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
...
@@ -155,7 +155,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
ObjectRestResponse
<
OrderVehicleCrosstownDto
>
add
(
OrderVehicleCrosstownDto
orderVehicleCrosstownDto
)
{
public
ObjectRestResponse
<
OrderVehicleCrosstownDto
>
add
(
OrderVehicleCrosstownDto
orderVehicleCrosstownDto
)
{
log
.
info
(
"交还车参数:orderVehic
a
leCrosstown = {}"
,
orderVehicleCrosstownDto
);
log
.
info
(
"交还车参数:orderVehicleCrosstown = {}"
,
orderVehicleCrosstownDto
);
UserDTO
userDTO
=
userInfoBiz
.
getAdminUserInfo
();
UserDTO
userDTO
=
userInfoBiz
.
getAdminUserInfo
();
if
(
userDTO
==
null
)
{
if
(
userDTO
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
RSTOKEN_EXPIRED_CODE
,
"token is null or invalid"
);
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
RSTOKEN_EXPIRED_CODE
,
"token is null or invalid"
);
...
@@ -247,6 +247,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
...
@@ -247,6 +247,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
}
}
}
}
Double
cost
=
0.0
;
Double
cost
=
0.0
;
//定损扣除费用
if
(
StringUtils
.
isNotBlank
(
orderVehicleCrosstownDto
.
getDedDetail
()))
{
if
(
StringUtils
.
isNotBlank
(
orderVehicleCrosstownDto
.
getDedDetail
()))
{
JSONArray
jsonArray
=
JSONArray
.
parseArray
(
orderVehicleCrosstownDto
.
getDedDetail
());
JSONArray
jsonArray
=
JSONArray
.
parseArray
(
orderVehicleCrosstownDto
.
getDedDetail
());
for
(
int
i
=
0
;
i
<
jsonArray
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
jsonArray
.
size
();
i
++)
{
...
@@ -256,13 +257,19 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
...
@@ -256,13 +257,19 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
}
}
}
}
}
}
//延期扣除费用
if
(
StringUtils
.
isNotBlank
(
orderVehicleCrosstownDto
.
getViolateDetail
()))
{
if
(
StringUtils
.
isNotBlank
(
orderVehicleCrosstownDto
.
getViolateDetail
()))
{
JSONArray
jsonArray
=
JSONArray
.
parseArray
(
orderVehicleCrosstownDto
.
getDedDetail
());
JSONArray
jsonArray
=
JSONArray
.
parseArray
(
orderVehicleCrosstownDto
.
getDedDetail
());
for
(
int
i
=
0
;
i
<
jsonArray
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
jsonArray
.
size
();
i
++)
{
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
jsonArray
.
get
(
i
).
toString
());
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
jsonArray
.
get
(
i
).
toString
());
if
(
jsonObject
!=
null
)
{
if
(
jsonObject
!=
null
)
{
if
(
jsonObject
.
getString
(
"cost"
)
!=
null
)
{
cost
+=
Double
.
parseDouble
(
jsonObject
.
getString
(
"cost"
));
cost
+=
Double
.
parseDouble
(
jsonObject
.
getString
(
"cost"
));
}
}
if
(
jsonObject
.
getString
(
"excessCost"
)
!=
null
)
{
cost
+=
Double
.
parseDouble
(
jsonObject
.
getString
(
"excessCost"
));
}
}
}
}
}
}
orderVehicleCrosstownDto
.
getViolateDetail
();
orderVehicleCrosstownDto
.
getViolateDetail
();
...
@@ -312,57 +319,6 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
...
@@ -312,57 +319,6 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
baseOrder
.
setStatus
(
OrderStatusEnum
.
ORDER_WAIT
.
getCode
());
baseOrder
.
setStatus
(
OrderStatusEnum
.
ORDER_WAIT
.
getCode
());
baseOrder
=
baseOrderBiz
.
updateSelectiveByIdReT
(
baseOrder
);
baseOrder
=
baseOrderBiz
.
updateSelectiveByIdReT
(
baseOrder
);
}
else
if
(
baseOrder
.
getStatus
()
==
OrderStatusEnum
.
ORDER_WAIT
.
getCode
())
{
//还车
}
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
userUsedDay
=
getDaysBetweenDateTime
(
startTime
,
nowTime
);
orderRentVehicleDetail
.
setUsedDay
(
userUsedDay
);
orderRentVehicleBiz
.
updateSelectiveById
(
orderRentVehicleDetail
);
//实际预定的天数
int
actualDay
=
getDaysBetweenDateTime
(
startTime
,
endTime
);
if
(
orderRentVehicleDetail
.
getEndTime
()
>
nowTime
.
getMillis
())
{
//提前的天数, 当天就算使用一天
int
noUsedDay
=
getDaysBetweenDateTime
(
nowTime
,
endTime
)
-
1
;
//退还未使用的天数,或者金额,扣除违约金,实际未使用天数的金额,最多3000元
BigDecimal
cost
=
new
BigDecimal
(
0
);
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());
// }
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
())
{
//不定损直接还车
if
(
orderVehicleCrosstown
.
getType
()
==
CrosstownTypeEnum
.
ARRIVE
.
getCode
())
{
//不定损直接还车
//添加非定损记录
//添加非定损记录
Integer
orderId
=
baseOrder
.
getId
();
Integer
orderId
=
baseOrder
.
getId
();
...
@@ -431,29 +387,6 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
...
@@ -431,29 +387,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
)
{
public
void
getOrderLicense
(
OrderVehicleCrosstownDto
orderVehicleCrosstownDto
)
{
if
(
StringUtils
.
isNotBlank
(
orderVehicleCrosstownDto
.
getLicenseIdCard
()))
{
if
(
StringUtils
.
isNotBlank
(
orderVehicleCrosstownDto
.
getLicenseIdCard
()))
{
...
@@ -483,13 +416,4 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
...
@@ -483,13 +416,4 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
}
}
return
false
;
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
;
}
}
}
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