| | |
| | | String driverId = (String) redisTemplate.opsForValue().get("DEVICE_" + map.get("driverId")); |
| | | map.put("device", ToolUtil.isNotEmpty(driverId) ? 2 : 1); |
| | | map.put("orderType", 1); |
| | | fillPrivateCarPrepayDisplayMoney(this.selectById(orderId), map); |
| | | return map; |
| | | } |
| | | |
| | |
| | | return 0D; |
| | | } |
| | | |
| | | private Double getPrivateCarPrepayDisplayPayAmount(OrderPrivateCar orderPrivateCar, Double finalAmount) { |
| | | if (!isPrivateCarPrepayFinalStage(orderPrivateCar)) { |
| | | return toMoney(finalAmount).doubleValue(); |
| | | } |
| | | try { |
| | | BigDecimal paidAmount = getPrivateCarPrepayPaidAmount(orderPrivateCar); |
| | | if (paidAmount.compareTo(BigDecimal.ZERO) <= 0) { |
| | | return toMoney(finalAmount).doubleValue(); |
| | | } |
| | | BigDecimal displayAmount = toMoney(finalAmount).subtract(paidAmount).setScale(2, RoundingMode.HALF_UP); |
| | | return displayAmount.compareTo(BigDecimal.ZERO) > 0 ? displayAmount.doubleValue() : 0D; |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return toMoney(finalAmount).doubleValue(); |
| | | } |
| | | } |
| | | |
| | | private void fillPrivateCarPrepayDisplayMoney(OrderPrivateCar orderPrivateCar, Map<String, Object> map) { |
| | | if (map == null || orderPrivateCar == null || !isPrivateCarPrepayFinalStage(orderPrivateCar)) { |
| | | return; |
| | | } |
| | | Double finalAmount = null != map.get("orderMoney") ? Double.valueOf(String.valueOf(map.get("orderMoney"))) : orderPrivateCar.getOrderMoney(); |
| | | Double displayAmount = getPrivateCarPrepayDisplayPayAmount(orderPrivateCar, finalAmount); |
| | | map.put("orderMoney", displayAmount); |
| | | map.put("payMoney", displayAmount); |
| | | } |
| | | |
| | | private ResultUtil settlePrivateCarPrepayIfNoSecondPay(OrderPrivateCar orderPrivateCar, UserInfo userInfo, Double finalAmount) throws Exception { |
| | | if (!isPrivateCarPrepayFinalStage(orderPrivateCar)) { |
| | | return null; |
| | |
| | | vo.setDriverInfoWarpper(driverInfoWarpper); |
| | | //其余信息 |
| | | BeanUtils.copyProperties(order, vo); |
| | | vo.setPayMoney(getPrivateCarPrepayDisplayPayAmount(order, order.getOrderMoney())); |
| | | unPayOrderVOList.add(vo); |
| | | } |
| | | |