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
d3eb9951
Commit
d3eb9951
authored
Nov 27, 2019
by
jiaorz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增订单延长还车费用明细
parent
728cf4e0
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
726 additions
and
700 deletions
+726
-700
OrderViolateEnum.java
...fc/platform/order/contant/enumerate/OrderViolateEnum.java
+1
-0
OrderVehicleCrosstown.java
...com/xxfc/platform/order/entity/OrderVehicleCrosstown.java
+6
-0
DedDetailDTO.java
.../main/java/com/xxfc/platform/order/pojo/DedDetailDTO.java
+1
-0
OrderPageVO.java
.../java/com/xxfc/platform/order/pojo/order/OrderPageVO.java
+2
-0
BaseOrderBiz.java
...c/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
+704
-700
OrderVehicleCrosstownBiz.java
...com/xxfc/platform/order/biz/OrderVehicleCrosstownBiz.java
+12
-0
No files found.
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/contant/enumerate/OrderViolateEnum.java
View file @
d3eb9951
...
@@ -8,6 +8,7 @@ public enum OrderViolateEnum {
...
@@ -8,6 +8,7 @@ public enum OrderViolateEnum {
BEFORE
(
1
,
"提前"
),
BEFORE
(
1
,
"提前"
),
AFTER
(
2
,
"延期"
),
AFTER
(
2
,
"延期"
),
CHANGE
(
3
,
"更换还车公司"
),
CHANGE
(
3
,
"更换还车公司"
),
DELAY_VEHICLE
(
4
,
"延长还车不计免赔"
)
;
;
/**
/**
* 编码
* 编码
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/entity/OrderVehicleCrosstown.java
View file @
d3eb9951
...
@@ -112,6 +112,12 @@ public class OrderVehicleCrosstown {
...
@@ -112,6 +112,12 @@ public class OrderVehicleCrosstown {
@Column
(
name
=
"violate_amount_detail"
)
@Column
(
name
=
"violate_amount_detail"
)
private
String
violateDetail
;
private
String
violateDetail
;
/**
* 延期还车,不计免赔额计算
*/
@Column
(
name
=
"delay_vehicle_detail"
)
private
String
delayVehicleDetail
;
/**
/**
* 1、交车, 2、还车, 3、定损还车
* 1、交车, 2、还车, 3、定损还车
*/
*/
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/DedDetailDTO.java
View file @
d3eb9951
...
@@ -33,6 +33,7 @@ public class DedDetailDTO {
...
@@ -33,6 +33,7 @@ public class DedDetailDTO {
//作为:DedDetail :2、车辆损坏 3、其他
//作为:DedDetail :2、车辆损坏 3、其他
//作为:violate_amount_detail 1--提前还车 2--延期还车 3--更换还车公司费用
//作为:violate_amount_detail 1--提前还车 2--延期还车 3--更换还车公司费用
//作为:delay_vehicle_detail
Integer
type
;
Integer
type
;
//小雨都不知道什么东西
//小雨都不知道什么东西
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/order/OrderPageVO.java
View file @
d3eb9951
...
@@ -40,6 +40,8 @@ public class OrderPageVO extends BaseOrder {
...
@@ -40,6 +40,8 @@ public class OrderPageVO extends BaseOrder {
private
String
positionName
;
private
String
positionName
;
//订单违约金
//订单违约金
private
String
dedDetailDTO
;
private
String
dedDetailDTO
;
//订单延长还车,不计免赔额
private
String
delayVehicleDetail
;
/**
/**
* 車輛編碼
* 車輛編碼
*/
*/
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
View file @
d3eb9951
...
@@ -80,172 +80,173 @@ import static com.xxfc.platform.universal.constant.DictionaryKey.ILLEGAL_TYPE;
...
@@ -80,172 +80,173 @@ import static com.xxfc.platform.universal.constant.DictionaryKey.ILLEGAL_TYPE;
@Slf4j
@Slf4j
public
class
BaseOrderBiz
extends
BaseBiz
<
BaseOrderMapper
,
BaseOrder
>
implements
UserRestInterface
{
public
class
BaseOrderBiz
extends
BaseBiz
<
BaseOrderMapper
,
BaseOrder
>
implements
UserRestInterface
{
@Autowired
@Autowired
OrderMemberDetailBiz
orderMemberDetailBiz
;
OrderMemberDetailBiz
orderMemberDetailBiz
;
@Autowired
@Autowired
OrderTourDetailBiz
orderTourDetailBiz
;
OrderTourDetailBiz
orderTourDetailBiz
;
@Autowired
@Autowired
OrderRentVehicleBiz
orderRentVehicleBiz
;
OrderRentVehicleBiz
orderRentVehicleBiz
;
@Autowired
@Autowired
OrderVehicleCrosstownBiz
orderVehicleCrosstownBiz
;
OrderVehicleCrosstownBiz
orderVehicleCrosstownBiz
;
@Autowired
@Autowired
OrderUserLicenseBiz
orderUserLicenseBiz
;
OrderUserLicenseBiz
orderUserLicenseBiz
;
@Autowired
@Autowired
OrderItemBiz
orderItemBiz
;
OrderItemBiz
orderItemBiz
;
@Autowired
@Autowired
OrderAccountBiz
orderAccountBiz
;
OrderAccountBiz
orderAccountBiz
;
@Autowired
@Autowired
VehicleFeign
vehicleFeign
;
VehicleFeign
vehicleFeign
;
@Autowired
@Autowired
ThirdFeign
thirdFeign
;
ThirdFeign
thirdFeign
;
@Autowired
@Autowired
TourFeign
tourFeign
;
TourFeign
tourFeign
;
@Autowired
@Autowired
UserFeign
userFeign
;
UserFeign
userFeign
;
@Autowired
@Autowired
MQSenderFeign
mqSenderFeign
;
MQSenderFeign
mqSenderFeign
;
@Autowired
@Autowired
OrderMsgBiz
orderMsgBiz
;
OrderMsgBiz
orderMsgBiz
;
@Autowired
@Autowired
ActivityFeign
activityFeign
;
ActivityFeign
activityFeign
;
@Autowired
@Autowired
OrderCalculateBiz
orderCalculateBiz
;
OrderCalculateBiz
orderCalculateBiz
;
public
static
final
DateTimeFormatter
DEFAULT_DATE_TIME_FORMATTER
=
DateTimeFormat
.
forPattern
(
"yyyy-MM-dd HH:mm:ss"
);
public
static
final
DateTimeFormatter
DEFAULT_DATE_TIME_FORMATTER
=
DateTimeFormat
.
forPattern
(
"yyyy-MM-dd HH:mm:ss"
);
public
List
<
OrderPageVO
>
pageByParm
(
Map
<
String
,
Object
>
paramMap
)
{
public
List
<
OrderPageVO
>
pageByParm
(
Map
<
String
,
Object
>
paramMap
)
{
return
mapper
.
pageByParm
(
paramMap
);
return
mapper
.
pageByParm
(
paramMap
);
}
}
public
List
<
OrderListVo
>
listOrder
(
Map
<
String
,
Object
>
paramMap
)
{
public
List
<
OrderListVo
>
listOrder
(
Map
<
String
,
Object
>
paramMap
)
{
List
<
OrderListVo
>
orderListVos
=
mapper
.
listOrder
(
paramMap
);
List
<
OrderListVo
>
orderListVos
=
mapper
.
listOrder
(
paramMap
);
return
orderListVos
;
return
orderListVos
;
}
}
public
List
<
OrderPageVO
>
getRentVehicle
(
Map
<
String
,
Object
>
paramMap
)
{
public
List
<
OrderPageVO
>
getRentVehicle
(
Map
<
String
,
Object
>
paramMap
)
{
return
mapper
.
getRentVehicle
(
paramMap
);
return
mapper
.
getRentVehicle
(
paramMap
);
}
}
public
List
<
OrderPageVO
>
getTourList
(
Map
<
String
,
Object
>
paramMap
)
{
public
List
<
OrderPageVO
>
getTourList
(
Map
<
String
,
Object
>
paramMap
)
{
return
mapper
.
getTourList
(
paramMap
);
return
mapper
.
getTourList
(
paramMap
);
}
}
public
PageDataVO
<
MemberOrderBo
>
findMemberOrderPage
(
MemberOrderFindDTO
memberOrderFindDTO
)
{
public
PageDataVO
<
MemberOrderBo
>
findMemberOrderPage
(
MemberOrderFindDTO
memberOrderFindDTO
)
{
return
PageDataVO
.
pageInfo
(
memberOrderFindDTO
.
getPage
(),
memberOrderFindDTO
.
getLimit
(),()->
mapper
.
findMemberOrders
(
memberOrderFindDTO
));
return
PageDataVO
.
pageInfo
(
memberOrderFindDTO
.
getPage
(),
memberOrderFindDTO
.
getLimit
(),
()
->
mapper
.
findMemberOrders
(
memberOrderFindDTO
));
}
}
public
List
<
MemberOrderBo
>
findMemberOrders
(
MemberOrderFindDTO
memberOrderFindDTO
)
{
public
List
<
MemberOrderBo
>
findMemberOrders
(
MemberOrderFindDTO
memberOrderFindDTO
)
{
return
mapper
.
findMemberOrders
(
memberOrderFindDTO
);
return
mapper
.
findMemberOrders
(
memberOrderFindDTO
);
}
}
// public List<MemberOrderBo>
// public List<MemberOrderBo>
/**
/**
* 获取订单详情
* 获取订单详情
*
*
* @param no
* @param no
* @return
* @return
*/
*/
public
ObjectRestResponse
<
OrderPageVO
>
getOrderDetail
(
String
no
,
UserDTO
userDTO
)
{
public
ObjectRestResponse
<
OrderPageVO
>
getOrderDetail
(
String
no
,
UserDTO
userDTO
)
{
OrderPageVO
orderPageVo
=
mapper
.
getOrderDetail
(
no
);
OrderPageVO
orderPageVo
=
mapper
.
getOrderDetail
(
no
);
if
(
orderPageVo
==
null
)
{
if
(
orderPageVo
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
ResCode
.
ORDER_IS_NOT_EXIST
.
getCode
(),
ResCode
.
ORDER_IS_NOT_EXIST
.
getDesc
());
return
ObjectRestResponse
.
createFailedResult
(
ResCode
.
ORDER_IS_NOT_EXIST
.
getCode
(),
ResCode
.
ORDER_IS_NOT_EXIST
.
getDesc
());
}
}
if
(
orderPageVo
.
getStatus
()
<=
3
&&
orderPageVo
.
getStatus
()
!=
2
&&
orderPageVo
.
getStatus
()
!=
-
1
)
{
if
(
orderPageVo
.
getStatus
()
<=
3
&&
orderPageVo
.
getStatus
()
!=
2
&&
orderPageVo
.
getStatus
()
!=
-
1
)
{
return
ObjectRestResponse
.
createFailedResult
(
ResCode
.
ORDER_DETAIL_IS_NOT_EXIST
.
getCode
(),
ResCode
.
ORDER_DETAIL_IS_NOT_EXIST
.
getDesc
());
return
ObjectRestResponse
.
createFailedResult
(
ResCode
.
ORDER_DETAIL_IS_NOT_EXIST
.
getCode
(),
ResCode
.
ORDER_DETAIL_IS_NOT_EXIST
.
getDesc
());
}
}
AppUserDTO
appUserVo
=
userFeign
.
userDetailById
(
orderPageVo
.
getUserId
()).
getData
();
AppUserDTO
appUserVo
=
userFeign
.
userDetailById
(
orderPageVo
.
getUserId
()).
getData
();
if
(
appUserVo
!=
null
)
{
if
(
appUserVo
!=
null
)
{
orderPageVo
.
setTelephone
(
appUserVo
.
getUsername
());
orderPageVo
.
setTelephone
(
appUserVo
.
getUsername
());
orderPageVo
.
setUsername
(
appUserVo
.
getRealname
());
orderPageVo
.
setUsername
(
appUserVo
.
getRealname
());
}
}
List
<
BranchCompany
>
branchCompanies
=
vehicleFeign
.
companyAll
(
userDTO
.
getDataAll
(),
userDTO
.
getDataCompany
(),
userDTO
.
getDataZone
());
List
<
BranchCompany
>
branchCompanies
=
vehicleFeign
.
companyAll
(
userDTO
.
getDataAll
(),
userDTO
.
getDataCompany
(),
userDTO
.
getDataZone
());
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
());
}
}
if
(
userDTO
.
getCompanyId
()
==
orderPageVo
.
getOrderRentVehicleDetail
().
getEndCompanyId
())
{
if
(
userDTO
.
getCompanyId
()
==
orderPageVo
.
getOrderRentVehicleDetail
().
getEndCompanyId
())
{
orderPageVo
.
setUserCompanyStatus
(
true
);
orderPageVo
.
setUserCompanyStatus
(
true
);
}
}
if
(
orderPageVo
.
getStatus
()
==
4
)
{
//未交车
if
(
orderPageVo
.
getStatus
()
==
4
)
{
//未交车
// boolean flag = getTodayTime(orderPageVo.getOrderRentVehicleDetail().getStartTime());
// boolean flag = getTodayTime(orderPageVo.getOrderRentVehicleDetail().getStartTime());
// if (!flag) {
// if (!flag) {
// return ObjectRestResponse.createFailedResult(3501, "今日不是交车日期");
// return ObjectRestResponse.createFailedResult(3501, "今日不是交车日期");
// }
// }
getDriverInfo
(
orderPageVo
);
getDriverInfo
(
orderPageVo
);
}
else
if
(
orderPageVo
.
getStatus
()
>=
5
||
orderPageVo
.
getStatus
()
==
-
1
)
{
//出行中 已交车
}
else
if
(
orderPageVo
.
getStatus
()
>=
5
||
orderPageVo
.
getStatus
()
==
-
1
)
{
//出行中 已交车
//设置违约金金额
//设置违约金金额
getDriverInfo
(
orderPageVo
);
getDriverInfo
(
orderPageVo
);
getUserLicense
(
orderPageVo
);
getUserLicense
(
orderPageVo
);
}
}
ObjectRestResponse
<
CompanyDetail
>
startResponse
=
vehicleFeign
.
getCompanyDetail
(
orderPageVo
.
getOrderRentVehicleDetail
().
getStartCompanyId
());
ObjectRestResponse
<
CompanyDetail
>
startResponse
=
vehicleFeign
.
getCompanyDetail
(
orderPageVo
.
getOrderRentVehicleDetail
().
getStartCompanyId
());
if
(
startResponse
.
getData
()
!=
null
)
{
if
(
startResponse
.
getData
()
!=
null
)
{
orderPageVo
.
setStartCompanyName
(
startResponse
.
getData
().
getName
());
orderPageVo
.
setStartCompanyName
(
startResponse
.
getData
().
getName
());
}
}
ObjectRestResponse
<
CompanyDetail
>
restResponse
=
vehicleFeign
.
getCompanyDetail
(
orderPageVo
.
getOrderRentVehicleDetail
().
getEndCompanyId
());
if
(
restResponse
.
getData
()
!=
null
)
{
orderPageVo
.
setEndCompanyName
(
restResponse
.
getData
().
getName
());
}
RestResponse
<
Vehicle
>
response
=
vehicleFeign
.
findById
(
orderPageVo
.
getOrderRentVehicleDetail
().
getVehicleId
());
if
(
response
.
getData
()
!=
null
)
{
orderPageVo
.
setVehicalNumberPlat
(
response
.
getData
().
getNumberPlate
());
orderPageVo
.
setCode
(
response
.
getData
().
getCode
());
}
}
else
if
(
orderPageVo
.
getOrderTourDetail
()
!=
null
)
{
if
(
StringUtils
.
isNotBlank
(
orderPageVo
.
getOrderTourDetail
().
getTourUserIds
()))
{
List
<
TourUser
>
list
=
tourFeign
.
getTourUsers
(
orderPageVo
.
getOrderTourDetail
().
getTourUserIds
()).
getData
();
orderPageVo
.
getOrderTourDetail
().
setUserVoList
(
list
==
null
||
list
.
size
()
<=
0
?
new
ArrayList
<>()
:
list
);
}
}
//设置保留金
ObjectRestResponse
<
CompanyDetail
>
restResponse
=
vehicleFeign
.
getCompanyDetail
(
orderPageVo
.
getOrderRentVehicleDetail
().
getEndCompanyId
());
Map
<
String
,
Dictionary
>
dictionaryMap
=
thirdFeign
.
dictionaryGetAll4Map
().
getData
();
if
(
restResponse
.
getData
()
!=
null
)
{
BigDecimal
illegalReserve
=
new
BigDecimal
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
ILLEGAL_RESERVE
).
getDetail
());
orderPageVo
.
setEndCompanyName
(
restResponse
.
getData
().
getName
());
orderPageVo
.
setIllegalReserve
(
illegalReserve
);
}
orderPageVo
.
setItems
(
orderItemBiz
.
selectList
(
new
OrderItem
(){{
RestResponse
<
Vehicle
>
response
=
vehicleFeign
.
findById
(
orderPageVo
.
getOrderRentVehicleDetail
().
getVehicleId
());
setOrderId
(
orderPageVo
.
getId
());
if
(
response
.
getData
()
!=
null
)
{
}}));
orderPageVo
.
setVehicalNumberPlat
(
response
.
getData
().
getNumberPlate
());
return
ObjectRestResponse
.
succ
(
orderPageVo
);
orderPageVo
.
setCode
(
response
.
getData
().
getCode
());
}
}
}
else
if
(
orderPageVo
.
getOrderTourDetail
()
!=
null
)
{
/**
if
(
StringUtils
.
isNotBlank
(
orderPageVo
.
getOrderTourDetail
().
getTourUserIds
()))
{
* 后台获取订单详情
List
<
TourUser
>
list
=
tourFeign
.
getTourUsers
(
orderPageVo
.
getOrderTourDetail
().
getTourUserIds
()).
getData
();
* @param no
orderPageVo
.
getOrderTourDetail
().
setUserVoList
(
list
==
null
||
list
.
size
()
<=
0
?
new
ArrayList
<>()
:
list
);
* @param userDTO
}
* @return
}
*/
//设置保留金
Map
<
String
,
Dictionary
>
dictionaryMap
=
thirdFeign
.
dictionaryGetAll4Map
().
getData
();
BigDecimal
illegalReserve
=
new
BigDecimal
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
ILLEGAL_RESERVE
).
getDetail
());
orderPageVo
.
setIllegalReserve
(
illegalReserve
);
orderPageVo
.
setItems
(
orderItemBiz
.
selectList
(
new
OrderItem
()
{{
setOrderId
(
orderPageVo
.
getId
());
}}));
return
ObjectRestResponse
.
succ
(
orderPageVo
);
}
/**
* 后台获取订单详情
*
* @param no
* @param userDTO
* @return
*/
public
ObjectRestResponse
<
OrderPageVO
>
orderDetail
(
String
no
,
UserDTO
userDTO
)
{
public
ObjectRestResponse
<
OrderPageVO
>
orderDetail
(
String
no
,
UserDTO
userDTO
)
{
OrderPageVO
orderPageVo
=
mapper
.
getOrderDetail
(
no
);
OrderPageVO
orderPageVo
=
mapper
.
getOrderDetail
(
no
);
if
(
orderPageVo
==
null
)
{
if
(
orderPageVo
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
ResCode
.
ORDER_IS_NOT_EXIST
.
getCode
(),
ResCode
.
ORDER_IS_NOT_EXIST
.
getDesc
());
return
ObjectRestResponse
.
createFailedResult
(
ResCode
.
ORDER_IS_NOT_EXIST
.
getCode
(),
ResCode
.
ORDER_IS_NOT_EXIST
.
getDesc
());
}
}
AppUserDTO
appUserVo
=
userFeign
.
userDetailById
(
orderPageVo
.
getUserId
()).
getData
();
AppUserDTO
appUserVo
=
userFeign
.
userDetailById
(
orderPageVo
.
getUserId
()).
getData
();
if
(
appUserVo
!=
null
)
{
if
(
appUserVo
!=
null
)
{
orderPageVo
.
setTelephone
(
appUserVo
.
getUsername
());
orderPageVo
.
setTelephone
(
appUserVo
.
getUsername
());
orderPageVo
.
setUsername
(
appUserVo
.
getRealname
());
orderPageVo
.
setUsername
(
appUserVo
.
getRealname
());
orderPageVo
.
setPositionName
(
appUserVo
.
getPositionName
());
orderPageVo
.
setPositionName
(
appUserVo
.
getPositionName
());
}
}
List
<
BranchCompany
>
branchCompanies
=
vehicleFeign
.
companyAll
(
userDTO
.
getDataAll
(),
userDTO
.
getDataCompany
(),
userDTO
.
getDataZone
());
List
<
BranchCompany
>
branchCompanies
=
vehicleFeign
.
companyAll
(
userDTO
.
getDataAll
(),
userDTO
.
getDataCompany
(),
userDTO
.
getDataZone
());
List
<
Integer
>
companyIds
=
branchCompanies
.
stream
().
map
(
BranchCompany:
:
getId
).
collect
(
Collectors
.
toList
());
List
<
Integer
>
companyIds
=
branchCompanies
.
stream
().
map
(
BranchCompany:
:
getId
).
collect
(
Collectors
.
toList
());
...
@@ -255,7 +256,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
...
@@ -255,7 +256,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
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
());
}
}
if
(
userDTO
.
getCompanyId
()
==
orderPageVo
.
getOrderRentVehicleDetail
().
getEndCompanyId
())
{
if
(
userDTO
.
getCompanyId
()
==
orderPageVo
.
getOrderRentVehicleDetail
().
getEndCompanyId
())
{
orderPageVo
.
setUserCompanyStatus
(
true
);
orderPageVo
.
setUserCompanyStatus
(
true
);
}
}
if
(
orderPageVo
.
getStatus
()
==
4
)
{
//未交车
if
(
orderPageVo
.
getStatus
()
==
4
)
{
//未交车
...
@@ -285,7 +286,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
...
@@ -285,7 +286,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
}
}
}
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
();
orderPageVo
.
getOrderTourDetail
().
setUserVoList
(
list
==
null
||
list
.
size
()
<=
0
?
new
ArrayList
<>()
:
list
);
orderPageVo
.
getOrderTourDetail
().
setUserVoList
(
list
==
null
||
list
.
size
()
<=
0
?
new
ArrayList
<>()
:
list
);
}
}
...
@@ -295,30 +296,30 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
...
@@ -295,30 +296,30 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
Map
<
String
,
Dictionary
>
dictionaryMap
=
thirdFeign
.
dictionaryGetAll4Map
().
getData
();
Map
<
String
,
Dictionary
>
dictionaryMap
=
thirdFeign
.
dictionaryGetAll4Map
().
getData
();
BigDecimal
illegalReserve
=
new
BigDecimal
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
ILLEGAL_RESERVE
).
getDetail
());
BigDecimal
illegalReserve
=
new
BigDecimal
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
ILLEGAL_RESERVE
).
getDetail
());
orderPageVo
.
setIllegalReserve
(
illegalReserve
);
orderPageVo
.
setIllegalReserve
(
illegalReserve
);
orderPageVo
.
setItems
(
orderItemBiz
.
selectList
(
new
OrderItem
(){{
orderPageVo
.
setItems
(
orderItemBiz
.
selectList
(
new
OrderItem
()
{{
setOrderId
(
orderPageVo
.
getId
());
setOrderId
(
orderPageVo
.
getId
());
}}));
}}));
return
ObjectRestResponse
.
succ
(
orderPageVo
);
return
ObjectRestResponse
.
succ
(
orderPageVo
);
}
}
//获取两个日期之间的天数(不包含头尾)
//获取两个日期之间的天数(不包含头尾)
public
int
getDaysBetweenDateTime
(
DateTime
startDay
,
DateTime
endDay
)
{
public
int
getDaysBetweenDateTime
(
DateTime
startDay
,
DateTime
endDay
)
{
int
a
=
0
;
int
a
=
0
;
for
(
DateTime
curDate
=
startDay
.
plusDays
(
1
);
curDate
.
compareTo
(
endDay
)
<
0
;
curDate
=
curDate
.
plusDays
(
1
))
{
for
(
DateTime
curDate
=
startDay
.
plusDays
(
1
);
curDate
.
compareTo
(
endDay
)
<
0
;
curDate
=
curDate
.
plusDays
(
1
))
{
a
++;
a
++;
}
}
return
a
;
return
a
;
}
}
//获取两个日期之间的天数(包含头尾)
//获取两个日期之间的天数(包含头尾)
public
int
getDaysBetweenDateTimeHasStartEnd
(
DateTime
startDay
,
DateTime
endDay
)
{
public
int
getDaysBetweenDateTimeHasStartEnd
(
DateTime
startDay
,
DateTime
endDay
)
{
int
a
=
0
;
int
a
=
0
;
for
(
DateTime
curDate
=
startDay
;
curDate
.
compareTo
(
endDay
)
<=
0
;
curDate
=
curDate
.
plusHours
(
1
))
{
for
(
DateTime
curDate
=
startDay
;
curDate
.
compareTo
(
endDay
)
<=
0
;
curDate
=
curDate
.
plusHours
(
1
))
{
a
++;
a
++;
}
}
return
a
;
return
a
;
}
}
// public static void main(String[] args) {
// public static void main(String[] args) {
// DateTime dateTime = DateTime.parse("2019-09-20 12:00:00", DEFAULT_DATE_TIME_FORMATTER);
// DateTime dateTime = DateTime.parse("2019-09-20 12:00:00", DEFAULT_DATE_TIME_FORMATTER);
...
@@ -329,489 +330,491 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
...
@@ -329,489 +330,491 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
// System.out.println(a);
// System.out.println(a);
// }
// }
public
void
updateCrossRefund
(
OrderPageVO
orderPageVO
)
{
public
void
updateCrossRefund
(
OrderPageVO
orderPageVO
)
{
//计算延期费用
//计算延期费用
DedDetailDTO
dedDetailDTO
=
new
DedDetailDTO
();
DedDetailDTO
dedDetailDTO
=
new
DedDetailDTO
();
//提前还车,结束时间大于当前时间
//提前还车,结束时间大于当前时间
Long
nowTime
=
System
.
currentTimeMillis
();
Long
nowTime
=
System
.
currentTimeMillis
();
Long
endTime
=
orderPageVO
.
getOrderRentVehicleDetail
().
getEndTime
();
Long
endTime
=
orderPageVO
.
getOrderRentVehicleDetail
().
getEndTime
();
Long
startTime
=
orderPageVO
.
getOrderRentVehicleDetail
().
getStartTime
();
Long
startTime
=
orderPageVO
.
getOrderRentVehicleDetail
().
getStartTime
();
//设置使用天数
//设置使用天数
int
userUsedDay
=
orderCalculateBiz
.
getIncludeDays
(
startTime
,
nowTime
);
int
userUsedDay
=
orderCalculateBiz
.
getIncludeDays
(
startTime
,
nowTime
);
orderPageVO
.
getOrderRentVehicleDetail
().
setUsedDay
(
userUsedDay
);
orderPageVO
.
getOrderRentVehicleDetail
().
setUsedDay
(
userUsedDay
);
orderRentVehicleBiz
.
updateSelectiveById
(
orderPageVO
.
getOrderRentVehicleDetail
());
orderRentVehicleBiz
.
updateSelectiveById
(
orderPageVO
.
getOrderRentVehicleDetail
());
//实际预定的天数
//实际预定的天数
int
actualDay
=
orderCalculateBiz
.
getIncludeDays
(
startTime
,
endTime
);
int
actualDay
=
orderCalculateBiz
.
getIncludeDays
(
startTime
,
endTime
);
Integer
orderId
=
orderPageVO
.
getId
();
InProgressVO
inProgressVO
=
orderCalculateBiz
.
inProgressCalculate
(
orderPageVO
,
userUsedDay
);
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
;
}
}
}
/**
* 提前还车
*/
if
(
userUsedDay
-
actualDay
<
0
)
{
StringBuilder
stringBuilder
=
new
StringBuilder
();
//提前的天数, 当天就算使用一天
int
noUsedDay
=
actualDay
-
userUsedDay
;
//退还未使用的天数,或者金额,扣除违约金,实际未使用天数的金额,最多3000元
InProgressVO
inProgressVO
=
orderCalculateBiz
.
inProgressCalculate
(
orderPageVO
,
userUsedDay
);
if
(
inProgressVO
!=
null
)
{
//消费超额金
if
(
inProgressVO
.
getExtraAmount
()
!=
null
)
{
dedDetailDTO
.
setExcessCost
(
inProgressVO
.
getExtraAmount
());
}
stringBuilder
.
append
(
"违约金( "
);
stringBuilder
.
append
(
noUsedDay
);
stringBuilder
.
append
(
"天) = "
);
stringBuilder
.
append
(
inProgressVO
.
getViolateAmount
());
initDedDetail
(
dedDetailDTO
,
OrderViolateEnum
.
BEFORE
.
getCode
(),
inProgressVO
.
getViolateAmount
(),
stringBuilder
);
}
/**
* 延期还车
*/
}
else
if
(
userUsedDay
-
actualDay
>
0
)
{
StringBuilder
stringBuilder
=
new
StringBuilder
();
stringBuilder
.
append
(
"违约金( "
);
//延期的天数, 延期违约金是延期天数*200%
InProgressVO
inProgressVO
=
orderCalculateBiz
.
inProgressCalculate
(
orderPageVO
,
userUsedDay
);
if
(
inProgressVO
!=
null
)
{
int
extraUsedDay
=
userUsedDay
-
actualDay
;
if
(
extraUsedDay
>
0
)
{
stringBuilder
.
append
(
extraUsedDay
);
stringBuilder
.
append
(
"(天)"
);
stringBuilder
.
append
(
" x 2)"
);
stringBuilder
.
append
(
" = "
);
stringBuilder
.
append
(
inProgressVO
.
getViolateAmount
());
stringBuilder
.
append
(
"元"
);
initDedDetail
(
dedDetailDTO
,
OrderViolateEnum
.
AFTER
.
getCode
(),
inProgressVO
.
getViolateAmount
(),
stringBuilder
);
}
}
}
JSONArray
jsonArray
=
new
JSONArray
();
JSONArray
jsonArray
=
new
JSONArray
();
if
((
dedDetailDTO
.
getCost
()
!=
null
&&
dedDetailDTO
.
getCost
().
doubleValue
()
!=
0
)
||
(
dedDetailDTO
.
getExcessCost
()!=
null
&&
dedDetailDTO
.
getExcessCost
().
doubleValue
()
!=
0
))
{
if
(
inProgressVO
!=
null
)
{
jsonArray
.
add
(
dedDetailDTO
);
//新增延长还车,不计免赔额,金额大于0才显示
}
if
(
inProgressVO
.
getDelayDamageSafeAmount
()
!=
null
&&
inProgressVO
.
getDelayDamageSafeAmount
().
doubleValue
()
>
0
)
{
DedDetailDTO
dedDetailDTO1
=
new
DedDetailDTO
();
StringBuilder
stringBuilder
=
new
StringBuilder
();
//添加更改还车公司计算费用
stringBuilder
.
append
(
"延长用车"
);
if
(
orderPageVO
.
getOrderRentVehicleDetail
()
!=
null
&&
orderPageVO
.
getOrderRentVehicleDetail
().
getBookRecordId
()
!=
null
)
{
stringBuilder
.
append
(
inProgressVO
.
getDelayAddDays
());
//查询是否有更换还车记录
stringBuilder
.
append
(
"天, 补扣不计免赔费用"
);
List
<
BookRecordUpdateLog
>
bookRecordUpdateLogs
=
vehicleFeign
.
get
(
orderPageVO
.
getOrderRentVehicleDetail
().
getBookRecordId
()).
getData
();
stringBuilder
.
append
(
inProgressVO
.
getDelayDamageSafeAmount
());
if
(
bookRecordUpdateLogs
!=
null
&&
bookRecordUpdateLogs
.
size
()
>
0
)
{
stringBuilder
.
append
(
"元"
);
orderPageVO
.
setBookRecordUpdateLogs
(
bookRecordUpdateLogs
);
initDedDetail
(
dedDetailDTO
,
OrderViolateEnum
.
DELAY_VEHICLE
.
getCode
(),
inProgressVO
.
getDelayDamageSafeAmount
(),
stringBuilder
);
//有更换记录,则需要计算更换费用
jsonArray
.
add
(
dedDetailDTO
);
//原始公司经纬度,列表中最后一个 bookRecordUpdateLogs.get(bookRecordUpdateLogs.size -1 ) 最后还车公司是列表中的第一条中的getNewRetCompanyId
orderPageVO
.
setDelayVehicleDetail
(
jsonArray
.
toJSONString
());
BookRecordUpdateLog
oldCompany
=
bookRecordUpdateLogs
.
get
(
bookRecordUpdateLogs
.
size
()
-
1
);
jsonArray
.
clear
();
BookRecordUpdateLog
newCompany
=
bookRecordUpdateLogs
.
get
(
0
);
}
if
(
oldCompany
!=
null
&&
newCompany
!=
null
)
{
/**
CompanyDetail
oldCompanyDetail
=
vehicleFeign
.
getCompanyDetail
(
oldCompany
.
getOldRetCompanyId
()).
getData
();
* 提前还车
CompanyDetail
newCompanyDetail
=
vehicleFeign
.
getCompanyDetail
(
newCompany
.
getNewRetCompanyId
()).
getData
();
*/
if
(
oldCompanyDetail
.
getLatitude
()
!=
null
&&
oldCompanyDetail
.
getLongitude
()
!=
null
&&
newCompanyDetail
.
getLongitude
()
!=
null
&&
newCompanyDetail
.
getLatitude
()
!=
null
)
{
if
(
userUsedDay
-
actualDay
<
0
)
{
//根据经纬度获取两个公司的距离
StringBuilder
stringBuilder
=
new
StringBuilder
();
double
distance
=
DistanceUtil
.
getDistance
(
oldCompanyDetail
.
getLongitude
().
doubleValue
(),
oldCompanyDetail
.
getLatitude
().
doubleValue
(),
newCompanyDetail
.
getLongitude
().
doubleValue
(),
newCompanyDetail
.
getLatitude
().
doubleValue
());
//提前的天数, 当天就算使用一天
log
.
info
(
"两个公司的距离为(米): {}"
,
distance
);
int
noUsedDay
=
actualDay
-
userUsedDay
;
BigDecimal
distanceNum
=
new
BigDecimal
(
distance
+
""
).
divide
(
new
BigDecimal
(
"1000"
),
0
,
BigDecimal
.
ROUND_UP
);
//退还未使用的天数,或者金额,扣除违约金,实际未使用天数的金额,最多3000元
//取出费用计算的单价
//消费超额金
Map
<
String
,
Dictionary
>
dictionaryMap
=
thirdFeign
.
dictionaryGetAll4Map
().
getData
();
if
(
inProgressVO
.
getExtraAmount
()
!=
null
)
{
BigDecimal
illegalReserve
=
new
BigDecimal
(
dictionaryMap
.
get
(
ILLEGAL_TYPE
+
"_"
+
DictionaryKey
.
ILLEGAL_FEE_PRICE
).
getDetail
());
dedDetailDTO
.
setExcessCost
(
inProgressVO
.
getExtraAmount
());
BigDecimal
totalCost
=
distanceNum
.
multiply
(
illegalReserve
);
}
log
.
info
(
"更换两个公司的总费用为: {}"
,
totalCost
);
stringBuilder
.
append
(
"违约金( "
);
StringBuilder
stringBuilder
=
new
StringBuilder
();
stringBuilder
.
append
(
noUsedDay
);
stringBuilder
.
append
(
illegalReserve
);
stringBuilder
.
append
(
"天) = "
);
stringBuilder
.
append
(
" x "
);
stringBuilder
.
append
(
inProgressVO
.
getViolateAmount
());
stringBuilder
.
append
(
distanceNum
);
initDedDetail
(
dedDetailDTO
,
OrderViolateEnum
.
BEFORE
.
getCode
(),
inProgressVO
.
getViolateAmount
(),
stringBuilder
);
stringBuilder
.
append
(
"(KM)"
);
/**
stringBuilder
.
append
(
" = "
);
* 延期还车
stringBuilder
.
append
(
totalCost
);
*/
stringBuilder
.
append
(
"元"
);
}
else
if
(
userUsedDay
-
actualDay
>
0
)
{
dedDetailDTO1
.
setCost
(
totalCost
);
StringBuilder
stringBuilder
=
new
StringBuilder
();
initDedDetail
(
dedDetailDTO1
,
OrderViolateEnum
.
CHANGE
.
getCode
(),
totalCost
,
stringBuilder
);
stringBuilder
.
append
(
"违约金( "
);
}
//延期的天数, 延期违约金是延期天数*200%
}
int
extraUsedDay
=
userUsedDay
-
actualDay
;
}
if
(
extraUsedDay
>
0
)
{
}
stringBuilder
.
append
(
extraUsedDay
);
if
(
dedDetailDTO1
.
getCost
()
!=
null
&&
dedDetailDTO1
.
getCost
().
doubleValue
()
!=
0
)
{
stringBuilder
.
append
(
"(天)"
);
jsonArray
.
add
(
dedDetailDTO1
);
stringBuilder
.
append
(
" x 2)"
);
}
stringBuilder
.
append
(
" = "
);
orderPageVO
.
setDedDetailDTO
(
jsonArray
.
toJSONString
());
stringBuilder
.
append
(
inProgressVO
.
getViolateAmount
());
}
stringBuilder
.
append
(
"元"
);
initDedDetail
(
dedDetailDTO
,
OrderViolateEnum
.
AFTER
.
getCode
(),
inProgressVO
.
getViolateAmount
(),
stringBuilder
);
}
/**
}
* 初始化违约金实体
}
* @param dedDetailDTO
if
((
dedDetailDTO
.
getCost
()
!=
null
&&
dedDetailDTO
.
getCost
().
doubleValue
()
!=
0
)
||
(
dedDetailDTO
.
getExcessCost
()
!=
null
&&
dedDetailDTO
.
getExcessCost
().
doubleValue
()
!=
0
))
{
* @param type
jsonArray
.
add
(
dedDetailDTO
);
* @param cost
}
* @param stringBuilder
DedDetailDTO
dedDetailDTO1
=
new
DedDetailDTO
();
*/
//添加更改还车公司计算费用
public
void
initDedDetail
(
DedDetailDTO
dedDetailDTO
,
Integer
type
,
BigDecimal
cost
,
StringBuilder
stringBuilder
)
{
if
(
orderPageVO
.
getOrderRentVehicleDetail
()
!=
null
&&
orderPageVO
.
getOrderRentVehicleDetail
().
getBookRecordId
()
!=
null
)
{
String
detailName
=
null
;
//查询是否有更换还车记录
if
(
type
==
OrderViolateEnum
.
BEFORE
.
getCode
())
{
List
<
BookRecordUpdateLog
>
bookRecordUpdateLogs
=
vehicleFeign
.
get
(
orderPageVO
.
getOrderRentVehicleDetail
().
getBookRecordId
()).
getData
();
dedDetailDTO
.
setType
(
OrderViolateEnum
.
BEFORE
.
getCode
());
if
(
bookRecordUpdateLogs
!=
null
&&
bookRecordUpdateLogs
.
size
()
>
0
)
{
detailName
=
"提前还车违约金"
;
orderPageVO
.
setBookRecordUpdateLogs
(
bookRecordUpdateLogs
);
}
else
if
(
type
==
OrderViolateEnum
.
AFTER
.
getCode
())
{
//有更换记录,则需要计算更换费用
dedDetailDTO
.
setType
(
OrderViolateEnum
.
AFTER
.
getCode
());
//原始公司经纬度,列表中最后一个 bookRecordUpdateLogs.get(bookRecordUpdateLogs.size -1 ) 最后还车公司是列表中的第一条中的getNewRetCompanyId
detailName
=
"延期还车违约金"
;
BookRecordUpdateLog
oldCompany
=
bookRecordUpdateLogs
.
get
(
bookRecordUpdateLogs
.
size
()
-
1
);
}
else
if
(
type
==
OrderViolateEnum
.
CHANGE
.
getCode
())
{
BookRecordUpdateLog
newCompany
=
bookRecordUpdateLogs
.
get
(
0
);
dedDetailDTO
.
setType
(
OrderViolateEnum
.
CHANGE
.
getCode
());
if
(
oldCompany
!=
null
&&
newCompany
!=
null
)
{
detailName
=
"更换还车公司"
;
CompanyDetail
oldCompanyDetail
=
vehicleFeign
.
getCompanyDetail
(
oldCompany
.
getOldRetCompanyId
()).
getData
();
}
CompanyDetail
newCompanyDetail
=
vehicleFeign
.
getCompanyDetail
(
newCompany
.
getNewRetCompanyId
()).
getData
();
//900元+违约金(¥900x2天=)1800元
if
(
oldCompanyDetail
.
getLatitude
()
!=
null
&&
oldCompanyDetail
.
getLongitude
()
!=
null
&&
newCompanyDetail
.
getLongitude
()
!=
null
&&
newCompanyDetail
.
getLatitude
()
!=
null
)
{
dedDetailDTO
.
setDeductions
(
stringBuilder
.
toString
());
//根据经纬度获取两个公司的距离
dedDetailDTO
.
setCost
(
cost
);
double
distance
=
DistanceUtil
.
getDistance
(
oldCompanyDetail
.
getLongitude
().
doubleValue
(),
oldCompanyDetail
.
getLatitude
().
doubleValue
(),
newCompanyDetail
.
getLongitude
().
doubleValue
(),
newCompanyDetail
.
getLatitude
().
doubleValue
());
dedDetailDTO
.
setId
(
1
);
log
.
info
(
"两个公司的距离为(米): {}"
,
distance
);
dedDetailDTO
.
setStatusIndex
(
1
);
BigDecimal
distanceNum
=
new
BigDecimal
(
distance
+
""
).
divide
(
new
BigDecimal
(
"1000"
),
0
,
BigDecimal
.
ROUND_UP
);
dedDetailDTO
.
setStatusName
(
detailName
);
//取出费用计算的单价
}
Map
<
String
,
Dictionary
>
dictionaryMap
=
thirdFeign
.
dictionaryGetAll4Map
().
getData
();
BigDecimal
illegalReserve
=
new
BigDecimal
(
dictionaryMap
.
get
(
ILLEGAL_TYPE
+
"_"
+
DictionaryKey
.
ILLEGAL_FEE_PRICE
).
getDetail
());
/**
BigDecimal
totalCost
=
distanceNum
.
multiply
(
illegalReserve
);
* 获取驾驶人驾照
log
.
info
(
"更换两个公司的总费用为: {}"
,
totalCost
);
* @param orderPageVo
StringBuilder
stringBuilder
=
new
StringBuilder
();
*/
stringBuilder
.
append
(
illegalReserve
);
public
void
getUserLicense
(
OrderPageVO
orderPageVo
)
{
stringBuilder
.
append
(
" x "
);
OrderVehicleCrosstownDto
orderVehicleCrosstownDto
=
new
OrderVehicleCrosstownDto
();
stringBuilder
.
append
(
distanceNum
);
orderVehicleCrosstownDto
.
setOrderId
(
orderPageVo
.
getId
());
stringBuilder
.
append
(
"(KM)"
);
orderVehicleCrosstownDto
.
setOrderNo
(
orderPageVo
.
getNo
());
stringBuilder
.
append
(
" = "
);
List
<
OrderVehicleCrosstownDto
>
orderVehicleCrosstown
=
orderVehicleCrosstownBiz
.
selectByOrderId
(
orderVehicleCrosstownDto
);
stringBuilder
.
append
(
totalCost
);
if
(
orderVehicleCrosstown
!=
null
&&
orderVehicleCrosstown
.
size
()
>
0
)
{
stringBuilder
.
append
(
"元"
);
List
<
OrderUserLicense
>
orderUserLicenses
=
orderUserLicenseBiz
.
selectByIds
(
orderVehicleCrosstown
.
get
(
0
).
getUserLicenseId
()).
getData
();
dedDetailDTO1
.
setCost
(
totalCost
);
if
(
orderUserLicenses
!=
null
&&
orderUserLicenses
.
size
()
>
0
)
{
initDedDetail
(
dedDetailDTO1
,
OrderViolateEnum
.
CHANGE
.
getCode
(),
totalCost
,
stringBuilder
);
orderVehicleCrosstownDto
.
setLicenseIdCard
(
orderUserLicenses
.
get
(
0
).
getLicenseIdCard
());
}
orderVehicleCrosstownDto
.
setLicenseImg
(
orderUserLicenses
.
get
(
0
).
getLicenseImg
());
}
orderVehicleCrosstownDto
.
setLicenseName
(
orderUserLicenses
.
get
(
0
).
getLicenseName
());
}
orderVehicleCrosstownDto
.
setLicensePhone
(
orderUserLicenses
.
get
(
0
).
getLicensePhone
());
}
}
if
(
dedDetailDTO1
.
getCost
()
!=
null
&&
dedDetailDTO1
.
getCost
().
doubleValue
()
!=
0
)
{
//设置违约明细
jsonArray
.
add
(
dedDetailDTO1
);
for
(
OrderVehicleCrosstownDto
a
:
orderVehicleCrosstown
)
{
}
if
(
a
.
getType
()
!=
CrosstownTypeEnum
.
DEPARTURE
.
getCode
())
{
orderPageVO
.
setDedDetailDTO
(
jsonArray
.
toJSONString
());
if
(
StringUtils
.
isNotBlank
(
a
.
getViolateDetail
()))
{
}
orderPageVo
.
setDedDetailDTO
(
a
.
getViolateDetail
());
}
}
}
}
if
(
StringUtils
.
isBlank
(
orderPageVo
.
getDedDetailDTO
()))
{
updateCrossRefund
(
orderPageVo
);
}
orderPageVo
.
setOrderVehicleCrosstownDto
(
orderVehicleCrosstownDto
);
}
//后台获取用户驾驶信息
public
void
getUserLicense1
(
OrderPageVO
orderPageVo
)
{
OrderVehicleCrosstownDto
orderVehicleCrosstownDto
=
new
OrderVehicleCrosstownDto
();
orderVehicleCrosstownDto
.
setOrderId
(
orderPageVo
.
getId
());
orderVehicleCrosstownDto
.
setOrderNo
(
orderPageVo
.
getNo
());
List
<
OrderVehicleCrosstownDto
>
orderVehicleCrosstown
=
orderVehicleCrosstownBiz
.
selectByOrderId
(
orderVehicleCrosstownDto
);
if
(
orderVehicleCrosstown
!=
null
&&
orderVehicleCrosstown
.
size
()
>
0
)
{
List
<
OrderUserLicense
>
orderUserLicenses
=
orderUserLicenseBiz
.
selectByIds
(
orderVehicleCrosstown
.
get
(
0
).
getUserLicenseId
()).
getData
();
if
(
orderUserLicenses
!=
null
&&
orderUserLicenses
.
size
()
>
0
)
{
orderVehicleCrosstownDto
.
setLicenseIdCard
(
orderUserLicenses
.
get
(
0
).
getLicenseIdCard
());
orderVehicleCrosstownDto
.
setLicenseImg
(
orderUserLicenses
.
get
(
0
).
getLicenseImg
());
orderVehicleCrosstownDto
.
setLicenseName
(
orderUserLicenses
.
get
(
0
).
getLicenseName
());
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
);
}
/**
* 获取驾驶人信息
* @param orderPageVo
*/
public
void
getDriverInfo
(
OrderPageVO
orderPageVo
)
{
List
<
VehicleUserLicense
>
vehicleUserLicenses
=
Lists
.
newArrayList
();
String
myDriverIds
=
orderPageVo
.
getOrderRentVehicleDetail
().
getMyDriverIds
();
if
(
StringUtils
.
isNotBlank
(
myDriverIds
))
{
if
(
myDriverIds
.
contains
(
","
))
{
String
[]
ids
=
myDriverIds
.
split
(
","
);
try
{
//目前暂定一个驾驶人,后期需要更改再此更改
RestResponse
<
VehicleUserLicense
>
restResponse
=
vehicleFeign
.
getOne
(
Integer
.
parseInt
(
ids
[
0
]));
log
.
info
(
restResponse
.
getMessage
());
if
(
restResponse
.
getData
()
!=
null
)
{
vehicleUserLicenses
.
add
(
restResponse
.
getData
());
}
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
}
}
else
{
try
{
vehicleUserLicenses
.
add
(
vehicleFeign
.
getOne
(
Integer
.
parseInt
(
myDriverIds
.
trim
())).
getData
());
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
}
}
}
orderPageVo
.
setVehicleUserLicenses
(
vehicleUserLicenses
);
}
/**
* 修改订单还车公司
* @param orderRentVehicleDetail
* @return
*/
public
ObjectRestResponse
save
(
OrderRentVehicleDetail
orderRentVehicleDetail
)
{
if
(
orderRentVehicleDetail
==
null
||
orderRentVehicleDetail
.
getId
()
==
null
)
{
return
ObjectRestResponse
.
paramIsEmpty
();
}
log
.
info
(
"更新订单还车地点》》》 orderRentVehicleDetail = {}"
,
orderRentVehicleDetail
.
toString
());
UserDTO
userDTO
=
getAdminUserInfo
();
if
(
userDTO
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
RSTOKEN_EXPIRED_CODE
,
ResultCode
.
getMsg
(
ResultCode
.
RSTOKEN_EXPIRED_CODE
));
}
StringBuilder
stringBuilder
=
new
StringBuilder
();
OrderRentVehicleDetail
oldValue
=
orderRentVehicleBiz
.
selectById
(
orderRentVehicleDetail
.
getId
());
/**
if
(
oldValue
==
null
)
{
* 初始化违约金实体
return
ObjectRestResponse
.
createFailedResult
(
ResCode
.
ORDER_IS_NOT_EXIST
.
getCode
(),
ResCode
.
ORDER_IS_NOT_EXIST
.
getDesc
());
*
}
* @param dedDetailDTO
stringBuilder
.
append
(
"修改订单和预定记录还车公司成功, 订单ID:"
);
* @param type
stringBuilder
.
append
(
oldValue
.
getOrderId
());
* @param cost
stringBuilder
.
append
(
"; 原还车公司ID: "
);
* @param stringBuilder
stringBuilder
.
append
(
oldValue
.
getEndCompanyId
());
*/
stringBuilder
.
append
(
"; 更新后还车公司ID: "
);
public
void
initDedDetail
(
DedDetailDTO
dedDetailDTO
,
Integer
type
,
BigDecimal
cost
,
StringBuilder
stringBuilder
)
{
stringBuilder
.
append
(
orderRentVehicleDetail
.
getEndCompanyId
());
String
detailName
=
null
;
stringBuilder
.
append
(
"; 操作人ID:"
);
if
(
type
==
OrderViolateEnum
.
BEFORE
.
getCode
())
{
stringBuilder
.
append
(
userDTO
.
getId
());
dedDetailDTO
.
setType
(
OrderViolateEnum
.
BEFORE
.
getCode
());
stringBuilder
.
append
(
"; 操作人账号:"
);
detailName
=
"提前还车违约金"
;
stringBuilder
.
append
(
userDTO
.
getUsername
());
}
else
if
(
type
==
OrderViolateEnum
.
AFTER
.
getCode
())
{
//添加修改记录实体
dedDetailDTO
.
setType
(
OrderViolateEnum
.
AFTER
.
getCode
());
BookRecordUpdateLog
bookRecordUpdateLog
=
new
BookRecordUpdateLog
();
detailName
=
"延期还车违约金"
;
bookRecordUpdateLog
.
setBookRecordId
(
oldValue
.
getBookRecordId
());
}
else
if
(
type
==
OrderViolateEnum
.
CHANGE
.
getCode
())
{
bookRecordUpdateLog
.
setOldRetCompanyId
(
oldValue
.
getEndCompanyId
());
dedDetailDTO
.
setType
(
OrderViolateEnum
.
CHANGE
.
getCode
());
bookRecordUpdateLog
.
setNewRetCompanyId
(
orderRentVehicleDetail
.
getEndCompanyId
());
detailName
=
"更换还车公司"
;
bookRecordUpdateLog
.
setOperaterId
(
userDTO
.
getId
());
}
else
if
(
type
==
OrderViolateEnum
.
DELAY_VEHICLE
.
getCode
())
{
bookRecordUpdateLog
.
setOperaterName
(
userDTO
.
getName
());
dedDetailDTO
.
setType
(
1
);
bookRecordUpdateLog
.
setOrderId
(
oldValue
.
getOrderId
());
detailName
=
"延长还车"
;
bookRecordUpdateLog
.
setCreateTime
(
new
Date
());
BeanUtil
.
copyProperties
(
orderRentVehicleDetail
,
oldValue
,
CopyOptions
.
create
().
setIgnoreNullValue
(
true
).
setIgnoreError
(
true
));
CompanyDetail
companyDetail
=
vehicleFeign
.
getCompanyDetail
(
orderRentVehicleDetail
.
getEndCompanyId
()).
getData
();
if
(
companyDetail
!=
null
)
{
oldValue
.
setEndCity
(
companyDetail
.
getAddrCity
());
oldValue
.
setEndAddr
(
companyDetail
.
detailAddr
());
}
oldValue
.
setEndCompanyId
(
orderRentVehicleDetail
.
getEndCompanyId
());
orderRentVehicleBiz
.
updateSelectiveByIdRe
(
oldValue
);
ObjectRestResponse
objectRestResponse
=
vehicleFeign
.
update
(
bookRecordUpdateLog
);
if
(
objectRestResponse
!=
null
&&
objectRestResponse
.
getRel
())
{
log
.
info
(
stringBuilder
.
toString
());
return
ObjectRestResponse
.
succ
();
}
return
ObjectRestResponse
.
createFailedResult
(
1355
,
"修改失败!"
);
}
/**
* 获取订单详情,包含驾驶人信息,违约金等信息
* @param no
* @return
*/
public
ObjectRestResponse
<
OrderPageVO
>
getOrderDetail
(
String
no
)
{
OrderPageVO
orderPageVo
=
mapper
.
getOrderDetail
(
no
);
if
(
orderPageVo
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
ResCode
.
ORDER_IS_NOT_EXIST
.
getCode
(),
ResCode
.
ORDER_IS_NOT_EXIST
.
getDesc
());
}
}
if
(
orderPageVo
.
getOrderRentVehicleDetail
()
!=
null
)
{
//900元+违约金(¥900x2天=)1800元
if
(
orderPageVo
.
getStatus
()
==
4
)
{
//未交车
dedDetailDTO
.
setDeductions
(
stringBuilder
.
toString
());
dedDetailDTO
.
setCost
(
cost
);
dedDetailDTO
.
setId
(
1
);
dedDetailDTO
.
setStatusIndex
(
1
);
dedDetailDTO
.
setStatusName
(
detailName
);
}
/**
* 获取驾驶人驾照
*
* @param orderPageVo
*/
public
void
getUserLicense
(
OrderPageVO
orderPageVo
)
{
OrderVehicleCrosstownDto
orderVehicleCrosstownDto
=
new
OrderVehicleCrosstownDto
();
orderVehicleCrosstownDto
.
setOrderId
(
orderPageVo
.
getId
());
orderVehicleCrosstownDto
.
setOrderNo
(
orderPageVo
.
getNo
());
List
<
OrderVehicleCrosstownDto
>
orderVehicleCrosstown
=
orderVehicleCrosstownBiz
.
selectByOrderId
(
orderVehicleCrosstownDto
);
if
(
orderVehicleCrosstown
!=
null
&&
orderVehicleCrosstown
.
size
()
>
0
)
{
List
<
OrderUserLicense
>
orderUserLicenses
=
orderUserLicenseBiz
.
selectByIds
(
orderVehicleCrosstown
.
get
(
0
).
getUserLicenseId
()).
getData
();
if
(
orderUserLicenses
!=
null
&&
orderUserLicenses
.
size
()
>
0
)
{
orderVehicleCrosstownDto
.
setLicenseIdCard
(
orderUserLicenses
.
get
(
0
).
getLicenseIdCard
());
orderVehicleCrosstownDto
.
setLicenseImg
(
orderUserLicenses
.
get
(
0
).
getLicenseImg
());
orderVehicleCrosstownDto
.
setLicenseName
(
orderUserLicenses
.
get
(
0
).
getLicenseName
());
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
());
}
}
}
}
if
(
StringUtils
.
isBlank
(
orderPageVo
.
getDedDetailDTO
()))
{
updateCrossRefund
(
orderPageVo
);
}
orderPageVo
.
setOrderVehicleCrosstownDto
(
orderVehicleCrosstownDto
);
}
//后台获取用户驾驶信息
public
void
getUserLicense1
(
OrderPageVO
orderPageVo
)
{
OrderVehicleCrosstownDto
orderVehicleCrosstownDto
=
new
OrderVehicleCrosstownDto
();
orderVehicleCrosstownDto
.
setOrderId
(
orderPageVo
.
getId
());
orderVehicleCrosstownDto
.
setOrderNo
(
orderPageVo
.
getNo
());
List
<
OrderVehicleCrosstownDto
>
orderVehicleCrosstown
=
orderVehicleCrosstownBiz
.
selectByOrderId
(
orderVehicleCrosstownDto
);
if
(
orderVehicleCrosstown
!=
null
&&
orderVehicleCrosstown
.
size
()
>
0
)
{
List
<
OrderUserLicense
>
orderUserLicenses
=
orderUserLicenseBiz
.
selectByIds
(
orderVehicleCrosstown
.
get
(
0
).
getUserLicenseId
()).
getData
();
if
(
orderUserLicenses
!=
null
&&
orderUserLicenses
.
size
()
>
0
)
{
orderVehicleCrosstownDto
.
setLicenseIdCard
(
orderUserLicenses
.
get
(
0
).
getLicenseIdCard
());
orderVehicleCrosstownDto
.
setLicenseImg
(
orderUserLicenses
.
get
(
0
).
getLicenseImg
());
orderVehicleCrosstownDto
.
setLicenseName
(
orderUserLicenses
.
get
(
0
).
getLicenseName
());
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
);
}
/**
* 获取驾驶人信息
*
* @param orderPageVo
*/
public
void
getDriverInfo
(
OrderPageVO
orderPageVo
)
{
List
<
VehicleUserLicense
>
vehicleUserLicenses
=
Lists
.
newArrayList
();
String
myDriverIds
=
orderPageVo
.
getOrderRentVehicleDetail
().
getMyDriverIds
();
if
(
StringUtils
.
isNotBlank
(
myDriverIds
))
{
if
(
myDriverIds
.
contains
(
","
))
{
String
[]
ids
=
myDriverIds
.
split
(
","
);
try
{
//目前暂定一个驾驶人,后期需要更改再此更改
RestResponse
<
VehicleUserLicense
>
restResponse
=
vehicleFeign
.
getOne
(
Integer
.
parseInt
(
ids
[
0
]));
log
.
info
(
restResponse
.
getMessage
());
if
(
restResponse
.
getData
()
!=
null
)
{
vehicleUserLicenses
.
add
(
restResponse
.
getData
());
}
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
}
}
else
{
try
{
vehicleUserLicenses
.
add
(
vehicleFeign
.
getOne
(
Integer
.
parseInt
(
myDriverIds
.
trim
())).
getData
());
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
}
}
}
orderPageVo
.
setVehicleUserLicenses
(
vehicleUserLicenses
);
}
/**
* 修改订单还车公司
*
* @param orderRentVehicleDetail
* @return
*/
public
ObjectRestResponse
save
(
OrderRentVehicleDetail
orderRentVehicleDetail
)
{
if
(
orderRentVehicleDetail
==
null
||
orderRentVehicleDetail
.
getId
()
==
null
)
{
return
ObjectRestResponse
.
paramIsEmpty
();
}
log
.
info
(
"更新订单还车地点》》》 orderRentVehicleDetail = {}"
,
orderRentVehicleDetail
.
toString
());
UserDTO
userDTO
=
getAdminUserInfo
();
if
(
userDTO
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
RSTOKEN_EXPIRED_CODE
,
ResultCode
.
getMsg
(
ResultCode
.
RSTOKEN_EXPIRED_CODE
));
}
StringBuilder
stringBuilder
=
new
StringBuilder
();
OrderRentVehicleDetail
oldValue
=
orderRentVehicleBiz
.
selectById
(
orderRentVehicleDetail
.
getId
());
if
(
oldValue
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
ResCode
.
ORDER_IS_NOT_EXIST
.
getCode
(),
ResCode
.
ORDER_IS_NOT_EXIST
.
getDesc
());
}
stringBuilder
.
append
(
"修改订单和预定记录还车公司成功, 订单ID:"
);
stringBuilder
.
append
(
oldValue
.
getOrderId
());
stringBuilder
.
append
(
"; 原还车公司ID: "
);
stringBuilder
.
append
(
oldValue
.
getEndCompanyId
());
stringBuilder
.
append
(
"; 更新后还车公司ID: "
);
stringBuilder
.
append
(
orderRentVehicleDetail
.
getEndCompanyId
());
stringBuilder
.
append
(
"; 操作人ID:"
);
stringBuilder
.
append
(
userDTO
.
getId
());
stringBuilder
.
append
(
"; 操作人账号:"
);
stringBuilder
.
append
(
userDTO
.
getUsername
());
//添加修改记录实体
BookRecordUpdateLog
bookRecordUpdateLog
=
new
BookRecordUpdateLog
();
bookRecordUpdateLog
.
setBookRecordId
(
oldValue
.
getBookRecordId
());
bookRecordUpdateLog
.
setOldRetCompanyId
(
oldValue
.
getEndCompanyId
());
bookRecordUpdateLog
.
setNewRetCompanyId
(
orderRentVehicleDetail
.
getEndCompanyId
());
bookRecordUpdateLog
.
setOperaterId
(
userDTO
.
getId
());
bookRecordUpdateLog
.
setOperaterName
(
userDTO
.
getName
());
bookRecordUpdateLog
.
setOrderId
(
oldValue
.
getOrderId
());
bookRecordUpdateLog
.
setCreateTime
(
new
Date
());
BeanUtil
.
copyProperties
(
orderRentVehicleDetail
,
oldValue
,
CopyOptions
.
create
().
setIgnoreNullValue
(
true
).
setIgnoreError
(
true
));
CompanyDetail
companyDetail
=
vehicleFeign
.
getCompanyDetail
(
orderRentVehicleDetail
.
getEndCompanyId
()).
getData
();
if
(
companyDetail
!=
null
)
{
oldValue
.
setEndCity
(
companyDetail
.
getAddrCity
());
oldValue
.
setEndAddr
(
companyDetail
.
detailAddr
());
}
oldValue
.
setEndCompanyId
(
orderRentVehicleDetail
.
getEndCompanyId
());
orderRentVehicleBiz
.
updateSelectiveByIdRe
(
oldValue
);
ObjectRestResponse
objectRestResponse
=
vehicleFeign
.
update
(
bookRecordUpdateLog
);
if
(
objectRestResponse
!=
null
&&
objectRestResponse
.
getRel
())
{
log
.
info
(
stringBuilder
.
toString
());
return
ObjectRestResponse
.
succ
();
}
return
ObjectRestResponse
.
createFailedResult
(
1355
,
"修改失败!"
);
}
/**
* 获取订单详情,包含驾驶人信息,违约金等信息
*
* @param no
* @return
*/
public
ObjectRestResponse
<
OrderPageVO
>
getOrderDetail
(
String
no
)
{
OrderPageVO
orderPageVo
=
mapper
.
getOrderDetail
(
no
);
if
(
orderPageVo
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
ResCode
.
ORDER_IS_NOT_EXIST
.
getCode
(),
ResCode
.
ORDER_IS_NOT_EXIST
.
getDesc
());
}
if
(
orderPageVo
.
getOrderRentVehicleDetail
()
!=
null
)
{
if
(
orderPageVo
.
getStatus
()
==
4
)
{
//未交车
// boolean flag = getTodayTime(orderPageVo.getOrderRentVehicleDetail().getStartTime());
// boolean flag = getTodayTime(orderPageVo.getOrderRentVehicleDetail().getStartTime());
// if (!flag) {
// if (!flag) {
// return ObjectRestResponse.createFailedResult(3501, "今日不是交车日期");
// return ObjectRestResponse.createFailedResult(3501, "今日不是交车日期");
// }
// }
getDriverInfo
(
orderPageVo
);
getDriverInfo
(
orderPageVo
);
}
else
if
(
orderPageVo
.
getStatus
()
>=
5
||
orderPageVo
.
getStatus
()
==
-
1
)
{
//出行中 已交车
}
else
if
(
orderPageVo
.
getStatus
()
>=
5
||
orderPageVo
.
getStatus
()
==
-
1
)
{
//出行中 已交车
getDriverInfo
(
orderPageVo
);
getDriverInfo
(
orderPageVo
);
getUserLicense
(
orderPageVo
);
getUserLicense
(
orderPageVo
);
}
}
RestResponse
<
Vehicle
>
restResponse
=
vehicleFeign
.
findById
(
orderPageVo
.
getOrderRentVehicleDetail
().
getVehicleId
());
RestResponse
<
Vehicle
>
restResponse
=
vehicleFeign
.
findById
(
orderPageVo
.
getOrderRentVehicleDetail
().
getVehicleId
());
if
(
restResponse
.
getData
()
!=
null
)
{
if
(
restResponse
.
getData
()
!=
null
)
{
orderPageVo
.
setVehicalNumberPlat
(
restResponse
.
getData
().
getNumberPlate
());
orderPageVo
.
setVehicalNumberPlat
(
restResponse
.
getData
().
getNumberPlate
());
}
}
}
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
();
orderPageVo
.
getOrderTourDetail
().
setUserVoList
(
list
==
null
||
list
.
size
()
<=
0
?
new
ArrayList
<>()
:
list
);
orderPageVo
.
getOrderTourDetail
().
setUserVoList
(
list
==
null
||
list
.
size
()
<=
0
?
new
ArrayList
<>()
:
list
);
}
}
}
}
//设置保留金
//设置保留金
Map
<
String
,
Dictionary
>
dictionaryMap
=
thirdFeign
.
dictionaryGetAll4Map
().
getData
();
Map
<
String
,
Dictionary
>
dictionaryMap
=
thirdFeign
.
dictionaryGetAll4Map
().
getData
();
BigDecimal
illegalReserve
=
new
BigDecimal
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
ILLEGAL_RESERVE
).
getDetail
());
BigDecimal
illegalReserve
=
new
BigDecimal
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
ILLEGAL_RESERVE
).
getDetail
());
orderPageVo
.
setIllegalReserve
(
illegalReserve
);
orderPageVo
.
setIllegalReserve
(
illegalReserve
);
orderPageVo
.
setItems
(
orderItemBiz
.
selectList
(
new
OrderItem
()
{{
orderPageVo
.
setItems
(
orderItemBiz
.
selectList
(
new
OrderItem
()
{{
setOrderId
(
orderPageVo
.
getId
());
setOrderId
(
orderPageVo
.
getId
());
}}));
}}));
return
ObjectRestResponse
.
succ
(
orderPageVo
);
return
ObjectRestResponse
.
succ
(
orderPageVo
);
}
}
/**
/**
* 支付回调处理
* 支付回调处理
*
*
* @param orderNo
* @param orderNo
* @param tradeNo
* @param tradeNo
*/
*/
@Transactional
@Transactional
public
void
payNotifyHandle
(
String
orderNo
,
String
tradeNo
,
Integer
type
,
Integer
payWay
)
{
public
void
payNotifyHandle
(
String
orderNo
,
String
tradeNo
,
Integer
type
,
Integer
payWay
)
{
OrderRentVehicleDetail
orvd
=
new
OrderRentVehicleDetail
();
OrderRentVehicleDetail
orvd
=
new
OrderRentVehicleDetail
();
OrderTourDetail
otd
=
new
OrderTourDetail
();
OrderTourDetail
otd
=
new
OrderTourDetail
();
OrderMemberDetail
omd
=
new
OrderMemberDetail
();
OrderMemberDetail
omd
=
new
OrderMemberDetail
();
BaseOrder
baseOrder
=
this
.
selectOne
(
new
BaseOrder
()
{{
BaseOrder
baseOrder
=
this
.
selectOne
(
new
BaseOrder
()
{{
setNo
(
orderNo
);
setNo
(
orderNo
);
}});
}});
if
(
OrderStatusEnum
.
ORDER_UNPAY
.
getCode
().
equals
(
baseOrder
.
getStatus
())
&&
baseOrder
.
getHasPay
().
equals
(
SYS_FALSE
))
{
if
(
OrderStatusEnum
.
ORDER_UNPAY
.
getCode
().
equals
(
baseOrder
.
getStatus
())
&&
baseOrder
.
getHasPay
().
equals
(
SYS_FALSE
))
{
BaseOrder
updateOrder
=
new
BaseOrder
()
{{
BaseOrder
updateOrder
=
new
BaseOrder
()
{{
setId
(
baseOrder
.
getId
());
setId
(
baseOrder
.
getId
());
setOutTradeNo
(
tradeNo
);
setOutTradeNo
(
tradeNo
);
setHasPay
(
SYS_TRUE
);
setHasPay
(
SYS_TRUE
);
setPayTime
(
System
.
currentTimeMillis
());
setPayTime
(
System
.
currentTimeMillis
());
setPayOrigin
(
type
);
setPayOrigin
(
type
);
setPayWay
(
payWay
);
setPayWay
(
payWay
);
setVersion
(
baseOrder
.
getVersion
());
setVersion
(
baseOrder
.
getVersion
());
}};
}};
//订单账款类
//订单账款类
OrderAccountDetail
oad
=
new
OrderAccountDetail
();
OrderAccountDetail
oad
=
new
OrderAccountDetail
();
oad
.
setOriginOrderAmount
(
baseOrder
.
getGoodsAmount
().
subtract
(
baseOrder
.
getCouponAmount
()));
oad
.
setOriginOrderAmount
(
baseOrder
.
getGoodsAmount
().
subtract
(
baseOrder
.
getCouponAmount
()));
//账单的的orderAmount 对应 的是商品金额
//账单的的orderAmount 对应 的是商品金额
oad
.
setOrderAmount
(
baseOrder
.
getGoodsAmount
().
subtract
(
baseOrder
.
getCouponAmount
()));
oad
.
setOrderAmount
(
baseOrder
.
getGoodsAmount
().
subtract
(
baseOrder
.
getCouponAmount
()));
//如果是会员订单,则触发会员效益
//如果是会员订单,则触发会员效益
if
(
OrderTypeEnum
.
MEMBER
.
getCode
().
equals
(
baseOrder
.
getType
()))
{
if
(
OrderTypeEnum
.
MEMBER
.
getCode
().
equals
(
baseOrder
.
getType
()))
{
//直接设置订单完成
//直接设置订单完成
updateOrder
.
setStatus
(
OrderStatusEnum
.
ORDER_FINISH
.
getCode
());
updateOrder
.
setStatus
(
OrderStatusEnum
.
ORDER_FINISH
.
getCode
());
omd
=
orderMemberDetailBiz
.
selectOne
(
new
OrderMemberDetail
()
{{
omd
=
orderMemberDetailBiz
.
selectOne
(
new
OrderMemberDetail
()
{{
setOrderId
(
baseOrder
.
getId
());
setOrderId
(
baseOrder
.
getId
());
}});
}});
//触发会员效益
//触发会员效益
UserMemberDTO
userMemberDTO
=
new
UserMemberDTO
()
{{
UserMemberDTO
userMemberDTO
=
new
UserMemberDTO
()
{{
setUserId
(
baseOrder
.
getUserId
());
setUserId
(
baseOrder
.
getUserId
());
setIsBind
(
ISBIND_BIND
);
setIsBind
(
ISBIND_BIND
);
}};
}};
userMemberDTO
.
setMemberLevel
(
omd
.
getMemberLevel
());
userMemberDTO
.
setMemberLevel
(
omd
.
getMemberLevel
());
userMemberDTO
.
setRentFreeDays
(
omd
.
getRentFreeNum
());
userMemberDTO
.
setRentFreeDays
(
omd
.
getRentFreeNum
());
userMemberDTO
.
setTotalNumber
(
omd
.
getRentFreeNum
());
userMemberDTO
.
setTotalNumber
(
omd
.
getRentFreeNum
());
userMemberDTO
.
setDiscount
(
omd
.
getRebate
());
userMemberDTO
.
setDiscount
(
omd
.
getRebate
());
ObjectRestResponse
orr
=
userFeign
.
buyMember
(
userMemberDTO
);
ObjectRestResponse
orr
=
userFeign
.
buyMember
(
userMemberDTO
);
log
.
info
(
"orr.getStatus() : "
+
orr
.
getStatus
());
log
.
info
(
"orr.getStatus() : "
+
orr
.
getStatus
());
}
else
if
(
OrderTypeEnum
.
RENT_VEHICLE
.
getCode
().
equals
(
baseOrder
.
getType
()))
{
}
else
if
(
OrderTypeEnum
.
RENT_VEHICLE
.
getCode
().
equals
(
baseOrder
.
getType
()))
{
updateOrder
.
setStatus
(
OrderStatusEnum
.
ORDER_TOSTART
.
getCode
());
updateOrder
.
setStatus
(
OrderStatusEnum
.
ORDER_TOSTART
.
getCode
());
orvd
=
orderRentVehicleBiz
.
selectOne
(
new
OrderRentVehicleDetail
()
{{
orvd
=
orderRentVehicleBiz
.
selectOne
(
new
OrderRentVehicleDetail
()
{{
setOrderId
(
baseOrder
.
getId
());
setOrderId
(
baseOrder
.
getId
());
}});
}});
//账款设置押金
//账款设置押金
oad
.
setOriginDepositAmount
(
orvd
.
getDeposit
());
oad
.
setOriginDepositAmount
(
orvd
.
getDeposit
());
oad
.
setDepositAmount
(
orvd
.
getDeposit
());
oad
.
setDepositAmount
(
orvd
.
getDeposit
());
//车辆预定审核通过
//车辆预定审核通过
RestResponse
<
Integer
>
result
=
vehicleFeign
.
rentProveVehicleBooking
(
orvd
.
getBookRecordId
());
RestResponse
<
Integer
>
result
=
vehicleFeign
.
rentProveVehicleBooking
(
orvd
.
getBookRecordId
());
//确认免费天数
//确认免费天数
if
(
orvd
.
getFreeDays
()
>
0
)
{
if
(
orvd
.
getFreeDays
()
>
0
)
{
userFeign
.
memberDays
(
baseOrder
.
getUserId
(),
orvd
.
getFreeDays
(),
UserFeign
.
MEMBER_DAYS_CONFIRM
);
userFeign
.
memberDays
(
baseOrder
.
getUserId
(),
orvd
.
getFreeDays
(),
UserFeign
.
MEMBER_DAYS_CONFIRM
);
}
}
}
else
if
(
OrderTypeEnum
.
TOUR
.
getCode
().
equals
(
baseOrder
.
getType
()))
{
}
else
if
(
OrderTypeEnum
.
TOUR
.
getCode
().
equals
(
baseOrder
.
getType
()))
{
updateOrder
.
setStatus
(
OrderStatusEnum
.
ORDER_TOSTART
.
getCode
());
updateOrder
.
setStatus
(
OrderStatusEnum
.
ORDER_TOSTART
.
getCode
());
otd
=
orderTourDetailBiz
.
selectOne
(
new
OrderTourDetail
()
{{
otd
=
orderTourDetailBiz
.
selectOne
(
new
OrderTourDetail
()
{{
setOrderId
(
baseOrder
.
getId
());
setOrderId
(
baseOrder
.
getId
());
}});
}});
//站点总人数添加
//站点总人数添加
tourFeign
.
updateTourGoodPersonNum
(
otd
.
getVerificationId
(),
TourFeign
.
TOTAL_PERSON
,
otd
.
getTotalNumber
());
tourFeign
.
updateTourGoodPersonNum
(
otd
.
getVerificationId
(),
TourFeign
.
TOTAL_PERSON
,
otd
.
getTotalNumber
());
}
}
try
{
try
{
this
.
updateSelectiveByIdRe
(
updateOrder
);
this
.
updateSelectiveByIdRe
(
updateOrder
);
//记录订单账款记录
//记录订单账款记录
Integer
flag
=
orderAccountBiz
.
addOrderAccount
(
baseOrder
.
getId
(),
"订单支付"
,
oad
.
getOriginOrderAmount
().
add
(
oad
.
getOriginDepositAmount
()),
oad
.
getOrderAmount
().
add
(
oad
.
getDepositAmount
()),
tradeNo
,
AccountTypeEnum
.
IN_ORDER_PAY
.
getCode
(),
JSONUtil
.
toJsonStr
(
oad
));
Integer
flag
=
orderAccountBiz
.
addOrderAccount
(
baseOrder
.
getId
(),
"订单支付"
,
oad
.
getOriginOrderAmount
().
add
(
oad
.
getOriginDepositAmount
()),
oad
.
getOrderAmount
().
add
(
oad
.
getDepositAmount
()),
tradeNo
,
AccountTypeEnum
.
IN_ORDER_PAY
.
getCode
(),
JSONUtil
.
toJsonStr
(
oad
));
}
finally
{
}
finally
{
AppUserDTO
appUserDTO
=
userFeign
.
userDetailById
(
baseOrder
.
getUserId
()).
getData
();
AppUserDTO
appUserDTO
=
userFeign
.
userDetailById
(
baseOrder
.
getUserId
()).
getData
();
//处理App用户提醒短信的发送
//处理App用户提醒短信的发送
// orderMsgBiz.handelAppUserMsg(orvd, omd, baseOrder, appUserDTO);
// orderMsgBiz.handelAppUserMsg(orvd, omd, baseOrder, appUserDTO);
orderMsgBiz
.
handelMsgPayNew
(
orvd
,
otd
,
omd
,
baseOrder
,
appUserDTO
);
orderMsgBiz
.
handelMsgPayNew
(
orvd
,
otd
,
omd
,
baseOrder
,
appUserDTO
);
//处理后台用户提醒短信的发送
//处理后台用户提醒短信的发送
// orderMsgBiz.handelBgUserMsg4Pay(orvd, baseOrder, appUserDTO, OrderMsgBiz.RENT_PAY);
// orderMsgBiz.handelBgUserMsg4Pay(orvd, baseOrder, appUserDTO, OrderMsgBiz.RENT_PAY);
sendOrderMq
(
orvd
,
otd
,
omd
,
baseOrder
,
OrderMQDTO
.
ORDER_PAY
);
sendOrderMq
(
orvd
,
otd
,
omd
,
baseOrder
,
OrderMQDTO
.
ORDER_PAY
);
if
(
OrderTypeEnum
.
MEMBER
.
getCode
().
equals
(
baseOrder
.
getType
()))
{
if
(
OrderTypeEnum
.
MEMBER
.
getCode
().
equals
(
baseOrder
.
getType
()))
{
sendOrderMq
(
orvd
,
otd
,
omd
,
baseOrder
,
OrderMQDTO
.
ORDER_FINISH
);
sendOrderMq
(
orvd
,
otd
,
omd
,
baseOrder
,
OrderMQDTO
.
ORDER_FINISH
);
}
}
}
}
}
else
{
}
else
{
log
.
error
(
" order has payed , orderNo:{}, tradeNo:{} "
,
orderNo
,
tradeNo
);
log
.
error
(
" order has payed , orderNo:{}, tradeNo:{} "
,
orderNo
,
tradeNo
);
}
}
}
}
public
void
sendOrderMq
(
OrderRentVehicleDetail
orvd
,
OrderTourDetail
otd
,
OrderMemberDetail
omd
,
BaseOrder
baseOrder
,
Integer
sign
)
{
public
void
sendOrderMq
(
OrderRentVehicleDetail
orvd
,
OrderTourDetail
otd
,
OrderMemberDetail
omd
,
BaseOrder
baseOrder
,
Integer
sign
)
{
//发送队列消息
//发送队列消息
OrderMQDTO
orderMQDTO
=
BeanUtil
.
toBean
(
baseOrder
,
OrderMQDTO
.
class
);
OrderMQDTO
orderMQDTO
=
BeanUtil
.
toBean
(
baseOrder
,
OrderMQDTO
.
class
);
orderMQDTO
.
setOrderRentVehicleDetail
(
orvd
);
orderMQDTO
.
setOrderRentVehicleDetail
(
orvd
);
orderMQDTO
.
setOrderTourDetail
(
otd
);
orderMQDTO
.
setOrderTourDetail
(
otd
);
orderMQDTO
.
setOrderMemberDetail
(
omd
);
orderMQDTO
.
setOrderMemberDetail
(
omd
);
//获取item
//获取item
orderMQDTO
.
setItems
(
orderItemBiz
.
selectList
(
new
OrderItem
()
{{
orderMQDTO
.
setItems
(
orderItemBiz
.
selectList
(
new
OrderItem
()
{{
setOrderId
(
baseOrder
.
getId
());
setOrderId
(
baseOrder
.
getId
());
}}));
}}));
sendQueue
(
orderMQDTO
,
sign
);
}
@Override
public
void
updateSelectiveById
(
BaseOrder
entity
)
{
super
.
updateSelectiveById
(
entity
);
}
/**
* 更新(不成功抛异常)
*
* @param baseOrder
* @return
*/
public
BaseOrder
updateSelectiveByIdReT
(
BaseOrder
baseOrder
)
{
return
updateSelectiveByIdReT
(
baseOrder
,
false
);
}
/**
* 更新(不成功抛异常)
*
* @param baseOrder
* @return
*/
public
BaseOrder
updateSelectiveByIdReT
(
BaseOrder
baseOrder
,
boolean
needVersion
)
{
if
(
needVersion
)
{
baseOrder
.
setVersion
(
selectById
(
baseOrder
.
getId
()).
getVersion
());
}
if
(
updateSelectiveByIdRe
(
baseOrder
)
>
0
)
{
return
selectById
(
baseOrder
.
getId
());
}
else
{
log
.
error
(
StrUtil
.
format
(
"数据更新失败:baseOrder: {}"
,
JSONUtil
.
toJsonStr
(
baseOrder
)));
throw
new
BaseException
(
ResultCode
.
DB_OPERATION_FAIL_CODE
);
}
}
sendQueue
(
orderMQDTO
,
sign
);
}
@Override
public
void
updateSelectiveById
(
BaseOrder
entity
)
{
super
.
updateSelectiveById
(
entity
);
}
/**
* 更新(不成功抛异常)
*
* @param baseOrder
* @return
*/
public
BaseOrder
updateSelectiveByIdReT
(
BaseOrder
baseOrder
)
{
return
updateSelectiveByIdReT
(
baseOrder
,
false
);
}
/**
* 更新(不成功抛异常)
*
* @param baseOrder
* @return
*/
public
BaseOrder
updateSelectiveByIdReT
(
BaseOrder
baseOrder
,
boolean
needVersion
)
{
if
(
needVersion
)
{
baseOrder
.
setVersion
(
selectById
(
baseOrder
.
getId
()).
getVersion
());
}
if
(
updateSelectiveByIdRe
(
baseOrder
)
>
0
)
{
return
selectById
(
baseOrder
.
getId
());
}
else
{
log
.
error
(
StrUtil
.
format
(
"数据更新失败:baseOrder: {}"
,
JSONUtil
.
toJsonStr
(
baseOrder
)));
throw
new
BaseException
(
ResultCode
.
DB_OPERATION_FAIL_CODE
);
}
}
// /**
// /**
...
@@ -827,85 +830,86 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
...
@@ -827,85 +830,86 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
// }
// }
// }
// }
public
boolean
getTodayTime
(
Long
time
)
{
public
boolean
getTodayTime
(
Long
time
)
{
Long
startTime
=
getDayStart
();
Long
startTime
=
getDayStart
();
if
(
time
>=
startTime
&&
time
<=
startTime
+
24
*
60
*
60
*
1000
-
1
)
{
if
(
time
>=
startTime
&&
time
<=
startTime
+
24
*
60
*
60
*
1000
-
1
)
{
return
true
;
return
true
;
}
}
return
false
;
return
false
;
}
}
public
static
Long
getDayStart
()
{
public
static
Long
getDayStart
()
{
long
current
=
System
.
currentTimeMillis
();
long
current
=
System
.
currentTimeMillis
();
long
zero
=
current
/
(
1000
*
3600
*
24
)
*
(
1000
*
3600
*
24
)
-
TimeZone
.
getDefault
().
getRawOffset
();
long
zero
=
current
/
(
1000
*
3600
*
24
)
*
(
1000
*
3600
*
24
)
-
TimeZone
.
getDefault
().
getRawOffset
();
return
zero
;
return
zero
;
}
}
private
void
sendQueue
(
OrderMQDTO
orderMQDTO
,
Integer
sign
)
{
private
void
sendQueue
(
OrderMQDTO
orderMQDTO
,
Integer
sign
)
{
try
{
try
{
orderMQDTO
.
setSign
(
sign
);
orderMQDTO
.
setSign
(
sign
);
SendMsgDTO
sendMsgDTO
=
new
SendMsgDTO
(){{
SendMsgDTO
sendMsgDTO
=
new
SendMsgDTO
()
{{
setExchange
(
ORDER_TOPIC
);
setExchange
(
ORDER_TOPIC
);
}};
}};
sendMsgDTO
.
setJson
(
JSONUtil
.
toJsonStr
(
orderMQDTO
));
sendMsgDTO
.
setJson
(
JSONUtil
.
toJsonStr
(
orderMQDTO
));
switch
(
sign
)
{
switch
(
sign
)
{
case
2
:
case
2
:
sendMsgDTO
.
setRoutKey
(
KEY_ORDER_CANCEL
);
sendMsgDTO
.
setRoutKey
(
KEY_ORDER_CANCEL
);
break
;
break
;
case
4
:
case
4
:
sendMsgDTO
.
setRoutKey
(
KEY_ORDER_PAY
);
sendMsgDTO
.
setRoutKey
(
KEY_ORDER_PAY
);
break
;
break
;
case
6
:
case
6
:
sendMsgDTO
.
setRoutKey
(
KEY_ORDER_FINLISH
);
sendMsgDTO
.
setRoutKey
(
KEY_ORDER_FINLISH
);
break
;
break
;
case
101
:
case
101
:
sendMsgDTO
.
setRoutKey
(
KEY_ORDER_PART_DEPOSIT
);
sendMsgDTO
.
setRoutKey
(
KEY_ORDER_PART_DEPOSIT
);
break
;
break
;
default
:
default
:
break
;
break
;
}
}
mqSenderFeign
.
postSendMessage
(
sendMsgDTO
);
mqSenderFeign
.
postSendMessage
(
sendMsgDTO
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
log
.
error
(
e
.
getMessage
(),
e
);
}
}
}
}
public
Query
initQuery
(
String
no
)
{
public
Query
initQuery
(
String
no
)
{
QueryOrderDetailDTO
qodd
=
new
QueryOrderDetailDTO
();
QueryOrderDetailDTO
qodd
=
new
QueryOrderDetailDTO
();
//qodd.setCrtUser(Integer.valueOf(BaseContextHandler.getUserID()));
//qodd.setCrtUser(Integer.valueOf(BaseContextHandler.getUserID()));
qodd
.
setUserId
(
Integer
.
valueOf
(
BaseContextHandler
.
getUserID
()));
qodd
.
setUserId
(
Integer
.
valueOf
(
BaseContextHandler
.
getUserID
()));
qodd
.
setNo
(
no
);
qodd
.
setNo
(
no
);
qodd
.
setLimit
(
1
);
qodd
.
setLimit
(
1
);
qodd
.
setPage
(
1
);
qodd
.
setPage
(
1
);
Query
query
=
new
Query
(
qodd
);
Query
query
=
new
Query
(
qodd
);
return
query
;
return
query
;
}
}
@Override
@Override
public
UserFeign
getUserFeign
()
{
public
UserFeign
getUserFeign
()
{
return
userFeign
;
return
userFeign
;
}
}
/**
/**
* 订单查询类
* 订单查询类
*/
*/
@Data
@Data
public
static
class
QueryOrderDetailDTO
extends
QueryOrderDTO
{
public
static
class
QueryOrderDetailDTO
extends
QueryOrderDTO
{
private
String
no
;
private
String
no
;
}
}
/**
/**
* 获取退还优惠卷
* 获取退还优惠卷
* @param orderId
*
*/
* @param orderId
public
List
<
Coupon
>
getReturnCouponByOrderId
(
Integer
orderId
)
{
*/
BaseOrder
baseOrder
=
mapper
.
selectByPrimaryKey
(
orderId
);
public
List
<
Coupon
>
getReturnCouponByOrderId
(
Integer
orderId
)
{
String
backCoupon
=
baseOrder
.
getBackCoupon
();
BaseOrder
baseOrder
=
mapper
.
selectByPrimaryKey
(
orderId
);
if
(
StringUtils
.
isNotBlank
(
backCoupon
))
{
String
backCoupon
=
baseOrder
.
getBackCoupon
();
String
[]
couponArray
=
backCoupon
.
split
(
","
);
if
(
StringUtils
.
isNotBlank
(
backCoupon
))
{
return
activityFeign
.
couponsByTickerNoList
(
Lists
.
newArrayList
(
couponArray
));
String
[]
couponArray
=
backCoupon
.
split
(
","
);
}
return
activityFeign
.
couponsByTickerNoList
(
Lists
.
newArrayList
(
couponArray
));
return
Lists
.
newArrayList
();
}
}
return
Lists
.
newArrayList
();
}
}
}
\ No newline at end of file
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderVehicleCrosstownBiz.java
View file @
d3eb9951
...
@@ -348,6 +348,18 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
...
@@ -348,6 +348,18 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
}
}
}
}
}
}
//延期扣除费用
if
(
StringUtils
.
isNotBlank
(
orderVehicleCrosstownDto
.
getDelayVehicleDetail
()))
{
JSONArray
jsonArray
=
JSONArray
.
parseArray
(
orderVehicleCrosstownDto
.
getDelayVehicleDetail
());
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"
));
}
}
}
}
orderVehicleCrosstownDto
.
setUserLicenseImg
(
orderVehicleCrosstownDto
.
getLicenseImg
());
orderVehicleCrosstownDto
.
setUserLicenseImg
(
orderVehicleCrosstownDto
.
getLicenseImg
());
//扣除费用,每次都是重新计算
//扣除费用,每次都是重新计算
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
);
...
...
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