| | |
| | | orderDetailVo.setTrajectories(trajectories); |
| | | if (order.getBoardingTime() != null && order.getTripEnd() != null) { |
| | | // 计算两个时间相差多少分钟 |
| | | long minutesDifference = Duration.between(order.getBoardingTime(), order.getTripEnd()).toMinutes(); |
| | | orderDetailVo.setOrderTime(minutesDifference); |
| | | double exactMinutes = Duration.between(order.getBoardingTime(), order.getTripEnd()).toMillis() / (1000.0 * 60); |
| | | exactMinutes = new BigDecimal(exactMinutes).setScale(2, RoundingMode.HALF_UP).doubleValue(); |
| | | orderDetailVo.setOrderTime(exactMinutes); |
| | | } else { |
| | | orderDetailVo.setOrderTime(0l); |
| | | orderDetailVo.setOrderTime(0.0); |
| | | } |
| | | orderDetailVo.setTotalMileage(order.getMileageKilometers() != null ? new BigDecimal(order.getMileageKilometers()).divide(BigDecimal.valueOf(1000),2, RoundingMode.HALF_UP).doubleValue() : 0D); |
| | | orderDetailVo.setTotalMileage(order.getMileageKilometers() != null ? new BigDecimal(order.getMileageKilometers()).setScale(2, RoundingMode.HALF_UP).doubleValue() : 0D); |
| | | |
| | | return orderDetailVo; |
| | | } |