From 2c5957854caea8b0fc0f7c957a946979e2e5554a Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 05 九月 2025 18:05:50 +0800
Subject: [PATCH] 修改bug

---
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java |   53 +++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 39 insertions(+), 14 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 47cd81d..7172da0 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
@@ -1847,7 +1847,7 @@
 			return ResultUtil.error("订单不在待支付状态,不允许支付", "");
 		}
 		Integer uid = orderPrivateCar.getUserId();
-		Double orderMoney = orderPrivateCar.getOrderMoney();
+		Double orderMoney = (2 == orderPrivateCar.getAbnormal() && 2 == orderPrivateCar.getAbnormalStatus() ? orderPrivateCar.getResponsibilityMoney().doubleValue() : orderPrivateCar.getOrderMoney());
 		UserInfo userInfo = userInfoService.selectById(uid);
 		ResultUtil resultUtil = ResultUtil.success(new Object());
 		orderPrivateCar.setCouponMoney(0D);//初始化历史数据
@@ -1942,7 +1942,7 @@
 			//非追缴单才需要添加收入
 			if(0 == orderPrivateCar.getRecoveryOrder()){
 				//添加收入
-				Double orderMoney1 = (1 == orderPrivateCar.getAbnormal() ? orderPrivateCar.getOrderMoney() : orderPrivateCar.getResponsibilityMoney().doubleValue());
+				Double orderMoney1 = (2 == orderPrivateCar.getAbnormal() && 2 == orderPrivateCar.getAbnormalStatus() ? orderPrivateCar.getResponsibilityMoney().doubleValue() : orderPrivateCar.getOrderMoney());
 				Map<String, Object> map = incomeService.saveIncome(orderPrivateCar.getId(), 1, orderMoney1);
 				orderPrivateCar.setSplitAllocation(JSON.toJSONString(map));
 			}
@@ -1982,8 +1982,18 @@
 		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 = (1 == orderPrivateCar.getAbnormal() ? orderPrivateCar.getOrderMoney() : orderPrivateCar.getResponsibilityMoney().doubleValue());
+		Double orderMoney = (2 == orderPrivateCar.getAbnormal() && 2 == orderPrivateCar.getAbnormalStatus() ? orderPrivateCar.getResponsibilityMoney().doubleValue() : orderPrivateCar.getOrderMoney());
 		UserInfo userInfo = userInfoService.selectById(uid);
 		ResultUtil resultUtil = ResultUtil.success(new Object());
 		orderPrivateCar.setCouponMoney(0D);//初始化历史数据
@@ -2194,9 +2204,9 @@
 				tradeOrderCreateData.setTreatShopId(driver.getEmpId().toString());
 				//追缴单不要分账
 				if(0 == orderPrivateCar.getRecoveryOrder()){
-					tradeOrderCreateData.setField1("{\"profitSharing\":\"1\",\"isPromote\":\"" + (orderPrivateCar.getPromotion() == 2 ? 1 : 0) + "\"}");
+					tradeOrderCreateData.setField1("{\"profitSharing\":\"1\",\"isCompensate\":\"0\",\"isPromote\":\"" + (orderPrivateCar.getPromotion() == 2 ? 1 : 0) + "\"}");
 				}else{
-					tradeOrderCreateData.setField1("{\"profitSharing\":\"0\",\"isPromote\":\"0\"}");
+					tradeOrderCreateData.setField1("{\"profitSharing\":\"0\",\"isCompensate\":\"1\",\"isPromote\":\"0\"}");
 				}
 				tradeOrderCreateData.setCharge(new BigDecimal(orderMoney));
 				tradeOrderCreateData.setOrderId(orderPrivateCar.getTravelId());
@@ -2271,10 +2281,10 @@
 						ListPage<List<TravelItinerary>> travelItineraryList = OrderUtil.getTravelItineraryList(request);
 						TravelItinerary travelItinerary = travelItineraryList.getList().get(0);
 						if(travelItinerary.getStatus() != 7 || travelItinerary.getOrderStatus() == 11){
-							GetPaymentInfoDataRequest getPaymentInfoDataRequest = new GetPaymentInfoDataRequest();
-							getPaymentInfoDataRequest.setPartnerPayId(orderPrivateCar1.getTravelId());
-							GetPaymentInfo getPaymentInfo = OrderUtil.paymentInfo(getPaymentInfoDataRequest);
-							payOrderPrivateCarCallback(orderPrivateCar1.getId(), getPaymentInfo.getPayId(), 1);
+							GetPaymentInfoDataRequest getPaymentInfoDataRequest1 = new GetPaymentInfoDataRequest();
+							getPaymentInfoDataRequest1.setPartnerPayId(orderPrivateCar1.getTravelId());
+							GetPaymentInfo getPaymentInfo1 = OrderUtil.paymentInfo(getPaymentInfoDataRequest1);
+							payOrderPrivateCarCallback(orderPrivateCar1.getId(), getPaymentInfo1.getPayId(), 1);
 							break;
 						}
 						Thread.sleep(wait);
@@ -2335,12 +2345,18 @@
 			//非追缴单才添加收入记录
 			if(0 == orderPrivateCar.getRecoveryOrder()){
 				//添加收入
-				Double orderMoney1 = (1 == orderPrivateCar.getAbnormal() ? orderPrivateCar.getOrderMoney() : orderPrivateCar.getResponsibilityMoney().doubleValue());
+				Double orderMoney1 = (2 == orderPrivateCar.getAbnormal() && 2 == orderPrivateCar.getAbnormalStatus() ? orderPrivateCar.getResponsibilityMoney().doubleValue() : orderPrivateCar.getOrderMoney());
 				Map<String, Object> map = incomeService.saveIncome(orderPrivateCar.getId(), 1, orderMoney1);
 				orderPrivateCar.setSplitAllocation(JSON.toJSONString(map));
 			}
 
-
+			//待审核的异常单修改状态为已关闭
+			if(2 == orderPrivateCar.getAbnormal() && 1 == orderPrivateCar.getAbnormalStatus()){
+				orderPrivateCar.setAbnormalStatus(3);
+				orderPrivateCar.setResponsibilityMoney(new BigDecimal(orderPrivateCar.getOrderMoney()));
+				orderPrivateCar.setResponsibilityType(3);
+				orderPrivateCar.setAbnormalRemark("乘客已支付订单,申诉已自动关闭");
+			}
 			this.updateAllColumnById(orderPrivateCar);
 			promotion(orderPrivateCar.getId());
 
@@ -2551,8 +2567,10 @@
 			UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId());
 			OpenCity openCity = openCityService.openCity1(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString());
 			SysIntegral query1 = sysIntegralMapper.query(openCity.getId());
-			userInfo.setIntegral(userInfo.getIntegral() + (query.getAmount().intValue() * query1.getIntegral()));//积分
-			userInfoService.updateById(userInfo);
+			if(null != query1){
+				userInfo.setIntegral(userInfo.getIntegral() + (query.getAmount().intValue() * query1.getIntegral()));//积分
+				userInfoService.updateById(userInfo);
+			}
 			
 			//处理优惠券和红包
 			if (null != orderPrivateCar.getCouponId()) {
@@ -2585,10 +2603,17 @@
 			//非追缴单才需要记录收入
 			if(0 == orderPrivateCar.getRecoveryOrder()){
 				//添加收入
-				Double orderMoney = (1 == orderPrivateCar.getAbnormal() ? orderPrivateCar.getOrderMoney() : orderPrivateCar.getResponsibilityMoney().doubleValue());
+				Double orderMoney = (2 == orderPrivateCar.getAbnormal() && 2 == orderPrivateCar.getAbnormalStatus() ? orderPrivateCar.getResponsibilityMoney().doubleValue() : orderPrivateCar.getOrderMoney());
 				Map<String, Object> map = incomeService.saveIncome(orderPrivateCar.getId(), 1, orderMoney);
 				orderPrivateCar.setSplitAllocation(JSON.toJSONString(map));
 			}
+			//待审核的异常单修改状态为已关闭
+			if(2 == orderPrivateCar.getAbnormal() && 1 == orderPrivateCar.getAbnormalStatus()){
+				orderPrivateCar.setAbnormalStatus(3);
+				orderPrivateCar.setResponsibilityMoney(new BigDecimal(orderPrivateCar.getOrderMoney()));
+				orderPrivateCar.setResponsibilityType(3);
+				orderPrivateCar.setAbnormalRemark("乘客已支付订单,申诉已自动关闭");
+			}
 			this.updateById(orderPrivateCar);
 			promotion(orderPrivateCar.getId());
 			

--
Gitblit v1.7.1