From dc4972749d8dc399b02a548adfd12119fc8c2bcd Mon Sep 17 00:00:00 2001
From: longz <longzhaoz@qq.com>
Date: 星期一, 11 五月 2026 20:49:52 +0800
Subject: [PATCH] fix bugs

---
 UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/dao/mapping/OrderTaxiMapper.xml                     |    3 ++-
 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/system/warpper/OrderInfoWarpper.java                     |   14 +++++++++++++-
 UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/controller/OrderPrivateCarController.java   |   10 ++++++++++
 UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/controller/OrderTaxiController.java                 |    5 +++++
 UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java              |    2 ++
 UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml       |    3 ++-
 7 files changed, 38 insertions(+), 5 deletions(-)

diff --git a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/controller/OrderPrivateCarController.java b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/controller/OrderPrivateCarController.java
index 2e2e428..aa1a6ea 100644
--- a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/controller/OrderPrivateCarController.java
+++ b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/controller/OrderPrivateCarController.java
@@ -85,6 +85,11 @@
             if(null == uid){
                 return ResultUtil.tokenErr();
             }
+            if (travelTime.getTime() > (System.currentTimeMillis() + 600000)) {
+                orderType = 2;
+            }else {
+                orderType = 1;
+            }
             return orderPrivateCarService.saveOrderPrivateCar(serverCarModelId, travelTime, orderType, substitute, placementLon, placementLat,
                     startLon, startLat, startAddress, endLon, endLat, endAddress, passengers, passengersPhone, orderSource, driverId, type, uid,peopleNum,rideType);
         }catch (Exception e){
@@ -126,6 +131,11 @@
             if(null == uid){
                 return ResultUtil.tokenErr();
             }
+            if (travelTime.getTime() > (System.currentTimeMillis() + 600000)) {
+                orderType = 2;
+            }else {
+                orderType = 1;
+            }
             return orderPrivateCarService.saveOrderPrivateCars(serverCarModel, travelTime, orderType, substitute, placementLon, placementLat,
                     startLon, startLat, startAddress, endLon, endLat, endAddress, passengers, passengersPhone, orderSource, driverId, uid,peopleNum);
         }catch (Exception e){
diff --git a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml
index fbbfc61..c5eb321 100644
--- a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml
+++ b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml
@@ -396,7 +396,8 @@
         a.paymentMode,
         a.estimateAmount,
         a.serverCarModel,
-        a.cancelType
+        a.cancelType,
+        a.prepayStage
         from t_order_private_car a
 		left join t_driver b on (a.driverId = b.id)
 		left join t_car c on (a.carId = c.id)
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 f64e43b..c869896 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
@@ -2903,7 +2903,7 @@
 			orderPrivateCar.setPrepayRefundTime(new Date());
 			this.updateById(orderPrivateCar);
 			systemNoticeService.addSystemNotice(1, "您的快车余额先付订单已取消,退款已退回账户余额,请注意查收。", orderPrivateCar.getUserId(), 1);
-		} else {
+		} else if (Integer.valueOf(1).equals(orderPrivateCar.getPayType())){
 			String outRequestNo = orderPrivateCar.getPrepaySecondPayNo();
 			if (ToolUtil.isEmpty(outRequestNo)) {
 				throw new RuntimeException("微信先付订单缺少支付单号,无法关闭支付单");
@@ -3054,6 +3054,7 @@
 	private void handlePrivateCarPrepayFirstPaid(OrderPrivateCar orderPrivateCar, UserInfo userInfo, Double payAmount, Integer payType) throws Exception {
 		OpenCity openCity = openCityService.openCity1(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString());
 		SysIntegral query1 = sysIntegralMapper.query(openCity.getId());
+		System.out.println("快车预付回调-------057,"+query1);
 		if (null != query1) {
 			userInfo.setIntegral(userInfo.getIntegral() + (payAmount.intValue() * query1.getIntegral()));
 		}
@@ -3081,12 +3082,13 @@
 		if (query == null) {
 			query = paymentRecordService.query(1, orderPrivateCar.getUserId(), 1, Integer.valueOf(id), 1, type, 1);
 		}
+		System.out.println("快车预付回调-------084,"+query);
 		if (null != query && query.getState() == 1) {
 			UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId());
 			query.setState(2);
 			query.setCode(order_id);
 			paymentRecordService.updateById(query);
-
+			System.out.println("快车预付回调-------090");
 			if (isPrivateCarPrepayFirstStage(orderPrivateCar)) {
 				orderPrivateCar.setPrepaySecondPayNo(outTradeNo);
 				handlePrivateCarPrepayFirstPaid(orderPrivateCar, userInfo, query.getAmount(), type);
diff --git a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderInfoWarpper.java b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderInfoWarpper.java
index 7c5b29c..f6768b1 100644
--- a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderInfoWarpper.java
+++ b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderInfoWarpper.java
@@ -209,7 +209,18 @@
 
     @ApiModelProperty("取消类型1可以取消 2不可取消")
     private Integer cancelType;
+    /**
+     * 预支付阶段(0=非预支付,1=待首付,2=已首付待结算,3=待补差,4=待退款,5=结算完成)
+     */
+    private Integer prepayStage;
 
+    public Integer getPrepayStage() {
+        return prepayStage;
+    }
+
+    public void setPrepayStage(Integer prepayStage) {
+        this.prepayStage = prepayStage;
+    }
 
     public Integer getCancelType() {
         return cancelType;
@@ -1141,7 +1152,8 @@
             orderInfoWarpper.setPaymentMode(null != map.get("paymentMode") ? Integer.valueOf(map.get("paymentMode").toString()) : null);
             orderInfoWarpper.setOrderAdditionalFeeWarpper(list);
             orderInfoWarpper.setCancelType(null != map.get("cancelType") ? Integer.valueOf(map.get("cancelType").toString()) : 1);
-            orderInfoWarpper.setOrderMoney(null != map.get("estimateAmount") ? Double.valueOf(String.valueOf(map.get("estimateAmount"))) : 0);
+            orderInfoWarpper.setEstimateAmount(null != map.get("estimateAmount") ? Double.valueOf(String.valueOf(map.get("estimateAmount"))) : 0);
+            orderInfoWarpper.setPrepayStage(null != map.get("prepayStage") ? Integer.valueOf(String.valueOf(map.get("prepayStage"))) : 0);
         }
         return orderInfoWarpper;
     }
diff --git a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/controller/OrderTaxiController.java b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/controller/OrderTaxiController.java
index 28e5eb2..4cceb0c 100644
--- a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/controller/OrderTaxiController.java
+++ b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/controller/OrderTaxiController.java
@@ -52,6 +52,11 @@
             if(null == uid){
                 return ResultUtil.tokenErr();
             }
+            if (orderTaxiWarpper.getTravelTime().getTime() > (System.currentTimeMillis() + 600000)) {
+                orderTaxiWarpper.setOrderType(2);
+            }else {
+                orderTaxiWarpper.setOrderType(1);
+            }
             return orderTaxiService.taxiOrder(orderTaxi, uid);
         }catch (Exception e){
             e.printStackTrace();
diff --git a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/dao/mapping/OrderTaxiMapper.xml b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/dao/mapping/OrderTaxiMapper.xml
index c9829c3..c8c8b7f 100644
--- a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/dao/mapping/OrderTaxiMapper.xml
+++ b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/dao/mapping/OrderTaxiMapper.xml
@@ -272,7 +272,8 @@
         0 as appealButton,
         a.paymentMode,
         a.estimateAmount,
-        a.cancelType
+        a.cancelType,
+        a.prepayStage
         from t_order_taxi a
 		left join t_driver b on (a.driverId = b.id)
 		left join t_car c on (a.carId = c.id)
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 dba3019..d29cb03 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
@@ -1343,6 +1343,8 @@
 				orderMoney = v;
 			}
 		}
+		orderMoney = orderMoney < 0 ? 0 : orderMoney;
+		orderMoney = new BigDecimal(orderMoney).setScale(2, RoundingMode.HALF_UP).doubleValue();
 		
 		ResultUtil prepaySettleResult = settleTaxiPrepayIfNoSecondPay(orderTaxi, userInfo, orderMoney);
 		if (prepaySettleResult != null) {

--
Gitblit v1.7.1