liujie
2026-04-29 099a92415ce0b0cdd91dcbc659865b80285630d2
UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -1376,6 +1376,7 @@
      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;
   }
   
@@ -2659,6 +2660,33 @@
      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;
@@ -3252,6 +3280,7 @@
         vo.setDriverInfoWarpper(driverInfoWarpper);
         //其余信息
         BeanUtils.copyProperties(order, vo);
         vo.setPayMoney(getPrivateCarPrepayDisplayPayAmount(order, order.getOrderMoney()));
         unPayOrderVOList.add(vo);
      }