From 574cd41b6e4aa65426c7597297aa94f6259d6666 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 21 八月 2025 18:57:26 +0800
Subject: [PATCH] 修改bug

---
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java |  117 +++++++++++++++++++---------------------------------------
 1 files changed, 39 insertions(+), 78 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 55e8e32..d34c2b8 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
@@ -638,14 +638,13 @@
 					} else {
 						OrderPrivateCar orderPrivateCar1 = null;
 						OpenCity openCity = openCityService.openCity1(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString());
+						TbSpellOrderRule spellOrderRule = spellOrderRuleService.selectOne(new EntityWrapper<TbSpellOrderRule>().eq("openCityId", openCity.getId()));
 						//判断是否有相同线路的拼车-有直接拼成功,或者推送拼车订单
 						List<OrderPrivateCar> orderList = orderPrivateCarMapper.selectList(new EntityWrapper<OrderPrivateCar>().eq("rideType", 3).in("state", "2,3,4").le("totalPeopleNum", 4 - peopleNum));
 						for (OrderPrivateCar order : orderList) {
-							TbSpellOrderRule spellOrderRule = spellOrderRuleService.selectOne(new EntityWrapper<TbSpellOrderRule>().eq("openCityId", openCity.getId()));
 							if (spellOrderRule != null) {
 								JSONObject jsonObject = JSONObject.parseObject(spellOrderRule.getContent());
 								//判断时间
-								
 								if (travelTime.getTime() >= order.getTravelTime().getTime() - jsonObject.getInteger("num5") * 60000L && travelTime.getTime() <= order.getTravelTime().getTime() + jsonObject.getInteger("num6") * 60000L) {
 									//                        Double dis1 = Double.valueOf(gdMapElectricFenceUtil.getDistance(orderPrivateCar.getStartLon() + "," + orderPrivateCar.getStartLat(), order.getStartLon() + "," + order.getStartLat(), 1).get("distance").toString());
 									//                        Double dis2 = Double.valueOf(gdMapElectricFenceUtil.getDistance(orderPrivateCar.getEndLon() + "," + orderPrivateCar.getEndLat(), order.getEndLon() + "," + order.getEndLat(), 1).get("distance").toString());
@@ -663,7 +662,6 @@
 						if (orderPrivateCar1 == null) {
 							orderList = orderPrivateCarMapper.selectList(new EntityWrapper<OrderPrivateCar>().eq("rideType", 3).eq("state", 5).le("totalPeopleNum", 4 - peopleNum));
 							for (OrderPrivateCar order : orderList) {
-								TbSpellOrderRule spellOrderRule = spellOrderRuleService.selectOne(new EntityWrapper<TbSpellOrderRule>().eq("openCityId", openCity.getId()));
 								if (spellOrderRule != null) {
 									JSONObject jsonObject = JSONObject.parseObject(spellOrderRule.getContent());
 									//判断时间
@@ -703,6 +701,15 @@
 							orderPrivateCar.setIsDelete(1);
 							orderPrivateCar.setPid(orderPrivateCar1.getPid() == null ? orderPrivateCar1.getId() : orderPrivateCar1.getPid());
 
+							Integer promotion1 = isPromotion(orderPrivateCar.getUserId());
+							if(promotion1!=null){
+								orderPrivateCar.setPromotion(2);
+								Driver driver1 = driverService.selectById(promotion);
+								orderPrivateCar.setPromotionUser(driver1.getName());
+								orderPrivateCar.setPromotionPhone(driver1.getPhone());
+								orderPrivateCar.setPromotionDriverId(promotion1);
+							}
+
 							Company company = companyService.selectById(driver.getCompanyId());
 							//调三方订单中心创建行程单
 							CreateTravelItineraryRequest request = new CreateTravelItineraryRequest();
@@ -717,8 +724,8 @@
 							request.setServiceType(2);
 							String travelItinerary = OrderUtil.createTravelItinerary(request);
 							orderPrivateCar.setTravelId(travelItinerary);
-
 							this.insertOrUpdate(orderPrivateCar);
+
 							//修改总订单人数
 							OrderPrivateCar orderPrivateCar2 = new OrderPrivateCar();
 							orderPrivateCar2.setSpellSuccess(1);
@@ -771,7 +778,7 @@
 		UserInfo userInfo = userInfoService.selectById(userId);
 		if(userInfo.getBindDriverId()!=null && userInfo.getBindExpireDate().getTime()<=System.currentTimeMillis()){
 			String registAreaCode = userInfo.getRegistAreaCode();
-			TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>().eq("districtCode", registAreaCode).eq("state",1).ge("startTime", new Date()).lt("endTime", new Date()).last("AND FIND_IN_SET(" + 1 + ", bizType) limit 1"));
+			TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>().eq("districtCode", registAreaCode).eq("state",1).le("startTime", new Date()).ge("endTime", new Date()).last("AND FIND_IN_SET(" + 1 + ", bizType) limit 1"));
 			if(tDriverPromotionActivity!=null){
 				return userInfo.getBindDriverId();
 			}
@@ -966,7 +973,7 @@
 //            return ResultUtil.error("司机已到达预约点,取消会产生一定的费用");
 //        }
 		if (orderPrivateCar.getState() >= 5 && orderPrivateCar.getState() != 11) {
-			return ResultUtil.error("取消订单失败,不合法的操作");
+			return ResultUtil.error("订单已取消,请刷新页面");
 		}
 		Integer number1 = this.selectCount(new EntityWrapper<OrderPrivateCar>().eq("pid", orderPrivateCar.getPid() == null ? orderPrivateCar.getId() : orderPrivateCar.getPid()).lt("state", 6));
 		Integer number2 = this.selectCount(new EntityWrapper<OrderPrivateCar>().eq("id", orderPrivateCar.getPid() == null ? orderPrivateCar.getId() : orderPrivateCar.getPid()).lt("state", 6));
@@ -991,73 +998,17 @@
 					orderCancelService.saveData(orderPrivateCar1.getId(), 1, "无司机接单", "无司机接单", null, null, 2, 1, uid);
 					orderPrivateCar1.setState(10);
 					this.updateById(orderPrivateCar1);
-					
-					Driver driver1 = null;
-					Company company = null;
-					//中台修改订单状态
-					ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
-					request.setOrderId(orderPrivateCar1.getTravelId());
-					request.setStatus(orderPrivateCar1.getState());
-					if (null != orderPrivateCar1.getDriverId()) {
-						driver1 = driverService.selectById(orderPrivateCar1.getDriverId());
-						company = companyService.selectById(driver1.getCompanyId());
-						request.setDriverId(driver1.getEmpId().toString());
-						request.setSupplierShopId(company.getEnterCode());
-					}
-					if (2 == orderPrivateCar1.getPromotion()) {
-						Driver driver2 = driverService.selectById(orderPrivateCar1.getPromotionDriverId());
-						request.setPromoterId(driver2.getEmpId().toString());
-					}
-					OrderUtil.modifyTravelItinerary(request);
 				}
 				List<OrderTaxi> list1 = orderTaxiService.selectList(new EntityWrapper<OrderTaxi>().eq("type", 2).eq("crossCityOrderId", orderPrivateCar.getCrossCityOrderId()).eq("place", orderPrivateCar.getPlace()));
 				for (OrderTaxi orderTaxi : list1) {
 					orderCancelService.saveData(orderTaxi.getId(), 2, "无司机接单", "无司机接单", null, null, 2, 1, uid);
 					orderTaxi.setState(10);
 					orderTaxiService.updateById(orderTaxi);
-					
-					Driver driver1 = null;
-					Company company = null;
-					//中台修改订单状态
-					ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
-					request.setOrderId(orderTaxi.getTravelId());
-					request.setStatus(orderTaxi.getState());
-					if (null != orderTaxi.getDriverId()) {
-						driver1 = driverService.selectById(orderTaxi.getDriverId());
-						company = companyService.selectById(driver1.getCompanyId());
-						request.setDriverId(driver1.getEmpId().toString());
-						request.setSupplierShopId(company.getEnterCode());
-					}
-					if (2 == orderTaxi.getPromotion()) {
-						Driver driver2 = driverService.selectById(orderTaxi.getPromotionDriverId());
-						request.setPromoterId(driver2.getEmpId().toString());
-					}
-					OrderUtil.modifyTravelItinerary(request);
 				}
 			} else {
 				integer = orderCancelService.saveData(id, 1, "无司机接单", "无司机接单", null, null, 2, 1, uid);
 				orderPrivateCar.setState(10);
 				this.updateById(orderPrivateCar);
-				
-				Driver driver1 = null;
-				Company company = null;
-				//中台修改订单状态
-				ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
-				request.setOrderId(orderPrivateCar.getTravelId());
-				request.setStatus(orderPrivateCar.getState());
-				if (null != orderPrivateCar.getDriverId()) {
-					driver1 = driverService.selectById(orderPrivateCar.getDriverId());
-					company = companyService.selectById(driver1.getCompanyId());
-					request.setDriverId(driver1.getEmpId().toString());
-					request.setSupplierShopId(company.getEnterCode());
-				}
-				if (2 == orderPrivateCar.getPromotion()) {
-					Driver driver2 = driverService.selectById(orderPrivateCar.getPromotionDriverId());
-					request.setPromoterId(driver2.getEmpId().toString());
-				}
-				if(orderPrivateCar.getTravelId()!=null){
-					OrderUtil.modifyTravelItinerary(request);
-				}
 			}
 		} else {
 			OpenCity openCity = openCityService.openCity1(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString());
@@ -1154,7 +1105,7 @@
 			return ResultUtil.error("取消订单失败,订单信息有误", "");
 		}
 		if (orderPrivateCar.getState() != 12) {
-			return ResultUtil.error("取消订单失败,不合法的操作", "");
+			return ResultUtil.error("订单已取消,请刷新页面", "");
 		}
 		OrderCancel orderCancel = null;
 		if (null == cancleId) {
@@ -1270,14 +1221,10 @@
 		if(Integer.valueOf(String.valueOf(map.get("state"))) == 11){
 			map.put("state", map.get("oldState"));
 		}
-		if(Integer.valueOf(String.valueOf(map.get("state"))) ==7 &&  (map.get("responsibilityType")==null || Integer.valueOf(String.valueOf(map.get("responsibilityType")))<4)){
-			map.put("appealButton", 1);
-		}
 		if(map.get("abnormalIntro")!=null){
 			map.put("appealStatus", 1);
 		}
-		
-		
+
 		if(Integer.valueOf(String.valueOf(map.get("state"))) != 8 && Integer.valueOf(String.valueOf(map.get("state"))) != 9){
 			map.put("redPacketMoney", null);
 			map.put("couponMoney", null);
@@ -2192,6 +2139,7 @@
 		orderMoney = new BigDecimal(orderMoney).setScale(2, RoundingMode.HALF_UP).doubleValue();
 		System.out.println("!!!" + orderMoney + "!!!!");
 		orderMoney = orderMoney < 0 ? 0 : orderMoney;
+		orderPrivateCar.setPayMoney(orderMoney);
 		if (payType == 1) {//微信支付
 			if (orderMoney == 0) {
 				return ResultUtil.error("请使用余额支付");
@@ -2327,7 +2275,6 @@
 			
 			orderPrivateCar.setState(8);
 			orderPrivateCar.setPayType(3);
-			orderPrivateCar.setPayMoney(orderMoney);
 			
 			//处理优惠券和红包
 			if (null != userCouponRecord) {
@@ -2349,6 +2296,8 @@
 			Map<String, Object> map = incomeService.saveIncome(orderPrivateCar.getId(), 1, orderPrivateCar.getOrderMoney());
 			orderPrivateCar.setSplitAllocation(JSON.toJSONString(map));
 
+
+			this.updateAllColumnById(orderPrivateCar);
 			promotion(orderPrivateCar.getId());
 
 
@@ -2379,8 +2328,12 @@
 			resultUtil = appOrderController.placeAnOrder(new BigDecimal(orderMoney), 4, orderId, 6, integer);
 			
 		}
-		
-		this.updateAllColumnById(orderPrivateCar);
+
+		if(payType != 3){
+			this.updateAllColumnById(orderPrivateCar);
+		}
+
+
 		return resultUtil;
 	}
 	
@@ -2662,7 +2615,7 @@
 				OpenCity openCity = openCityService.openCity1(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString());
 				List<PushOrder> querys = pushOrderService.querys(null, 2, openCity.getId());//获取需要推送的次数
 				int time = 0;
-				for (int i = 1; i <= querys.size() + 5; i++) {
+				for (int i = 1; i <= querys.size() + 15; i++) {
 					int finalI = i;
 					PushOrder pushOrder = querys.stream().filter(s -> s.getType() == (finalI <= 3 ? finalI : 3)).findFirst().orElse(null);
 					time += pushOrder.getPushTime() * 1000;
@@ -2826,7 +2779,7 @@
 					OpenCity openCity = openCityService.openCity1(startLon.toString(), startLat.toString());
 					List<PushOrder> querys = pushOrderService.querys(null, 1, openCity.getId());//获取需要推送的次数
 					//整轮派单结束,若无司机接单,系统自动增加派单5轮,若增加5轮后任无司机接单,则系统结束派单,乘客端显示无司机接单、是否再次打车
-					for (int i = 1; i <= querys.size() + 5; i++) {
+					for (int i = 1; i <= querys.size() + 15; i++) {
 						OrderPrivateCar orderPrivateCar = orderPrivateCarMapper.selectById(id);
 						if (null == orderPrivateCar || orderPrivateCar.getState() > 1) {
 							break;
@@ -2859,12 +2812,15 @@
 							}
 						}
 						Thread.sleep(pushOrder.getPushTime() * 1000);//设置等待时间
-						Integer state = orderPrivateCarMapper.selectById(orderPrivateCar.getId()).getState();
+						OrderPrivateCar orderPrivateCar1 = orderPrivateCarMapper.selectById(orderPrivateCar.getId());
+						Integer state =orderPrivateCar1.getState();
 						if (state > 1) {
 							orderIds.remove(orderPrivateCar.getId());
 							break;
 						}
-						if (i == querys.size() + 5) {
+						if (i == querys.size() + 15) {
+							orderPrivateCar1.setState(10);
+							orderPrivateCarMapper.updateById(orderPrivateCar1);
 							pushUtil.pushEndPush(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1);
 							orderIds.remove(orderPrivateCar.getId());
 						}
@@ -2897,7 +2853,7 @@
 					}
 					OpenCity openCity = openCityService.openCity1(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString());
 					List<PushOrder> querys = pushOrderService.querys(null, 1, openCity.getId());//获取需要推送的次数
-					for (int i = 1; i <= querys.size() + 5; i++) {
+					for (int i = 1; i <= querys.size() + 15; i++) {
 						OrderPrivateCar orderPrivateCar = orderPrivateCarMapper.selectById(id);
 						if (null == orderPrivateCar || orderPrivateCar.getState() > 1) {
 							break;
@@ -2940,7 +2896,7 @@
 								orderIds.remove(orderPrivateCar.getId());
 								return;
 							}
-							if (i == querys.size() + 5 && state == 1) {
+							if (i == querys.size() + 15 && state == 1) {
 								pushUtil.pushEndPush(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1);
 								orderIds.remove(orderPrivateCar.getId());
 							}
@@ -2975,15 +2931,20 @@
 		UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId());
 //		if(userInfo.getBindDriverId()!=null && userInfo.getBindExpireDate().getTime()<=System.currentTimeMillis()){
 		// 开始绑定的  后面到期也结算
+		System.out.println("eeeee+"+orderPrivateCar.getPromotionDriverId());
 		if(orderPrivateCar.getPromotionDriverId()!=null ){
 			String registAreaCode = userInfo.getRegistAreaCode();
-			TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>().eq("districtCode", registAreaCode).ge("startTime", new Date()).lt("endTime", new Date()).last("AND FIND_IN_SET(" + 1 + ", bizType) limit 1"));
+			TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>().eq("districtCode", registAreaCode).le("startTime", new Date()).ge("endTime", new Date()).last("AND FIND_IN_SET(" + 1 + ", bizType) limit 1"));
+			System.out.println("ddddd"+tDriverPromotionActivity);
 			if(tDriverPromotionActivity!=null){
 				Double payMoney = orderPrivateCar.getPayMoney();
+				System.out.println(payMoney);
 				BigDecimal bigDecimal = tDriverPromotionActivity.getCommissionRatio().divide(new BigDecimal(100), 2, RoundingMode.HALF_UP).multiply(new BigDecimal(payMoney)).setScale(2, RoundingMode.HALF_UP);
+				System.out.println(bigDecimal);
 				orderPrivateCar.setPromotionDriverId(userInfo.getBindDriverId());
 				orderPrivateCar.setPromotionMoney(bigDecimal);
 				orderPrivateCar.setPromotionActivityId(tDriverPromotionActivity.getId());
+				orderPrivateCar.setSuccessTime(new Date());
 				this.baseMapper.updateById(orderPrivateCar);
 			}
 		}

--
Gitblit v1.7.1