From 0a8d28436b2f7229ecdf40c6b003902002c8947f Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 16 十月 2025 17:37:08 +0800
Subject: [PATCH] 修改bug

---
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java |   49 ++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 36 insertions(+), 13 deletions(-)

diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
index 7172da0..d9d2673 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -48,6 +48,8 @@
 import java.math.MathContext;
 import java.math.RoundingMode;
 import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.ThreadPoolExecutor;
@@ -165,7 +167,8 @@
 
 	@Autowired
 	private TDriverPromotionActivityService driverPromotionActivityService;
-	
+	private CarMapper carMapper;
+
 	/**
 	 * 专车下单操作
 	 *
@@ -244,7 +247,15 @@
 						return ResultUtil.error("有未完成的订单");
 					}
 				}
-				
+				String serverCarModel = "";
+				if(2 == orderSource){
+					Driver driver = driverService.selectById(driverId);
+					CarService carService = new CarService();
+					carService.setType(1);
+					carService.setCarId(driver.getCarId());
+					CarService carService1 = carServiceMapper.selectOne(carService);
+					serverCarModel = "{\"serverCarModelId\":" + carService1.getServerCarModelId() + ",\"rideType\":1}";
+				}
 				
 				startAddress = startAddress.replaceAll("& #40;", "(");
 				startAddress = startAddress.replaceAll("& #41;", ")");
@@ -260,6 +271,7 @@
 				orderPrivateCar.setType(type);
 				orderPrivateCar.setUserId(uid);
 				orderPrivateCar.setServerCarModelId(serverCarModelId);
+				orderPrivateCar.setServerCarModel(serverCarModel);
 				orderPrivateCar.setOrderNum(this.getOrderNum());
 				orderPrivateCar.setPlacementLon(Double.valueOf(placementLon));
 				orderPrivateCar.setPlacementLat(Double.valueOf(placementLat));
@@ -553,6 +565,15 @@
 						return ResultUtil.error("有未完成的订单");
 					}
 				}
+
+				if(2 == orderSource){
+					Driver driver = driverService.selectById(driverId);
+					CarService carService = new CarService();
+					carService.setType(1);
+					carService.setCarId(driver.getCarId());
+					CarService carService1 = carServiceMapper.selectOne(carService);
+					serverCarModel = "{\"serverCarModelId\":" + carService1.getServerCarModelId() + ",\"rideType\":1}";
+				}
 				
 				startAddress = startAddress.replaceAll("& #40;", "(");
 				startAddress = startAddress.replaceAll("& #41;", ")");
@@ -561,7 +582,7 @@
 				if (ToolUtil.isEmpty(serverCarModel)) {
 					return ResultUtil.error("请选择服务车型");
 				}
-				
+
 				OrderPrivateCar orderPrivateCar = new OrderPrivateCar();
 				orderPrivateCar.setPeopleNum(peopleNum);
 				orderPrivateCar.setType(3);
@@ -1982,15 +2003,6 @@
 		if (orderPrivateCar.getState() != 7) {
 			return ResultUtil.error("订单不在待支付状态,不允许支付", new ArrayList<>());
 		}
-		//查询支付信息
-		GetPaymentInfoDataRequest getPaymentInfoDataRequest = new GetPaymentInfoDataRequest();
-		getPaymentInfoDataRequest.setPartnerPayId(orderPrivateCar.getTravelId());
-		GetPaymentInfo getPaymentInfo = OrderUtil.paymentInfo(getPaymentInfoDataRequest);
-		String status = getPaymentInfo.getStatus();
-		if("1".equals(status) || "2".equals(status)){
-			payOrderPrivateCarCallback(orderPrivateCar.getId(), getPaymentInfo.getPayId(), 1);
-			return ResultUtil.error("订单已完成支付,不允许重复支付", new ArrayList<>());
-		}
 
 		Integer uid = orderPrivateCar.getUserId();
 		Double orderMoney = (2 == orderPrivateCar.getAbnormal() && 2 == orderPrivateCar.getAbnormalStatus() ? orderPrivateCar.getResponsibilityMoney().doubleValue() : orderPrivateCar.getOrderMoney());
@@ -2225,6 +2237,7 @@
 					goodsInfoRequest.setProfitSharing("1");
 				}else{
 					goodsInfoRequest.setProfitSharing("0");
+					goodsInfoRequest.setSettleDate(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")));
 				}
 				goodsInfo.add(goodsInfoRequest);
 				tradeOrderCreateData.setGoodsInfo(goodsInfo);
@@ -2236,6 +2249,15 @@
 				orderPrivateCar.setIsCreated(1);
 				resultUtil = ResultUtil.success(payInfo.getData().getRedirectUrl());
 			}else{
+				//查询支付信息
+				GetPaymentInfoDataRequest getPaymentInfoDataRequest = new GetPaymentInfoDataRequest();
+				getPaymentInfoDataRequest.setPartnerPayId(orderPrivateCar.getTravelId());
+				GetPaymentInfo getPaymentInfo = OrderUtil.paymentInfo(getPaymentInfoDataRequest);
+				String status = getPaymentInfo.getStatus();
+				if("1".equals(status) || "2".equals(status)){
+					payOrderPrivateCarCallback(orderPrivateCar.getId(), getPaymentInfo.getPayId(), 1);
+					return ResultUtil.error("订单已完成支付,不允许重复支付", new ArrayList<>());
+				}
 				//拉起支付
 				TradePayOff1Data tradePayOff1Data = new TradePayOff1Data();
 				tradePayOff1Data.setPartnerPayId(orderPrivateCar.getTravelId());
@@ -2250,6 +2272,7 @@
 					goodsInfoRequest.setProfitSharing("1");
 				}else{
 					goodsInfoRequest.setProfitSharing("0");
+					goodsInfoRequest.setSettleDate(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")));
 				}
 				goodsInfo.add(goodsInfoRequest);
 				tradePayOff1Data.setGoodsInfo(goodsInfo);
@@ -2280,7 +2303,7 @@
 						request.setDriverId(driver.getEmpId().toString());
 						ListPage<List<TravelItinerary>> travelItineraryList = OrderUtil.getTravelItineraryList(request);
 						TravelItinerary travelItinerary = travelItineraryList.getList().get(0);
-						if(travelItinerary.getStatus() != 7 || travelItinerary.getOrderStatus() == 11){
+						if(travelItinerary.getStatus() != 7 || Arrays.asList(3, 11).contains(travelItinerary.getOrderStatus())){
 							GetPaymentInfoDataRequest getPaymentInfoDataRequest1 = new GetPaymentInfoDataRequest();
 							getPaymentInfoDataRequest1.setPartnerPayId(orderPrivateCar1.getTravelId());
 							GetPaymentInfo getPaymentInfo1 = OrderUtil.paymentInfo(getPaymentInfoDataRequest1);

--
Gitblit v1.7.1