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/taxi/service/impl/OrderTaxiServiceImpl.java | 29 +++++++++++++++++++++++++++++
1 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
index 9f0cb85..67ae9aa 100644
--- a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
+++ b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
@@ -1878,6 +1878,7 @@
String driverId = (String) redisTemplate.opsForValue().get("DEVICE_" + map.get("driverId"));
map.put("device", ToolUtil.isNotEmpty(driverId) ? 2 : 1);
map.put("orderType", 2);
+ fillTaxiPrepayDisplayMoney(this.selectById(orderId), map);
return map;
}
@@ -2155,6 +2156,33 @@
return spreadAmount.doubleValue();
}
return 0D;
+ }
+
+ private Double getTaxiPrepayDisplayPayAmount(OrderTaxi orderTaxi, Double finalAmount) {
+ if (!isTaxiPrepayFinalStage(orderTaxi)) {
+ return toMoney(finalAmount).doubleValue();
+ }
+ try {
+ BigDecimal paidAmount = getTaxiPrepayPaidAmount(orderTaxi);
+ 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 fillTaxiPrepayDisplayMoney(OrderTaxi orderTaxi, Map<String, Object> map) {
+ if (map == null || orderTaxi == null || !isTaxiPrepayFinalStage(orderTaxi)) {
+ return;
+ }
+ Double finalAmount = null != map.get("orderMoney") ? Double.valueOf(String.valueOf(map.get("orderMoney"))) : orderTaxi.getOrderMoney();
+ Double displayAmount = getTaxiPrepayDisplayPayAmount(orderTaxi, finalAmount);
+ map.put("orderMoney", displayAmount);
+ map.put("payMoney", displayAmount);
}
private ResultUtil settleTaxiPrepayIfNoSecondPay(OrderTaxi orderTaxi, UserInfo userInfo, Double finalAmount) throws Exception {
@@ -2967,6 +2995,7 @@
unPayOrderVO.setDriverInfoWarpper(driverInfoWarpper);
//鍏朵綑淇℃伅
BeanUtils.copyProperties(orderTaxi, unPayOrderVO);
+ unPayOrderVO.setPayMoney(getTaxiPrepayDisplayPayAmount(orderTaxi, orderTaxi.getOrderMoney()));
unPayOrderVOList.add(unPayOrderVO);
}
--
Gitblit v1.7.1