From 099a92415ce0b0cdd91dcbc659865b80285630d2 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期三, 29 四月 2026 23:50:46 +0800
Subject: [PATCH] update

---
 UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java |   29 +++++++++++++++++++++++++++++
 1 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
index 5f98b05..c39dd76 100644
--- a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
+++ b/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);
 		}
 		

--
Gitblit v1.7.1