增加租赁时长
This commit is contained in:
@ -105,11 +105,12 @@ public class OrderMainPO implements Serializable {
|
||||
@ApiModelProperty("申请还车时间")
|
||||
private LocalDateTime reqEndRentTime;
|
||||
|
||||
|
||||
|
||||
@ApiModelProperty("实际还车时间")
|
||||
private LocalDateTime actEndRentTime;
|
||||
|
||||
@ApiModelProperty("租赁时长")
|
||||
private Integer rentalDuration;
|
||||
|
||||
@ApiModelProperty("逾期天数")
|
||||
private Integer overdueDays;
|
||||
|
||||
|
||||
@ -1280,15 +1280,19 @@ public class OrderServiceImpl implements OrderService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public OrderDTO confirmReturnCar(ReturnCarReq returnCarReq) {
|
||||
OrderDTO orderDTO = getOrderInfoByOrderNo(returnCarReq.getOrderNo());
|
||||
Integer rentalDuration = OrderUtil.getDuration(orderDTO.getFirstOrderTime(),LocalDateTime.now(),orderDTO.getRentalType());
|
||||
|
||||
//变更订单状态,记录还车时间
|
||||
LambdaUpdateWrapper<OrderMainPO> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.set(OrderMainPO::getOrderStatus, OrderStatusEnum.AUTO_END.getCode());
|
||||
updateWrapper.set(OrderMainPO::getActEndRentTime, LocalDateTime.now());
|
||||
updateWrapper.set(Objects.nonNull(returnCarReq.getDamageAmount()),OrderMainPO::getDamageAmount, returnCarReq.getDamageAmount());
|
||||
updateWrapper.set(StringUtils.isNotBlank(returnCarReq.getDamageDesc()),OrderMainPO::getDamageDesc, returnCarReq.getDamageDesc());
|
||||
updateWrapper.set(rentalDuration != null,OrderMainPO::getRentalDuration, rentalDuration);
|
||||
updateWrapper.eq(OrderMainPO::getOrderNo, returnCarReq.getOrderNo());
|
||||
orderMainRepo.update(updateWrapper);
|
||||
OrderDTO orderDTO = getOrderInfoByOrderNo(returnCarReq.getOrderNo());
|
||||
// OrderDTO orderDTO = getOrderInfoByOrderNo(returnCarReq.getOrderNo());
|
||||
if(!CollectionUtils.isEmpty(returnCarReq.getImageList())){
|
||||
//添加车辆图片
|
||||
List<OrderCarImgPO> carImagePOList = new ArrayList<>();
|
||||
|
||||
@ -98,6 +98,26 @@ public class OrderUtil {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算间隔时间
|
||||
* @param startTime
|
||||
* @param endTime
|
||||
* @param rentalType
|
||||
* @return
|
||||
*/
|
||||
public static Integer getDuration(LocalDateTime startTime,LocalDateTime endTime,String rentalType) {
|
||||
if(startTime!=null&&endTime!=null){
|
||||
if(startTime.isBefore(endTime)){
|
||||
if(StringUtils.equalsIgnoreCase(rentalType, RentCarTypeEnum.HOUR_RENTAL.getCode())){
|
||||
return (int) ChronoUnit.HOURS.between(startTime, endTime);
|
||||
} else {
|
||||
return (int) ChronoUnit.DAYS.between(startTime, endTime);
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 计算订单逾期金额
|
||||
|
||||
Reference in New Issue
Block a user