From 1c40baaf9ca0183945b9881d11ceed5aeebc8290 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 23 十月 2025 11:35:44 +0800
Subject: [PATCH] 修改bug
---
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java | 84 +++++++++++++++++++++++++++++++++---------
1 files changed, 66 insertions(+), 18 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..1ed8aa6 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);
@@ -1847,7 +1868,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 +1963,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 +2003,9 @@
if (orderPrivateCar.getState() != 7) {
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 +2216,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());
@@ -2215,6 +2237,7 @@
goodsInfoRequest.setProfitSharing("1");
}else{
goodsInfoRequest.setProfitSharing("0");
+ goodsInfoRequest.setSettleDate(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")));
}
goodsInfo.add(goodsInfoRequest);
tradeOrderCreateData.setGoodsInfo(goodsInfo);
@@ -2226,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());
@@ -2240,6 +2272,7 @@
goodsInfoRequest.setProfitSharing("1");
}else{
goodsInfoRequest.setProfitSharing("0");
+ goodsInfoRequest.setSettleDate(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")));
}
goodsInfo.add(goodsInfoRequest);
tradePayOff1Data.setGoodsInfo(goodsInfo);
@@ -2270,11 +2303,11 @@
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){
- GetPaymentInfoDataRequest getPaymentInfoDataRequest = new GetPaymentInfoDataRequest();
- getPaymentInfoDataRequest.setPartnerPayId(orderPrivateCar1.getTravelId());
- GetPaymentInfo getPaymentInfo = OrderUtil.paymentInfo(getPaymentInfoDataRequest);
- payOrderPrivateCarCallback(orderPrivateCar1.getId(), getPaymentInfo.getPayId(), 1);
+ if(travelItinerary.getStatus() != 7 || Arrays.asList(3, 11).contains(travelItinerary.getOrderStatus())){
+ 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 +2368,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 +2590,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 +2626,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