From b13b7bbe2efb23cdc76ea8bffb4378bfb31fac87 Mon Sep 17 00:00:00 2001
From: yanderong <307678080@qq.com>
Date: 星期四, 09 七月 2026 15:31:21 +0800
Subject: [PATCH] feat: 订单预付阶段空指针处理

---
 UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java |    6 +++---
 UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java              |    6 +++---
 UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java                                 |    1 +
 3 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
index 5150e0d..581ab6d 100644
--- a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
+++ b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -1514,6 +1514,7 @@
             }
             return ResultUtil.success();
         } catch (Exception e) {
+            log.error("订单完成支付订单操作,异常,接口:/api/taxi/payTaxiOrder1,错误信息:", e);
             e.printStackTrace();
             return ResultUtil.runErr();
         }
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 f411f68..a584289 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
@@ -2091,7 +2091,7 @@
 			if (prepaySettleResult != null) {
 				return prepaySettleResult;
 			}
-			if (orderPrivateCar.getPrepayStage() == 3){
+			if (Objects.nonNull(orderPrivateCar.getPrepayStage()) && orderPrivateCar.getPrepayStage() == 3){
 				orderMoney = orderMoney - orderPrivateCar.getEstimateAmount();
 			}
 		}
@@ -2315,7 +2315,7 @@
 				}
 				
 			}
-			if (userTaxiCard.getType() == 4) {//打折天数卡{"businessTypes":[1,2,3],"discount":5,"timeQuantum":["08:00:00 - 09:00:00","17:00:00 - 18:00:00"]}
+			if (Objects.nonNull(userTaxiCard.getType()) && userTaxiCard.getType() == 4) {//打折天数卡{"businessTypes":[1,2,3],"discount":5,"timeQuantum":["08:00:00 - 09:00:00","17:00:00 - 18:00:00"]}
 				Double discount = jsonObject.getDouble("discount");//折扣
 				JSONArray timeQuantum = jsonObject.getJSONArray("timeQuantum");//使用时间段
 				SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
@@ -2361,7 +2361,7 @@
 				orderMoney = v;
 			}
 		}
-		if (orderPrivateCar.getPrepayStage() == 3){
+		if (Objects.nonNull(orderPrivateCar.getPrepayStage()) && orderPrivateCar.getPrepayStage() == 3){
 			orderMoney = orderMoney - orderPrivateCar.getEstimateAmount();
 		}
 		orderMoney = new BigDecimal(orderMoney).setScale(2, RoundingMode.HALF_UP).doubleValue();
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 9a50851..4d8fc9a 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
@@ -1352,7 +1352,7 @@
 			return prepaySettleResult;
 		}
 //		orderMoney = getTaxiPrepayFinalPayAmount(orderTaxi, orderMoney);
-		if (orderTaxi.getPrepayStage() == 3){
+		if (Objects.nonNull(orderTaxi.getPrepayStage()) && orderTaxi.getPrepayStage() == 3){
 			orderMoney = orderMoney - orderTaxi.getEstimateAmount();
 		}
 		orderMoney = orderMoney < 0 ? 0 : orderMoney;
@@ -1610,7 +1610,7 @@
 				orderMoney = v;
 			}
 		}
-		if (orderTaxi.getPrepayStage() == 3){
+		if (Objects.nonNull(orderTaxi.getPrepayStage()) && orderTaxi.getPrepayStage() == 3){
 			orderMoney = orderMoney - orderTaxi.getEstimateAmount();
 		}
 		orderMoney = orderMoney < 0 ? 0 : orderMoney;
@@ -2244,7 +2244,7 @@
 		Double displayAmount = getTaxiPrepayDisplayPayAmount(orderTaxi, finalAmount);
 		map.put("orderMoney", finalAmount);
 		map.put("payMoney", displayAmount);
-		if (orderTaxi.getPrepayStage() == 3) {
+		if (Objects.nonNull(orderTaxi.getPrepayStage()) && orderTaxi.getPrepayStage() == 3) {
 			map.put("payMoney", new BigDecimal(finalAmount)
 					.subtract(new BigDecimal(orderTaxi.getEstimateAmount() != null ? orderTaxi.getEstimateAmount() : 0))
 					.setScale(2, RoundingMode.HALF_UP));

--
Gitblit v1.7.1